From ba3a7eb06dda8113dc58dfeebbd22d72dbf4d63c Mon Sep 17 00:00:00 2001 From: "Gerd v. Egidy" Date: Sat, 18 Dec 2021 21:55:15 +0100 Subject: [PATCH] add mechanism to add default kernel parameters during build They are then automatically applied to all boot configurations --- build.sh | 3 +++ efiboot/grub/grubsrcd.cfg | 12 ++++++------ syslinux/sysresccd_pxe.cfg | 6 +++--- syslinux/sysresccd_sys.cfg | 12 ++++++------ 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/build.sh b/build.sh index ae3f9a2..34108fc 100755 --- a/build.sh +++ b/build.sh @@ -19,6 +19,7 @@ arch="$(uname -m)" sfs_comp="xz" sfs_opts="-Xbcj x86 -b 512k -Xdict-size 512k" snapshot_date="" +default_kernel_param="" verbose="" @@ -236,6 +237,7 @@ make_syslinux() { sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%ISO_VERSION%|${iso_version}|g; s|%ISO_ARCH%|${arch}|g; + s|%DEFAULTKERNELPARAM%|${default_kernel_param}|g; s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/} done cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux @@ -266,6 +268,7 @@ make_efi() { sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%ISO_VERSION%|${iso_version}|g; s|%ISO_ARCH%|${arch}|g; + s|%DEFAULTKERNELPARAM%|${default_kernel_param}|g; s|%INSTALL_DIR%|${install_dir}|g" \ ${script_path}/efiboot/grub/grubsrcd.cfg > ${work_dir}/iso/boot/grub/grubsrcd.cfg cp -a /usr/share/edk2-shell/${edk2arch}/Shell_Full.efi ${work_dir}/iso/EFI/shell.efi diff --git a/efiboot/grub/grubsrcd.cfg b/efiboot/grub/grubsrcd.cfg index c513d83..a514e77 100644 --- a/efiboot/grub/grubsrcd.cfg +++ b/efiboot/grub/grubsrcd.cfg @@ -22,37 +22,37 @@ fi menuentry "Boot SystemRescue using default options" { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img } menuentry "Boot SystemRescue and copy system to RAM (copytoram)" { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% copytoram initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img } menuentry "Boot SystemRescue and verify integrity of the medium (checksum)" { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% checksum + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% checksum initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img } menuentry "Boot SystemRescue using basic display drivers (nomodeset)" { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% nomodeset initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img } menuentry "Boot a Linux operating system installed on the disk (findroot)" { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% findroot + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% findroot initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img } menuentry "Stop during the boot process before mounting the root filesystem" { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% break + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% break initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img } diff --git a/syslinux/sysresccd_pxe.cfg b/syslinux/sysresccd_pxe.cfg index 6215d9d..86520b8 100644 --- a/syslinux/sysresccd_pxe.cfg +++ b/syslinux/sysresccd_pxe.cfg @@ -8,7 +8,7 @@ ENDTEXT MENU LABEL Boot SystemRescue (NBD) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} %DEFAULTKERNELPARAM% SYSAPPEND 3 LABEL sysresccd_nfs @@ -19,7 +19,7 @@ ENDTEXT MENU LABEL Boot SystemRescue (NFS) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/sysresccd/bootmnt +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/sysresccd/bootmnt %DEFAULTKERNELPARAM% SYSAPPEND 3 LABEL sysresccd_http @@ -30,7 +30,7 @@ ENDTEXT MENU LABEL Boot SystemRescue (HTTP) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ %DEFAULTKERNELPARAM% SYSAPPEND 3 INCLUDE boot/syslinux/sysresccd_tail.cfg diff --git a/syslinux/sysresccd_sys.cfg b/syslinux/sysresccd_sys.cfg index d38ddac..c1c57ef 100644 --- a/syslinux/sysresccd_sys.cfg +++ b/syslinux/sysresccd_sys.cfg @@ -7,7 +7,7 @@ ENDTEXT MENU LABEL Boot SystemRescue using default options LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% LABEL sysresccd_copytoram TEXT HELP @@ -16,7 +16,7 @@ ENDTEXT MENU LABEL Boot SystemRescue and copy system to RAM (copytoram) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% copytoram LABEL sysresccd_checksum TEXT HELP @@ -25,7 +25,7 @@ ENDTEXT MENU LABEL Boot SystemRescue and verify integrity of the medium (checksum) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% checksum +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% checksum LABEL sysresccd_nomodeset TEXT HELP @@ -34,7 +34,7 @@ ENDTEXT MENU LABEL Boot SystemRescue using basic display drivers (nomodeset) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% nomodeset LABEL sysresccd_findroot TEXT HELP @@ -43,7 +43,7 @@ ENDTEXT MENU LABEL Boot a Linux operating system installed on the disk (findroot) LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% findroot +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% findroot LABEL sysresccd_break TEXT HELP @@ -52,6 +52,6 @@ ENDTEXT MENU LABEL Stop during the boot process before mounting the root filesystem LINUX boot/%ISO_ARCH%/vmlinuz INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/%ISO_ARCH%/sysresccd.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% break +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULTKERNELPARAM% break INCLUDE boot/syslinux/sysresccd_tail.cfg