components/liveinstall: Support all expected architectures properly

We want to be able to produce live ISOs for AArch64 and POWER with
the correct GRUB configuration. This also sets us up to handle any
quirks for each architecture platform as needed later.

This also includes a change to bump the EFI partition size for ISOs
to 30MB so everything fits.
This commit is contained in:
Neal Gompa 2024-07-24 08:28:25 -04:00
parent 3af429672c
commit 316fb431ce
4 changed files with 85 additions and 3 deletions

View File

@ -4,9 +4,28 @@
<requires profile="BootCore"/>
</profile>
</profiles>
<preferences profiles="LiveInstall">
<type image="iso" publisher="Fedora Project" volid="Fedora_Linux" primary="true" flags="dmsquash" firmware="uefi" kernelcmdline="quiet rhgb" mediacheck="false">
<bootloader name="grub2" grub_template="grub.cfg.iso-template" console="console" timeout="10"/>
<preferences profiles="LiveInstall" arch="x86_64">
<type image="iso"
publisher="Fedora Project" volid="Fedora_Linux" primary="true" flags="dmsquash" mediacheck="false"
firmware="uefi" efifatimagesize="30" kernelcmdline="quiet rhgb"
>
<bootloader name="grub2" grub_template="grub-x86.cfg.iso-template" console="console" timeout="10"/>
</type>
</preferences>
<preferences profiles="LiveInstall" arch="aarch64">
<type image="iso"
publisher="Fedora Project" volid="Fedora_Linux" primary="true" flags="dmsquash" mediacheck="false"
firmware="uefi" efifatimagesize="30" kernelcmdline="quiet rhgb"
>
<bootloader name="grub2" grub_template="grub-arm.cfg.iso-template" console="console" timeout="10"/>
</type>
</preferences>
<preferences profiles="LiveInstall" arch="ppc64le">
<type image="iso"
publisher="Fedora Project" volid="Fedora_Linux" primary="true" flags="dmsquash" mediacheck="false"
firmware="ofw" kernelcmdline="quiet rhgb"
>
<bootloader name="grub2" grub_template="grub-ppc.cfg.iso-template" console="console" timeout="10"/>
</type>
</preferences>
<packages type="iso" patternType="plusRecommended" profiles="LiveInstall">

37
grub-arm.cfg.iso-template Normal file
View File

@ -0,0 +1,37 @@
# Inspired by the config used for lorax-built live media
set default=${default_boot}
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
set basicgfx="nomodeset"
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
terminal_input console
terminal_output ${terminal_output}
set timeout=${boot_timeout}
set timeout_style=${boot_timeout_style}
search ${search_params}
menuentry "Start ${title}" --class fedora --class gnu-linux --class gnu --class os {
linux ($$root)${bootpath}/${kernel_file} ${boot_options}
initrd ($$root)${bootpath}/${initrd_file}
}
submenu "Troubleshooting -->" {
menuentry "Start ${title} in basic graphics mode" --class fedora --class gnu-linux --class gnu --class os {
linux ($$root)${bootpath}/${kernel_file} ${boot_options} $${basicgfx}
initrd ($$root)${bootpath}/${initrd_file}
}
}

26
grub-ppc.cfg.iso-template Normal file
View File

@ -0,0 +1,26 @@
# Inspired by the config used for lorax-built live media
set default=${default_boot}
insmod gzio
insmod part_gpt
insmod ext2
terminal_input console
terminal_output ${terminal_output}
set timeout=${boot_timeout}
set timeout_style=${boot_timeout_style}
search ${search_params}
menuentry "Start ${title}" --class fedora --class gnu-linux --class gnu --class os {
linux ($$root)${bootpath}/${kernel_file} ${boot_options}
initrd ($$root)${bootpath}/${initrd_file}
}
submenu "Troubleshooting -->" {
menuentry "Start ${title} in basic graphics mode" --class fedora --class gnu-linux --class gnu --class os {
linux ($$root)${bootpath}/${kernel_file} ${boot_options} $${basicgfx}
initrd ($$root)${bootpath}/${initrd_file}
}
}