You are not logged in.

#1 2025-05-29 09:48:52

Rabbit1991
Member
Registered: 2025-04-05
Posts: 2

GRUB Bootloader (UEFI+BIOS) in custom Arch ISO

I am making a simple arch iso with the steps below

1. pacstrap (to get basic root file system)
2. chroot (configure and populate the root file system with packages and enable services)
3. chroot mkinitcpio (generate the vmlinuz and initramfs.img within the rootfs and copy to the isofs directory)
4. mkfs.erofs (generate erofs image and copy to isofs directory)
5. configure grub
6. xorriso

Questions:

1. How to setup a grub bootloader which automates in finding the correct partition or block device which contains erofs image regardless if its via usb or cd optical drive as i want to avoid hard coding it. and supports booting in uefi and bios.
2. how to make xorriso generate the proper and bootable image

Below is the isofs structure:

iso_structure
    boot
        grub
            fonts
            grub.cfg
            themes
                customs-os
                    background.jpg
        initramfs-linux.img
        vmlinuz-linux
    EFI
        BOOT
    live
        rootfs.erofs

Looking forward for any advice!

Offline

#2 2025-05-29 15:26:26

scdbackup
Member
Registered: 2013-05-30
Posts: 75

Re: GRUB Bootloader (UEFI+BIOS) in custom Arch ISO

Hi,

> 2. how to make xorriso generate the proper and bootable image

If you base your ISO on an Archlinux ISO, then with -boot_image replay.

xorriso -indev original_arch.iso -outdev new.iso \
        ...remove.files.from.iso... \
        ...map.new.files.into.iso... \
        -boot_image any replay \
        ...other.commands...

See also
  https://wiki.debian.org/RepackBootableI … ed_new_ISO

If you build your ISO entirely from files on your hard disks,
then use grub-mkrescue.

grub-mkrescue -o new.iso ...file.or.directory.paths.to.your.payload.files...

Typically you will want bootability of x86 via legacy BIOS and 64 bit EFI.
For that you need to install the appropriate GRUB files under your
system's

/usr/lib/grub/i386-pc
/usr/lib/grub/x86_64-efi

I just recently learned how to do this in Debian. So i leave the question
how to populate these trees to Archlinux experts. It is a matter of GRUB
installation, not of custom activities.

Have a nice day smile

Thomas

Offline

Board footer

Powered by FluxBB