Skip to content

Move grub files from /EFI/BOOT/ to /boot/grub/ on ISO 9660

nl6720 requested to merge nl6720/archiso:move-grub-dir into master
  • mkarchiso: add more details to the comment in grub-embed.cfg

    Link to the upstream issue report.

  • Do not duplicate grub.cfg in efiboot.img

    Instruct the embeded grub.cfg to search for a volume with a /.disk/%UUID_SEARCH_FILENAME%.uuid file and load /EFI/BOOT/grub.cfg from it.

    This avoid duplicating GRUB configuration files in two places (ISO 9660 and FAT) and ensures there is no confusion about which is the correct configuration file.

    Since nothing besides EFI binaries is copied to efibootimg, the _make_common_bootmode_grub_copy_to_efibootimg function is removed.

    Fixes #208 (closed)

  • Move grub files from /EFI/BOOT/ to /boot/grub/ on ISO 9660

    Move the location of GRUB files so that there is boot-platform (BIOS vs EFI) neutral place for GRUB-specific files (e.g. configuration files, background images, etc.).

    The EFI binaries are obviosly staying in the default/fallback boot path /EFI/BOOT/BOOT*.EFI, otherwise there will be no UEFI booting.

    The /boot/grub/ directory will be used to store BIOS (i386-pc) GRUB bootsector images, if we get to that.

    It is also a requirement for implementing loopback.cfg support, since the file's path must be /boot/grub/loopback.cfg.

    Implements #206 (closed)

  • configs/*/grub/grub.cfg: reuse ARCHISO_HINT and ARCHISO_UUID passed from the embedded grub.cfg

    The grub.cfg embedded in the GRUB binaries already sets ARCHISO_HINT and ARCHISO_UUID in most cases. To avoid performing the same searches multiple times, use the existing variables.

    To avoid performing the same searches multiple times, use the existing variables.

  • mkarchiso: write grubenv in _make_common_bootmode_grub_cfg

    Add all variables that we replace with values in configuration files.

    Keep ${isofs_dir}/${install_dir}/grubenv with fewer variables for backwards compatibility. It will be removed in the future.

  • Move the .uuid file to /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid

    To prevent the file from being accidentally missed when someone copies the ISO's contents, let's not place it in a directory that starts with a dot. Since all GRUB related files are in /boot/grub/, put it there too.

    Instead of using a more unique UUID for the file name, use YYYY-mm-dd-HH-MM-SS-00.uuid which matches the ISO's modification date, i.e. its "UUID". If multiple ISOs would be generated in the exact same second, the ISO 9660 modification date (i.e. its "UUID") would be the same, so there would be not way to distinguish between the volumes anyway. This also makes the file look less suspicious to the casual glance.


Depends on !306 (merged).

Edited by nl6720

Merge request reports