diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 4b56542..3ef4085 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -130,7 +130,8 @@ make_syslinux() { mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux for _cfg in ${script_path}/syslinux/*.cfg; do sed "s|%ARCHISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/} + s|%INSTALL_DIR%|${install_dir}|g; + s|%ISO_VERSION%|${iso_version}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/} done cp ${script_path}/syslinux/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux @@ -164,7 +165,8 @@ make_efi() { cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ sed "s|%ARCHISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ + s|%INSTALL_DIR%|${install_dir}|g; + s|%ISO_VERSION%|${iso_version}|g" \ ${script_path}/efiboot/loader/entries/archiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/archiso-x86_64.conf # EFI Shell 2.0 for UEFI 2.3+ @@ -173,6 +175,20 @@ make_efi() { curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/UDK2018/EdkShellBinPkg/FullShell/X64/Shell_Full.efi } +# Prepare /EFI/syslinux +make_efi_syslinux() { + mkdir -p ${work_dir}/iso/EFI/syslinux + for _cfg in ${script_path}/syslinux_efi64/*.cfg; do + sed "s|%ARCHISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g; + s|%ISO_VERSION%|${iso_version}|g" ${_cfg} > ${work_dir}/iso/EFI/syslinux/${_cfg##*/} + done + cp ${script_path}/syslinux_efi64/splash.png ${work_dir}/iso/EFI/syslinux + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi64/*.c32 ${work_dir}/iso/EFI/syslinux + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi64/ldlinux.e64 ${work_dir}/iso/EFI/syslinux + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi64/syslinux.efi ${work_dir}/iso/EFI/syslinux +} + # Prepare efiboot.img::/EFI for "El Torito" EFI boot mode make_efiboot() { mkdir -p ${work_dir}/iso/EFI/archiso @@ -201,7 +217,8 @@ make_efiboot() { cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ sed "s|%ARCHISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ + s|%INSTALL_DIR%|${install_dir}|g; + s|%ISO_VERSION%|${iso_version}|g" \ ${script_path}/efiboot/loader/entries/archiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/archiso-x86_64.conf cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ @@ -261,6 +278,7 @@ run_once make_boot_extra run_once make_syslinux run_once make_isolinux run_once make_efi +run_once make_efi_syslinux run_once make_efiboot run_once make_prepare run_once make_iso diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf index b77ed98..5d01b2f 100644 --- a/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf +++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf @@ -1,4 +1,4 @@ -title Arch Linux archiso x86_64 UEFI CD +title Arch Linux %ISO_VERSION% x86_64 UEFI CD linux /EFI/archiso/vmlinuz.efi initrd /EFI/archiso/intel_ucode.img initrd /EFI/archiso/amd_ucode.img diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf index 09adca4..17c01c2 100644 --- a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf +++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf @@ -1,4 +1,4 @@ -title Arch Linux archiso x86_64 UEFI USB +title Arch Linux %ISO_VERSION% x86_64 UEFI USB linux /%INSTALL_DIR%/boot/x86_64/vmlinuz initrd /%INSTALL_DIR%/boot/intel_ucode.img initrd /%INSTALL_DIR%/boot/amd_ucode.img diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg index 10fd285..f4796a3 100644 --- a/configs/releng/isolinux/isolinux.cfg +++ b/configs/releng/isolinux/isolinux.cfg @@ -3,4 +3,4 @@ DEFAULT loadconfig LABEL loadconfig CONFIG /%INSTALL_DIR%/boot/syslinux/archiso.cfg - APPEND /%INSTALL_DIR%/ + APPEND /%INSTALL_DIR%/boot/syslinux diff --git a/configs/releng/syslinux/archiso.cfg b/configs/releng/syslinux/archiso.cfg index 40d8b34..cbda72f 100644 --- a/configs/releng/syslinux/archiso.cfg +++ b/configs/releng/syslinux/archiso.cfg @@ -1,11 +1,11 @@ DEFAULT select LABEL select -COM32 boot/syslinux/whichsys.c32 +COM32 whichsys.c32 APPEND -pxe- pxe -sys- sys -iso- sys LABEL pxe -CONFIG boot/syslinux/archiso_pxe.cfg +CONFIG archiso_pxe.cfg LABEL sys -CONFIG boot/syslinux/archiso_sys.cfg +CONFIG archiso_sys.cfg diff --git a/configs/releng/syslinux/archiso_head.cfg b/configs/releng/syslinux/archiso_head.cfg index 81ad26e..851d82f 100644 --- a/configs/releng/syslinux/archiso_head.cfg +++ b/configs/releng/syslinux/archiso_head.cfg @@ -1,7 +1,7 @@ SERIAL 0 38400 -UI boot/syslinux/vesamenu.c32 -MENU TITLE Arch Linux -MENU BACKGROUND boot/syslinux/splash.png +UI vesamenu.c32 +MENU TITLE Arch Linux %ISO_VERSION% (Legacy boot) +MENU BACKGROUND splash.png MENU WIDTH 78 MENU MARGIN 4 diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe.cfg index 92af749..6cc3399 100644 --- a/configs/releng/syslinux/archiso_pxe.cfg +++ b/configs/releng/syslinux/archiso_pxe.cfg @@ -1,4 +1,4 @@ -INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE archiso_head.cfg LABEL arch64_nbd TEXT HELP @@ -6,8 +6,8 @@ Boot the Arch Linux (x86_64) live medium (Using NBD). It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) (NBD) -LINUX boot/x86_64/vmlinuz -INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img +LINUX ::/arch/boot/x86_64/vmlinuz +INITRD ::/arch/boot/intel_ucode.img,::/arch/boot/amd_ucode.img,::/arch/boot/x86_64/archiso.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} SYSAPPEND 3 @@ -17,9 +17,9 @@ Boot the Arch Linux (x86_64) live medium (Using NFS). It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) (NFS) -LINUX boot/x86_64/vmlinuz -INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img -APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt +LINUX ::/arch/boot/x86_64/vmlinuz +INITRD ::/arch/boot/intel_ucode.img,::/arch/boot/amd_ucode.img,::/arch/boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/mnt/archiso SYSAPPEND 3 LABEL arch64_http @@ -28,9 +28,9 @@ Boot the Arch Linux (x86_64) live medium (Using HTTP). It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) (HTTP) -LINUX boot/x86_64/vmlinuz -INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img +LINUX ::/arch/boot/x86_64/vmlinuz +INITRD ::/arch/boot/intel_ucode.img,::/arch/boot/amd_ucode.img,::/arch/boot/x86_64/archiso.img APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ SYSAPPEND 3 -INCLUDE boot/syslinux/archiso_tail.cfg +INCLUDE archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys.cfg index a35a1ea..53fa324 100644 --- a/configs/releng/syslinux/archiso_sys.cfg +++ b/configs/releng/syslinux/archiso_sys.cfg @@ -1,4 +1,4 @@ -INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE archiso_head.cfg LABEL arch64 TEXT HELP @@ -6,8 +6,8 @@ Boot the Arch Linux (x86_64) live medium. It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) -LINUX boot/x86_64/vmlinuz -INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img +LINUX ../x86_64/vmlinuz +INITRD ../intel_ucode.img,../amd_ucode.img,../x86_64/archiso.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -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 e85d8e1..b2fca7c 100644 --- a/configs/releng/syslinux/archiso_tail.cfg +++ b/configs/releng/syslinux/archiso_tail.cfg @@ -4,24 +4,24 @@ 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 ../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 MENU LABEL Reboot -COM32 boot/syslinux/reboot.c32 +COM32 reboot.c32 LABEL poweroff MENU LABEL Power Off -COM32 boot/syslinux/poweroff.c32 +COM32 poweroff.c32 diff --git a/configs/releng/syslinux_efi64/archiso.cfg b/configs/releng/syslinux_efi64/archiso.cfg new file mode 100644 index 0000000..ab31372 --- /dev/null +++ b/configs/releng/syslinux_efi64/archiso.cfg @@ -0,0 +1,4 @@ +DEFAULT pxe + +LABEL pxe +CONFIG archiso_pxe.cfg diff --git a/configs/releng/syslinux_efi64/archiso_head.cfg b/configs/releng/syslinux_efi64/archiso_head.cfg new file mode 100644 index 0000000..a9b6c44 --- /dev/null +++ b/configs/releng/syslinux_efi64/archiso_head.cfg @@ -0,0 +1,25 @@ +SERIAL 0 38400 +UI vesamenu.c32 +MENU TITLE Arch Linux %ISO_VERSION% (UEFI boot) +MENU BACKGROUND splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/releng/syslinux_efi64/archiso_pxe.cfg b/configs/releng/syslinux_efi64/archiso_pxe.cfg new file mode 100644 index 0000000..6cc3399 --- /dev/null +++ b/configs/releng/syslinux_efi64/archiso_pxe.cfg @@ -0,0 +1,36 @@ +INCLUDE archiso_head.cfg + +LABEL arch64_nbd +TEXT HELP +Boot the Arch Linux (x86_64) live medium (Using NBD). +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) (NBD) +LINUX ::/arch/boot/x86_64/vmlinuz +INITRD ::/arch/boot/intel_ucode.img,::/arch/boot/amd_ucode.img,::/arch/boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} +SYSAPPEND 3 + +LABEL arch64_nfs +TEXT HELP +Boot the Arch Linux (x86_64) live medium (Using NFS). +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) (NFS) +LINUX ::/arch/boot/x86_64/vmlinuz +INITRD ::/arch/boot/intel_ucode.img,::/arch/boot/amd_ucode.img,::/arch/boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/mnt/archiso +SYSAPPEND 3 + +LABEL arch64_http +TEXT HELP +Boot the Arch Linux (x86_64) live medium (Using HTTP). +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) (HTTP) +LINUX ::/arch/boot/x86_64/vmlinuz +INITRD ::/arch/boot/intel_ucode.img,::/arch/boot/amd_ucode.img,::/arch/boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ +SYSAPPEND 3 + +INCLUDE archiso_tail.cfg diff --git a/configs/releng/syslinux_efi64/archiso_tail.cfg b/configs/releng/syslinux_efi64/archiso_tail.cfg new file mode 100644 index 0000000..116f5be --- /dev/null +++ b/configs/releng/syslinux_efi64/archiso_tail.cfg @@ -0,0 +1,30 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 chain.c32 +APPEND hd0 0 +MENU HIDE + + +# http://www.memtest.org/ +#LABEL memtest +#MENU LABEL Run Memtest86+ (RAM test) +#LINUX boot/memtest + + +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 hdt.c32 +APPEND modules_alias=::/arch/boot/syslinux/hdt/modalias.gz pciids=::/arch/boot/syslinux/hdt/pciids.gz + +LABEL reboot +MENU LABEL Reboot +COM32 reboot.c32 + +# LABEL poweroff +# MENU LABEL Power Off +# COM32 poweroff.c32 diff --git a/configs/releng/syslinux_efi64/splash.png b/configs/releng/syslinux_efi64/splash.png new file mode 100644 index 0000000..64b959a Binary files /dev/null and b/configs/releng/syslinux_efi64/splash.png differ