Fix loading GRUB from lnxboot (LP: #693671).

This commit is contained in:
Colin Watson 2011-03-14 16:25:23 +00:00
parent 4bc73bb9b1
commit 1a42ef98c4
3 changed files with 41 additions and 0 deletions

1
debian/changelog vendored
View File

@ -8,6 +8,7 @@ grub2 (1.99~rc1-4) UNRELEASED; urgency=low
- Only call ntfs_fix_mmft if the attribute to find is AT_DATA. This
matches GRUB's NTFS module.
- Install grubinst as grub-ntldr-img.
* Fix loading GRUB from lnxboot (LP: #693671).
-- Colin Watson <cjwatson@debian.org> Thu, 24 Feb 2011 13:20:01 +0000

39
debian/patches/lnxboot_grub.patch vendored Normal file
View File

@ -0,0 +1,39 @@
Description: Fix loading GRUB from lnxboot
Ensure that the initial chunk read from the kernel always includes GRUB's
multiboot header, which is now outside the first sector.
Author: Colin Watson <cjwatson@ubuntu.com>
Bug-Ubuntu: https://bugs.launchpad.net/bugs/693671
Forwarded: yes
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/3096
Last-Update: 2011-03-11
Index: b/grub-core/boot/i386/pc/lnxboot.S
===================================================================
--- a/grub-core/boot/i386/pc/lnxboot.S
+++ b/grub-core/boot/i386/pc/lnxboot.S
@@ -178,8 +178,13 @@
pushw %es
popw %ds
+#if GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4 < 0x200
movl $0x200, %ecx
addl %ecx, %esi
+#else
+ movl $(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4), %ecx
+ addl $0x200, %esi
+#endif
movl $DATA_ADDR, %edi
call LOCAL(move_memory)
@@ -196,7 +201,11 @@
1:
movl %ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_COMPRESSED_SIZE), %ecx
+#if GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4 < 0x200
addl $(GRUB_KERNEL_MACHINE_RAW_SIZE - 0x200), %ecx
+#else
+ addl $(GRUB_KERNEL_MACHINE_RAW_SIZE - (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4)), %ecx
+#endif
2:
call LOCAL(move_memory)

View File

@ -17,3 +17,4 @@ branch_longlinuxcmd.patch
branch_parse-color.patch
branch_embed-sectors.patch
btrfs_rootflags.patch
lnxboot_grub.patch