aboutsummaryrefslogtreecommitdiff
diff options
from:
to:
context:
space:
mode:
authorGravatar Neal Gompa <ngompa@fedoraproject.org> 2024-07-24 08:28:25 -0400
committerGravatar Neal Gompa <ngompa@fedoraproject.org> 2024-07-24 08:28:25 -0400
commit316fb431ce50fadc73892f2ca842f3ffcb159330 (patch)
tree703bebe524ca5d6d31bdc6e78ce30799ec407279
parent3af429672cad48dda21ad4444dc62db7de7083a5 (diff)
downloadkiwi-descriptions-316fb431ce50fadc73892f2ca842f3ffcb159330.tar.gz
kiwi-descriptions-316fb431ce50fadc73892f2ca842f3ffcb159330.zip
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.
-rw-r--r--components/liveinstall.xml25
-rw-r--r--grub-arm.cfg.iso-template37
-rw-r--r--grub-ppc.cfg.iso-template26
-rw-r--r--grub-x86.cfg.iso-template (renamed from grub.cfg.iso-template)0
4 files changed, 85 insertions, 3 deletions
diff --git a/components/liveinstall.xml b/components/liveinstall.xml
index ca7106d..065cbba 100644
--- a/components/liveinstall.xml
+++ b/components/liveinstall.xml
@@ -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">
diff --git a/grub-arm.cfg.iso-template b/grub-arm.cfg.iso-template
new file mode 100644
index 0000000..e24dd2d
--- /dev/null
+++ b/grub-arm.cfg.iso-template
@@ -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}
+ }
+}
diff --git a/grub-ppc.cfg.iso-template b/grub-ppc.cfg.iso-template
new file mode 100644
index 0000000..3ed12bb
--- /dev/null
+++ b/grub-ppc.cfg.iso-template
@@ -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}
+ }
+}
diff --git a/grub.cfg.iso-template b/grub-x86.cfg.iso-template
index ca3a1c1..ca3a1c1 100644
--- a/grub.cfg.iso-template
+++ b/grub-x86.cfg.iso-template