1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00
rufus/res/grub2/readme.txt
Pete Batard e987272287
[grub] update GRUB 2.04 core.img for Ubuntu 20.10 support
* GRUB have cherry-picked patches from the "BootHole" vulnerability fix at
  https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html and
  have applied them to their 2.04 GRUB loader.
* This results in breakage with "error: symbol 'grub_calloc' not found" when
  using the release GRUB 2.04 version of core.img.
* Therefore, we too cherry-picked some patches to apply on top of GRUB 2.04
  release to make our core.img compatible with Ubuntu 20.10.
* Closes #1616
* Also increase the maximum write stride for ms-sys to 64 KB (required to
  write the GRUB 2.05 bootloader which is larger than 32 KB) and update hash DB.
2020-09-16 13:59:06 +01:00

26 lines
No EOL
1.3 KiB
Text

This directory contains the Grub 2.0 boot records that are used by Rufus
* boot.img and core.img were created from:
https://ftp.gnu.org/gnu/grub/grub-2.04.tar.xz
with the following two extra patches applied:
- https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00016.html
- https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00017.html
on a Debian 10.x x64 system using the commands:
./autogen.sh
./configure --disable-nls --enable-boot-time
make -j6
cd grub-core
../grub-mkimage -v -O i386-pc -d. -p\(hd0,msdos1\)/boot/grub biosdisk part_msdos fat ntfs exfat -o core.img
* boot.img has been modified to nop the jump @ 0x66 as per grub2's setup.c comments:
/* If DEST_DRIVE is a hard disk, enable the workaround, which is
for buggy BIOSes which don't pass boot drive correctly. Instead,
they pass 0x00 or 0x01 even when booted from 0x80. */
* Note that, for convenience reasons, the content of boot.img is *not* the one that
Rufus processes when writing the MBR.
Instead, the byte array from src/ms-sys/inc/mbr_grub2.h (whose content is identical)
is what Rufus uses. If you modify these files, be mindful that you may also need
to update the array in mbr_grub2.h.
* For details, see src/format.c, src/msys/br.c and src/msys/inc/mbr_grub2.h.