commit 1890e0781d4e210c6076568a81899ed598319249 Author: Yves Blusseau Date: Tue Jul 7 10:04:33 2009 +0200 Extend the BPB for compatibility with FAT32 volume boot partition diff --git a/ChangeLog b/ChangeLog index ed6b637..d52de45 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2009-07-07 Yves BLUSSEAU + + * include/grub/boot.h (GRUB_BOOT_VERSION_MINOR): + change the GRUB_BOOT_VERSION from 4.0 to 4.1 + + * boot/i386/pc/boot.S: Change hd_probe_error_string from + "Hard Drive" to "HD" to gain 2 extra bytes + + * include/grub/i386/pc/boot.h: Change the offsets to extend + the BPB for compatibility with FAT32 volume boot partitions + 2009-07-06 Pavel Roskin * commands/search.c (search_fs): Fix potential NULL pointer diff --git a/boot/i386/pc/boot.S b/boot/i386/pc/boot.S index 8d8c27c..d43aec6 100644 --- a/boot/i386/pc/boot.S +++ b/boot/i386/pc/boot.S @@ -434,11 +434,11 @@ general_error: int $0x18 stop: jmp stop -notification_string: .asciz "GRUB " -geometry_error_string: .asciz "Geom" -hd_probe_error_string: .asciz "Hard Disk" -read_error_string: .asciz "Read" -general_error_string: .asciz " Error" +notification_string: .asciz "GRUB " +geometry_error_string: .asciz "Geom" +hd_probe_error_string: .asciz "HD" +read_error_string: .asciz "Read" +general_error_string: .asciz " Error" /* * message: write the string pointed to by %si diff --git a/include/grub/boot.h b/include/grub/boot.h index 2357748..43cd3a5 100644 --- a/include/grub/boot.h +++ b/include/grub/boot.h @@ -20,7 +20,7 @@ #define GRUB_BOOT_HEADER 1 #define GRUB_BOOT_VERSION_MAJOR 4 -#define GRUB_BOOT_VERSION_MINOR 0 +#define GRUB_BOOT_VERSION_MINOR 1 #define GRUB_BOOT_VERSION ((GRUB_BOOT_VERSION_MINOR << 8) \ | GRUB_BOOT_VERSION_MAJOR) diff --git a/include/grub/i386/pc/boot.h b/include/grub/i386/pc/boot.h index f35cb3a..57f53ca 100644 --- a/include/grub/i386/pc/boot.h +++ b/include/grub/i386/pc/boot.h @@ -26,25 +26,19 @@ #define GRUB_BOOT_MACHINE_BPB_START 0x3 /* The offset of the end of BPB (BIOS Parameter Block). */ -#define GRUB_BOOT_MACHINE_BPB_END 0x3e +#define GRUB_BOOT_MACHINE_BPB_END 0x5a /* The offset of the major version. */ -#define GRUB_BOOT_MACHINE_VER_MAJ 0x3e +#define GRUB_BOOT_MACHINE_VER_MAJ 0x5a /* The offset of BOOT_DRIVE. */ -#define GRUB_BOOT_MACHINE_BOOT_DRIVE 0x4c - -/* The offset of KERNEL_ADDRESS. */ -#define GRUB_BOOT_MACHINE_KERNEL_ADDRESS 0x40 +#define GRUB_BOOT_MACHINE_BOOT_DRIVE 0x68 /* The offset of KERNEL_SECTOR. */ -#define GRUB_BOOT_MACHINE_KERNEL_SECTOR 0x44 - -/* The offset of KERNEL_SEGMENT. */ -#define GRUB_BOOT_MACHINE_KERNEL_SEGMENT 0x42 +#define GRUB_BOOT_MACHINE_KERNEL_SECTOR 0x60 /* The offset of BOOT_DRIVE_CHECK. */ -#define GRUB_BOOT_MACHINE_DRIVE_CHECK 0x4e +#define GRUB_BOOT_MACHINE_DRIVE_CHECK 0x6a /* The offset of a magic number used by Windows NT. */ #define GRUB_BOOT_MACHINE_WINDOWS_NT_MAGIC 0x1b8