From: Petr Uzel Subject: parted: dos: Wipe boot code only on x86 Patch-mainline: no, custom SUSE patch --- libparted/labels/dos.c | 7 +++++++ 1 file changed, 7 insertions(+) Index: parted-3.3/libparted/labels/dos.c =================================================================== --- parted-3.3.orig/libparted/labels/dos.c +++ parted-3.3/libparted/labels/dos.c @@ -1287,6 +1287,12 @@ msdos_write (const PedDisk* disk) return 0; DosRawTable *table = (DosRawTable *) s0; +/* + * Some ARM devices, such as the OMAP3 series, have a buggy boot rom that + * simply goes into nirvana if it finds non-0 in the first 4 bytes of the SD + * card. + */ +#if defined(__x86_64__) || defined(__i386__) /* either no bootrecord at all, or AIX IPL signature ... */ if ( (!table->boot_code[0]) || ( table->boot_code[0] == (char) 0xc9 && @@ -1297,6 +1303,7 @@ msdos_write (const PedDisk* disk) memset (table, 0, 512); memcpy (table->boot_code, MBR_BOOT_CODE, sizeof (MBR_BOOT_CODE)); } +#endif /* If there is no unique identifier, generate a random one */ if (!table->mbr_signature)