From 8c047047ab62597d6ced826136bd97df5bf1598c Mon Sep 17 00:00:00 2001 From: nl6720 Date: Mon, 14 Sep 2020 09:34:01 +0300 Subject: Split SYSLINUX configuration into per-kernel configuration files Slightly simplifies adding boot loader configuration for more kernels. Unfortunately the INCLUDE statement doesn't support wildcards, so each new file must be manually included in the main syslinux configuration file (syslinux.cfg for baseline and archiso_sys.cfg for releng). --- configs/baseline/syslinux/syslinux-linux.cfg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 configs/baseline/syslinux/syslinux-linux.cfg (limited to 'configs/baseline/syslinux/syslinux-linux.cfg') diff --git a/configs/baseline/syslinux/syslinux-linux.cfg b/configs/baseline/syslinux/syslinux-linux.cfg new file mode 100644 index 0000000..c4b015b --- /dev/null +++ b/configs/baseline/syslinux/syslinux-linux.cfg @@ -0,0 +1,8 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +LABEL arch +MENU LABEL Arch Linux +LINUX boot/%ARCH%/vmlinuz-linux +INITRD boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -- cgit v1.2.3-70-g09d2 From ae0e914114d2ff84e43b4da3b1b2bf855cff01d3 Mon Sep 17 00:00:00 2001 From: nl6720 Date: Sun, 4 Oct 2020 17:48:15 +0300 Subject: configs/baseline: support UEFI --- configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf | 7 +++++++ configs/baseline/efiboot/loader/loader.conf | 5 +++++ configs/baseline/profiledef.sh | 2 +- configs/baseline/syslinux/syslinux-linux.cfg | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf create mode 100644 configs/baseline/efiboot/loader/loader.conf (limited to 'configs/baseline/syslinux/syslinux-linux.cfg') diff --git a/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf b/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf new file mode 100644 index 0000000..8dd7a16 --- /dev/null +++ b/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux.conf @@ -0,0 +1,7 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +title Arch Linux (x86_64, UEFI) +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/baseline/efiboot/loader/loader.conf b/configs/baseline/efiboot/loader/loader.conf new file mode 100644 index 0000000..1ea5ce5 --- /dev/null +++ b/configs/baseline/efiboot/loader/loader.conf @@ -0,0 +1,5 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +timeout 3 +default archiso-x86_64-linux.conf diff --git a/configs/baseline/profiledef.sh b/configs/baseline/profiledef.sh index 9ced69e..2efd38f 100644 --- a/configs/baseline/profiledef.sh +++ b/configs/baseline/profiledef.sh @@ -7,6 +7,6 @@ iso_publisher="Arch Linux " iso_application="Arch Linux baseline" iso_version="$(date +%Y.%m.%d)" install_dir="arch" -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') arch="x86_64" pacman_conf="pacman.conf" diff --git a/configs/baseline/syslinux/syslinux-linux.cfg b/configs/baseline/syslinux/syslinux-linux.cfg index c4b015b..21dfbd7 100644 --- a/configs/baseline/syslinux/syslinux-linux.cfg +++ b/configs/baseline/syslinux/syslinux-linux.cfg @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later LABEL arch -MENU LABEL Arch Linux +MENU LABEL Arch Linux (x86_64, BIOS) LINUX boot/%ARCH%/vmlinuz-linux INITRD boot/%ARCH%/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -- cgit v1.2.3-70-g09d2 From 863247d0a6980906dad0308044f2f3b6ceccc110 Mon Sep 17 00:00:00 2001 From: nl6720 Date: Tue, 17 Nov 2020 14:10:21 +0200 Subject: Keep all SYSLINUX files in /syslinux This gets rid of the duplicate ldlinux.c32 and the useless isolinux.cfg which only points to syslinux.cfg. Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/46 . --- README.profile.rst | 13 +---- archiso/mkarchiso | 76 ++++++++------------------- configs/baseline/isolinux/isolinux.cfg | 9 ---- configs/baseline/syslinux/syslinux-linux.cfg | 4 +- configs/baseline/syslinux/syslinux.cfg | 4 +- configs/releng/isolinux/isolinux.cfg | 9 ---- configs/releng/syslinux/archiso.cfg | 14 ----- configs/releng/syslinux/archiso_head.cfg | 4 +- configs/releng/syslinux/archiso_pxe-linux.cfg | 12 ++--- configs/releng/syslinux/archiso_pxe.cfg | 6 +-- configs/releng/syslinux/archiso_sys-linux.cfg | 8 +-- configs/releng/syslinux/archiso_sys.cfg | 6 +-- configs/releng/syslinux/archiso_tail.cfg | 12 ++--- configs/releng/syslinux/syslinux.cfg | 17 ++++-- 14 files changed, 64 insertions(+), 130 deletions(-) delete mode 100644 configs/baseline/isolinux/isolinux.cfg delete mode 100644 configs/releng/isolinux/isolinux.cfg delete mode 100644 configs/releng/syslinux/archiso.cfg (limited to 'configs/baseline/syslinux/syslinux-linux.cfg') diff --git a/README.profile.rst b/README.profile.rst index 1729319..6541bd7 100644 --- a/README.profile.rst +++ b/README.profile.rst @@ -9,7 +9,6 @@ An archiso profile consists of several configuration files and a directory for f profile |- airootfs/ |- efiboot/ - |- isolinux/ |- syslinux/ |- packages.arch |- pacman.conf @@ -133,21 +132,13 @@ selected in **profiledef.sh**. It contains configuration for `systemd-boot The *custom template identifiers* are **only** understood in the boot loader entry `.conf` files (i.e. **not** in `loader.conf`). -isolinux --------- - -This directory is mandatory when the `bios.syslinux.eltorito` bootmode is selected in **profiledef.sh**. -It contains configuration for `isolinux `_ used in the resuling -image. - -The *custom template identifiers* are understood in all `.cfg` files in this directory. - syslinux -------- This directory is mandatory when the `bios.syslinux.mbr` or the `bios.syslinux.eltorito` bootmodes are selected in **profiledef.sh**. -It contains configuration files for `syslinux `_ or `pxelinux +It contains configuration files for `syslinux `_ or `isolinux +`_ , or `pxelinux `_ used in the resuling image. The *custom template identifiers* are understood in all `.cfg` files in this directory. diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 645dd83..0e478a4 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -372,33 +372,33 @@ _make_boot_on_iso9660() { _msg_info "Done!" } -# Prepare /${install_dir}/boot/syslinux +# Prepare /syslinux for booting from MBR _make_bootmode_bios.syslinux.mbr() { _msg_info "Setting up SYSLINUX for BIOS booting from a disk..." - install -d -m 0755 -- "${isofs_dir}/${install_dir}/boot/syslinux" + install -d -m 0755 -- "${isofs_dir}/syslinux" for _cfg in "${profile}/syslinux/"*.cfg; do sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%INSTALL_DIR%|${install_dir}|g; s|%ARCH%|${arch}|g" \ - "${_cfg}" > "${isofs_dir}/${install_dir}/boot/syslinux/${_cfg##*/}" + "${_cfg}" > "${isofs_dir}/syslinux/${_cfg##*/}" done if [[ -e "${profile}/syslinux/splash.png" ]]; then - install -m 0644 -- "${profile}/syslinux/splash.png" "${isofs_dir}/${install_dir}/boot/syslinux/" + install -m 0644 -- "${profile}/syslinux/splash.png" "${isofs_dir}/syslinux/" fi - install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/"*.c32 "${isofs_dir}/${install_dir}/boot/syslinux/" - install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/lpxelinux.0" "${isofs_dir}/${install_dir}/boot/syslinux/" - install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/memdisk" "${isofs_dir}/${install_dir}/boot/syslinux/" + install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/"*.c32 "${isofs_dir}/syslinux/" + install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/lpxelinux.0" "${isofs_dir}/syslinux/" + install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/memdisk" "${isofs_dir}/syslinux/" _run_once _make_boot_on_iso9660 - if [[ -e "${isofs_dir}/${install_dir}/boot/syslinux/hdt.c32" ]]; then - install -d -m 0755 -- "${isofs_dir}/${install_dir}/boot/syslinux/hdt" + if [[ -e "${isofs_dir}/syslinux/hdt.c32" ]]; then + install -d -m 0755 -- "${isofs_dir}/syslinux/hdt" if [[ -e "${airootfs_dir}/usr/share/hwdata/pci.ids" ]]; then gzip -c -9 "${airootfs_dir}/usr/share/hwdata/pci.ids" > \ - "${isofs_dir}/${install_dir}/boot/syslinux/hdt/pciids.gz" + "${isofs_dir}/syslinux/hdt/pciids.gz" fi find "${airootfs_dir}/usr/lib/modules" -name 'modules.alias' -print -exec gzip -c -9 '{}' ';' -quit > \ - "${isofs_dir}/${install_dir}/boot/syslinux/hdt/modalias.gz" + "${isofs_dir}/syslinux/hdt/modalias.gz" fi # Add other aditional/extra files to ${install_dir}/boot/ @@ -412,21 +412,14 @@ _make_bootmode_bios.syslinux.mbr() { _msg_info "Done! SYSLINUX set up for BIOS booting from a disk successfully." } -# Prepare /isolinux +# Prepare /syslinux for El-Torito booting _make_bootmode_bios.syslinux.eltorito() { _msg_info "Setting up SYSLINUX for BIOS booting from an optical disc..." - install -d -m 0755 -- "${isofs_dir}/isolinux" - for _cfg in "${profile}/isolinux/"*".cfg"; do - sed "s|%ARCHISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g; - s|%ARCH%|${arch}|g" \ - "${_cfg}" > "${isofs_dir}/isolinux/${_cfg##*/}" - done - install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/isolinux.bin" "${isofs_dir}/isolinux/" - install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/isohdpfx.bin" "${isofs_dir}/isolinux/" - install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/ldlinux.c32" "${isofs_dir}/isolinux/" + install -d -m 0755 -- "${isofs_dir}/syslinux" + install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/isolinux.bin" "${isofs_dir}/syslinux/" + install -m 0644 -- "${airootfs_dir}/usr/lib/syslinux/bios/isohdpfx.bin" "${isofs_dir}/syslinux/" - # isolinux.cfg loads syslinux.cfg + # ISOLINUX and SYSLINUX installation is shared _run_once _make_bootmode_bios.syslinux.mbr _msg_info "Done! SYSLINUX set up for BIOS booting from an optical disc successfully." @@ -573,34 +566,7 @@ _validate_requirements_bootmode_bios.syslinux.mbr() { } _validate_requirements_bootmode_bios.syslinux.eltorito() { - # Check if the syslinux package is in the package list - # shellcheck disable=SC2076 - if [[ ! " ${pkg_list[*]} " =~ ' syslinux ' ]]; then - (( validation_error=validation_error+1 )) - _msg_error "Validating '${bootmode}': The 'syslinux' package is missing from the package list!" 0 - fi - - # Check if isolinux configuration files exist - if [[ ! -d "${profile}/isolinux" ]]; then - (( validation_error=validation_error+1 )) - _msg_error "Validating '${bootmode}': The '${profile}/isolinux' directory is missing!" 0 - else - local cfgfile - for cfgfile in "${profile}/isolinux/"*'.cfg'; do - if [[ -e "${cfgfile}" ]]; then - break - else - (( validation_error=validation_error+1 )) - _msg_error "Validating '${bootmode}': No configuration file found in '${profile}/isolinux/'!" 0 - fi - done - fi - - # Check for optional packages - # shellcheck disable=SC2076 - if [[ ! " ${pkg_list[*]} " =~ ' memtest86+ ' ]]; then - _msg_info "Validating '${bootmode}': 'memtest86+' is not in the package list. Memory testing will not be available from syslinux." - fi + _validate_requirements_bootmode_bios.syslinux.mbr } _validate_requirements_bootmode_uefi-x64.systemd-boot.esp() { @@ -675,9 +641,9 @@ _validate_requirements_airootfs_image_type_ext4+squashfs() { _add_xorrisofs_options_bios.syslinux.eltorito() { xorrisofs_options+=( # El Torito boot image for x86 BIOS - '-eltorito-boot' 'isolinux/isolinux.bin' + '-eltorito-boot' 'syslinux/isolinux.bin' # El Torito boot catalog file - '-eltorito-catalog' 'isolinux/boot.cat' + '-eltorito-catalog' 'syslinux/boot.cat' # Required options to boot with ISOLINUX '-no-emul-boot' '-boot-load-size' '4' '-boot-info-table' ) @@ -686,8 +652,8 @@ _add_xorrisofs_options_bios.syslinux.eltorito() { # SYSLINUX MBR _add_xorrisofs_options_bios.syslinux.mbr() { xorrisofs_options+=( - # SYSLINUX MBR bootstrap code; does not work without "-eltorito-boot isolinux/isolinux.bin" - '-isohybrid-mbr' "${isofs_dir}/isolinux/isohdpfx.bin" + # SYSLINUX MBR bootstrap code; does not work without "-eltorito-boot syslinux/isolinux.bin" + '-isohybrid-mbr' "${isofs_dir}/syslinux/isohdpfx.bin" # When GPT is used, create an additional partition in the MBR (besides 0xEE) for sectors 0–1 (MBR # bootstrap code area) and mark it as bootable # This violates the UEFI specification, but may allow booting on some systems diff --git a/configs/baseline/isolinux/isolinux.cfg b/configs/baseline/isolinux/isolinux.cfg deleted file mode 100644 index e078ce3..0000000 --- a/configs/baseline/isolinux/isolinux.cfg +++ /dev/null @@ -1,9 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -PATH /%INSTALL_DIR%/boot/syslinux/ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/baseline/syslinux/syslinux-linux.cfg b/configs/baseline/syslinux/syslinux-linux.cfg index 21dfbd7..867d815 100644 --- a/configs/baseline/syslinux/syslinux-linux.cfg +++ b/configs/baseline/syslinux/syslinux-linux.cfg @@ -3,6 +3,6 @@ LABEL arch MENU LABEL Arch Linux (x86_64, BIOS) -LINUX boot/%ARCH%/vmlinuz-linux -INITRD boot/%ARCH%/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg index c021a0e..88a36ea 100644 --- a/configs/baseline/syslinux/syslinux.cfg +++ b/configs/baseline/syslinux/syslinux.cfg @@ -1,11 +1,11 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -UI boot/syslinux/menu.c32 +UI menu.c32 MENU TITLE Arch Linux MENU CLEAR DEFAULT arch TIMEOUT 30 -INCLUDE boot/syslinux/syslinux-linux.cfg +INCLUDE syslinux-linux.cfg diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg deleted file mode 100644 index 7b14d59..0000000 --- a/configs/releng/isolinux/isolinux.cfg +++ /dev/null @@ -1,9 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -PATH /%INSTALL_DIR%/boot/syslinux/ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/archiso.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/releng/syslinux/archiso.cfg b/configs/releng/syslinux/archiso.cfg deleted file mode 100644 index a6ba8b0..0000000 --- a/configs/releng/syslinux/archiso.cfg +++ /dev/null @@ -1,14 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -DEFAULT select - -LABEL select -COM32 boot/syslinux/whichsys.c32 -APPEND -pxe- pxe -sys- sys -iso- sys - -LABEL pxe -CONFIG boot/syslinux/archiso_pxe.cfg - -LABEL sys -CONFIG boot/syslinux/archiso_sys.cfg diff --git a/configs/releng/syslinux/archiso_head.cfg b/configs/releng/syslinux/archiso_head.cfg index be08525..e553e79 100644 --- a/configs/releng/syslinux/archiso_head.cfg +++ b/configs/releng/syslinux/archiso_head.cfg @@ -2,9 +2,9 @@ # SPDX-License-Identifier: GPL-3.0-or-later SERIAL 0 38400 -UI boot/syslinux/vesamenu.c32 +UI vesamenu.c32 MENU TITLE Arch Linux -MENU BACKGROUND boot/syslinux/splash.png +MENU BACKGROUND splash.png MENU WIDTH 78 MENU MARGIN 4 diff --git a/configs/releng/syslinux/archiso_pxe-linux.cfg b/configs/releng/syslinux/archiso_pxe-linux.cfg index aa4bc2a..c991ca0 100644 --- a/configs/releng/syslinux/archiso_pxe-linux.cfg +++ b/configs/releng/syslinux/archiso_pxe-linux.cfg @@ -7,8 +7,8 @@ Boot the Arch Linux install medium using NBD. It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Arch Linux install medium (x86_64, NBD) -LINUX boot/x86_64/vmlinuz-linux -INITRD boot/intel-ucode.img,boot/amd-ucode.img,boot/x86_64/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify SYSAPPEND 3 @@ -18,8 +18,8 @@ Boot the Arch Linux live medium using NFS. It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Arch Linux install medium (x86_64, NFS) -LINUX boot/x86_64/vmlinuz-linux -INITRD boot/intel-ucode.img,boot/amd-ucode.img,boot/x86_64/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify SYSAPPEND 3 @@ -29,7 +29,7 @@ Boot the Arch Linux live medium using HTTP. It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Arch Linux install medium (x86_64, HTTP) -LINUX boot/x86_64/vmlinuz-linux -INITRD boot/intel-ucode.img,boot/amd-ucode.img,boot/x86_64/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify SYSAPPEND 3 diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe.cfg index 202ed7a..b005cb1 100644 --- a/configs/releng/syslinux/archiso_pxe.cfg +++ b/configs/releng/syslinux/archiso_pxe.cfg @@ -1,8 +1,8 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE archiso_head.cfg -INCLUDE boot/syslinux/archiso_pxe-linux.cfg +INCLUDE archiso_pxe-linux.cfg -INCLUDE boot/syslinux/archiso_tail.cfg +INCLUDE archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_sys-linux.cfg b/configs/releng/syslinux/archiso_sys-linux.cfg index d5fd776..e2b4edd 100644 --- a/configs/releng/syslinux/archiso_sys-linux.cfg +++ b/configs/releng/syslinux/archiso_sys-linux.cfg @@ -7,8 +7,8 @@ Boot the Arch Linux install medium on BIOS. It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Arch Linux install medium (x86_64, BIOS) -LINUX boot/x86_64/vmlinuz-linux -INITRD boot/intel-ucode.img,boot/amd-ucode.img,boot/x86_64/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% # Accessibility boot option @@ -18,6 +18,6 @@ Boot the Arch Linux install medium on BIOS with speakup screen reader. It allows you to install Arch Linux or perform system maintenance with speech feedback. ENDTEXT MENU LABEL Arch Linux install medium (x86_64, BIOS) with ^speech -LINUX boot/x86_64/vmlinuz-linux -INITRD boot/intel-ucode.img,boot/amd-ucode.img,boot/x86_64/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys.cfg index 9e70c17..cab78f8 100644 --- a/configs/releng/syslinux/archiso_sys.cfg +++ b/configs/releng/syslinux/archiso_sys.cfg @@ -1,11 +1,11 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE archiso_head.cfg DEFAULT arch64 TIMEOUT 150 -INCLUDE boot/syslinux/archiso_sys-linux.cfg +INCLUDE archiso_sys-linux.cfg -INCLUDE boot/syslinux/archiso_tail.cfg +INCLUDE archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_tail.cfg b/configs/releng/syslinux/archiso_tail.cfg index 685e1c8..af172c0 100644 --- a/configs/releng/syslinux/archiso_tail.cfg +++ b/configs/releng/syslinux/archiso_tail.cfg @@ -7,19 +7,19 @@ Boot an existing operating system. Press TAB to edit the disk and partition number to boot. ENDTEXT MENU LABEL Boot existing OS -COM32 boot/syslinux/chain.c32 +COM32 chain.c32 APPEND hd0 0 # http://www.memtest.org/ LABEL memtest MENU LABEL Run Memtest86+ (RAM test) -LINUX boot/memtest +LINUX /%INSTALL_DIR%/boot/memtest # http://hdt-project.org/ LABEL hdt MENU LABEL Hardware Information (HDT) -COM32 boot/syslinux/hdt.c32 -APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz +COM32 hdt.c32 +APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz LABEL reboot TEXT HELP @@ -27,7 +27,7 @@ Reboot computer. The computer's firmware must support APM. ENDTEXT MENU LABEL Reboot -COM32 boot/syslinux/reboot.c32 +COM32 reboot.c32 LABEL poweroff TEXT HELP @@ -35,4 +35,4 @@ Power off computer. The computer's firmware must support APM. ENDTEXT MENU LABEL Power Off -COM32 boot/syslinux/poweroff.c32 +COM32 poweroff.c32 diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg index 3ee98de..847ab6b 100644 --- a/configs/releng/syslinux/syslinux.cfg +++ b/configs/releng/syslinux/syslinux.cfg @@ -1,5 +1,14 @@ -DEFAULT loadconfig +# +# SPDX-License-Identifier: GPL-3.0-or-later -LABEL loadconfig - CONFIG archiso.cfg - APPEND ../../ +DEFAULT select + +LABEL select +COM32 whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG archiso_pxe.cfg + +LABEL sys +CONFIG archiso_sys.cfg -- cgit v1.2.3-70-g09d2 From bb503b90308ea12542c85dea9b799e11632158a6 Mon Sep 17 00:00:00 2001 From: Simon Wilper Date: Fri, 1 Jan 2021 03:15:33 +0100 Subject: add optional pv tool use pv to give feedback on copying the airootfs to RAM when copytoram kernel parameter is given --- archiso/initcpio/hooks/archiso | 15 ++++++++++++++- archiso/initcpio/install/archiso | 1 + .../efiboot/loader/entries/archiso-x86_64-linux-ram.conf | 7 +++++++ configs/baseline/packages.x86_64 | 1 + configs/baseline/syslinux/syslinux-linux.cfg | 6 ++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf (limited to 'configs/baseline/syslinux/syslinux-linux.cfg') diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso index 1b848ce..485fb0f 100644 --- a/archiso/initcpio/hooks/archiso +++ b/archiso/initcpio/hooks/archiso @@ -69,10 +69,23 @@ _mnt_sfs() { # defined via initcpio's parse_cmdline() if [ "${copytoram}" = "y" ]; then msg -n ":: Copying squashfs image to RAM..." - if ! cp -- "${img}" "/run/archiso/copytoram/${img_fullname}" ; then + + # in case we have pv use it to display copy progress feedback otherwise + # fallback to using plain cp + if [ -x /usr/bin/pv ]; then + echo "" + (pv "${img}" > "/run/archiso/copytoram/${img_fullname}") + local rc=$? + else + (cp -- "${img}" "/run/archiso/copytoram/${img_fullname}") + local rc=$? + fi + + if [ $rc != 0 ]; then echo "ERROR: while copy '${img}' to '/run/archiso/copytoram/${img_fullname}'" launch_interactive_shell fi + img="/run/archiso/copytoram/${img_fullname}" msg "done." fi diff --git a/archiso/initcpio/install/archiso b/archiso/initcpio/install/archiso index 74948c7..df0f6b5 100644 --- a/archiso/initcpio/install/archiso +++ b/archiso/initcpio/install/archiso @@ -18,6 +18,7 @@ build() { add_binary truncate add_binary gpg add_binary grep + add_binary pv add_file /usr/lib/udev/rules.d/60-cdrom_id.rules add_file /usr/lib/udev/rules.d/10-dm.rules diff --git a/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf b/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf new file mode 100644 index 0000000..c5e9ab9 --- /dev/null +++ b/configs/baseline/efiboot/loader/entries/archiso-x86_64-linux-ram.conf @@ -0,0 +1,7 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +title Arch Linux (x86_64, UEFI) Copy to RAM +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram diff --git a/configs/baseline/packages.x86_64 b/configs/baseline/packages.x86_64 index cadea18..224f7f0 100644 --- a/configs/baseline/packages.x86_64 +++ b/configs/baseline/packages.x86_64 @@ -6,6 +6,7 @@ linux mkinitcpio mkinitcpio-archiso openssh +pv qemu-guest-agent syslinux virtualbox-guest-utils-nox diff --git a/configs/baseline/syslinux/syslinux-linux.cfg b/configs/baseline/syslinux/syslinux-linux.cfg index 867d815..ced6801 100644 --- a/configs/baseline/syslinux/syslinux-linux.cfg +++ b/configs/baseline/syslinux/syslinux-linux.cfg @@ -6,3 +6,9 @@ MENU LABEL Arch Linux (x86_64, BIOS) LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% + +LABEL arch-ram +MENU LABEL Arch Linux (x86_64, BIOS) Copy to RAM +LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram -- cgit v1.2.3-70-g09d2 From f4324e2f814733e711ba29b1b0272dc593e014bc Mon Sep 17 00:00:00 2001 From: David Runge Date: Thu, 29 Jul 2021 20:45:08 +0200 Subject: Remove SPDX license identifier from releng configs configs/baseline/*: Remove the SPDX license identifier comment from the configuration files in the profile, as they are not eligible for copyright. --- configs/baseline/airootfs/etc/mkinitcpio.conf | 3 --- configs/baseline/airootfs/etc/mkinitcpio.d/linux.preset | 3 --- configs/baseline/airootfs/etc/systemd/network/20-ethernet.network | 3 --- .../wait-for-only-one-interface.conf | 3 --- configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf | 3 --- .../baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf | 3 --- configs/baseline/efiboot/loader/loader.conf | 3 --- configs/baseline/packages.x86_64 | 2 -- configs/baseline/pacman.conf | 2 -- configs/baseline/syslinux/syslinux-linux.cfg | 3 --- configs/baseline/syslinux/syslinux.cfg | 3 --- 11 files changed, 31 deletions(-) (limited to 'configs/baseline/syslinux/syslinux-linux.cfg') diff --git a/configs/baseline/airootfs/etc/mkinitcpio.conf b/configs/baseline/airootfs/etc/mkinitcpio.conf index 4b7b7fb..34b1a06 100644 --- a/configs/baseline/airootfs/etc/mkinitcpio.conf +++ b/configs/baseline/airootfs/etc/mkinitcpio.conf @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - # vim:set ft=sh # MODULES # The following modules are loaded before any boot hooks are diff --git a/configs/baseline/airootfs/etc/mkinitcpio.d/linux.preset b/configs/baseline/airootfs/etc/mkinitcpio.d/linux.preset index d35f137..9f67184 100644 --- a/configs/baseline/airootfs/etc/mkinitcpio.d/linux.preset +++ b/configs/baseline/airootfs/etc/mkinitcpio.d/linux.preset @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - # mkinitcpio preset file for the 'linux' package on archiso PRESETS=('archiso') diff --git a/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network b/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network index 9157e96..e8842f2 100644 --- a/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network +++ b/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - [Match] Name=en* Name=eth* diff --git a/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf index 191db81..c9f9bce 100644 --- a/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf +++ b/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - # Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist, # network-online.target gets needlessly delayed. # See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online diff --git a/configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf index 8dd7a16..11624b6 100644 --- a/configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf +++ b/configs/baseline/efiboot/loader/entries/01-archiso-x86_64-linux.conf @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - title Arch Linux (x86_64, UEFI) linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img diff --git a/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf b/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf index c5e9ab9..d66f5a6 100644 --- a/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf +++ b/configs/baseline/efiboot/loader/entries/02-archiso-x86_64-ram-linux.conf @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - title Arch Linux (x86_64, UEFI) Copy to RAM linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img diff --git a/configs/baseline/efiboot/loader/loader.conf b/configs/baseline/efiboot/loader/loader.conf index beacd81..17110fa 100644 --- a/configs/baseline/efiboot/loader/loader.conf +++ b/configs/baseline/efiboot/loader/loader.conf @@ -1,5 +1,2 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - timeout 3 default 01-archiso-x86_64-linux.conf diff --git a/configs/baseline/packages.x86_64 b/configs/baseline/packages.x86_64 index 224f7f0..0a64120 100644 --- a/configs/baseline/packages.x86_64 +++ b/configs/baseline/packages.x86_64 @@ -1,5 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later base cloud-init linux diff --git a/configs/baseline/pacman.conf b/configs/baseline/pacman.conf index adb1ea8..5ee6c1e 100644 --- a/configs/baseline/pacman.conf +++ b/configs/baseline/pacman.conf @@ -2,8 +2,6 @@ # /etc/pacman.conf # # See the pacman.conf(5) manpage for option and repository directives -# -# SPDX-License-Identifier: GPL-3.0-or-later # # GENERAL OPTIONS diff --git a/configs/baseline/syslinux/syslinux-linux.cfg b/configs/baseline/syslinux/syslinux-linux.cfg index ced6801..6bfd0c3 100644 --- a/configs/baseline/syslinux/syslinux-linux.cfg +++ b/configs/baseline/syslinux/syslinux-linux.cfg @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - LABEL arch MENU LABEL Arch Linux (x86_64, BIOS) LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg index f35f0c2..561ac7c 100644 --- a/configs/baseline/syslinux/syslinux.cfg +++ b/configs/baseline/syslinux/syslinux.cfg @@ -1,6 +1,3 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - SERIAL 0 115200 UI menu.c32 MENU TITLE Arch Linux -- cgit v1.2.3-70-g09d2