1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00
rufus/res/grub2
Pete Batard fcae51a446
[grub] force server download for nonstandard GRUB (Fedora 37, openSUSE Live, GeckoLinux)
* This reverts most of 3528ca773d in order to download 'core.img' from our server instead of patching it.
* Also solve the issue of downloading a custom 'core.img' for Fedora 37, that introduced
  a new 'grub_debug_is_enabled' symbol without altering their GRUB version string.
* This is accomplished by doing what the distro maintainers should have done on their
  own, by appending a custom suffix to the GRUB version string.
2022-10-06 23:39:32 +01:00
..
boot.img [grub] add Grub 2.0 support 2014-11-17 23:41:46 +00:00
core.img [grub] update embedded GRUB to 2.06 2021-07-27 18:10:29 +01:00
grub2_version.h [grub] force server download for nonstandard GRUB (Fedora 37, openSUSE Live, GeckoLinux) 2022-10-06 23:39:32 +01:00
readme.txt [grub] update embedded GRUB to 2.06 2021-07-27 18:10:29 +01:00

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.06.tar.xz
  on a Debian 10.9 x64 system using the commands:
    ./autogen.sh
    # --enable-boot-time for Manjaro Linux
    ./configure --disable-nls --enable-boot-time
    make -j4
    cd grub-core
    ../grub-mkimage -v -O i386-pc -d. -p\(hd0,msdos1\)/boot/grub biosdisk fat exfat ext2 ntfs ntfscomp part_msdos -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.