diff --git a/README.md b/README.md index 472d113..c65374a 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,72 @@ -# SystemRescue +# Overview -## Project website -Homepage: https://www.system-rescue.org/ +**SystemRescue+ZFS** is a fork of the [SystemRescue](http://www.system-rescue.org/) distribution (based on [Arch Linux](https://www.archlinux.org)) with the following improvements: -## Project sources -This git repository contains SystemRescue sources files. This is based on -https://gitlab.archlinux.org/archlinux/archiso/ +- [ZFS](https://github.com/archzfs/archzfs/) supported out of the box +- [Serial console](#serial-console) enabled for all boot options, including [Memtest86+](https://www.memtest.org/) +- EFI boot progress indicators for the kernel/initramfs/system stages +- Headers and done vs. skipped indicators for each build step +- Extra polish -## Building SystemRescue -SystemRescue can be built for x86_64 or i686 architectures. It must be built -on archlinux if you want to build a 64bit edition, or archlinux32 if you want -to create a 32bit edition. The following packages must be installed on the -build system: archiso, grub, isomd5sum, mtools, edk2-shell, hugo. +# Serial console -You need to use a modified version of archiso for the build to work. This -version is provided in the custom `sysrescuerepo` repository. See the -`pacman.conf` file in the source. Either copy the `sysrescuerepo` section -into your `/etc/pacman.conf` or replace the whole `/etc/pacman.conf` file with -the one from the source. Install archiso afterwards. +A serial terminal is enabled out of the box on `ttyS0`/`COM1` at 115,200 baud. If these settings are unsuitable, adjust the configuration of the appropriate bootloader and the [kernel](https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html), then [build](#building) a new image. -The package list contains packages which are not part of the official binary -package repositories from Arch Linux. These packages are also provided in the -`sysrescuerepo` repository. If you want to rebuild them, see -[systemrescue-custompkg](https://gitlab.com/systemrescue/systemrescue-custompkg). -Create a local repository out of them with `repo-add`, host it on a webserver -and then adapt pacman.conf. +## Bootloader -The build process requires the systemrescue-website repository which is included -as git submodule. So when checking out this repository, make sure to check out -the submodule too. This can be done for example with -`git clone --recurse-submodules https://gitlab.com/systemrescue/systemrescue-sources.git` +| [GRUB](https://www.gnu.org/software/grub/manual/grub/grub.html) (EFI boot) | [SYSLINUX](https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX) (legacy boot) | +| --- | --- | +| 📍 [`efiboot/grub/grubsrcd.cfg`](efiboot/grub/grubsrcd.cfg)
`serial --unit=0 --speed=115200 …` | 📍 [`syslinux/sysresccd_head.cfg`](syslinux/sysresccd_head.cfg)
`SERIAL 0 115200` | -The build process can be started by running the build.sh script. It will create -a large "work" sub-directory and the ISO file will be written in the "out" -sub-directory. +## Kernel -## Building SystemRescue with docker -If you are not running archlinux, you can run the build process in docker -containers. You need to have a Linux system running with docker installed -and configured. You can use the scripts provided in the `docker` folder of -this repository. +📍 [`build.sh`](build.sh)
`consoles='console=ttyS0,115200 …'` -You must export the environment variable named `sysrescuearch` before you -run the two helper scripts. It should be set as either `x86_64` or `i686` -depending on the target architecture for which you want to build the ISO image. +# Building -After this, you need to run the script which builds a new docker image, and -then the script which uses this docker image to builds the ISO image. The second -script will pass the arguments it receives to the main `build.sh` script. +`$ sudo ./build.sh [-d] [-v]` -For example you can build a 64bit version of SystemRescue in docker using these commands: -``` -export sysrescuearch="x86_64" -./docker/build-docker-image.sh -./docker/build-iso-image.sh -v -``` +- `-d`: Turn off compression, significantly speeding up development builds. +- `-v`: Print more information while building (strongly recommended). -## Including your SystemRescueModules -If you want to include your own [SystemRescueModules][srm], place their srm files -in the [srm](./srm) directory of the repository before running the build script. +## Dependencies -[srm]: https://www.system-rescue.org/Modules/ +[Arch Linux](https://www.archlinux.org) with the following packages installed: +- `arch-install-scripts` +- `archiso` from the custom [SystemRescue repository](https://sysrescuerepo.system-rescue.org/) ⚠️ +- `base-devel` +- `edk2-shell` +- `grub` +- `hugo` +- `isomd5sum` +- `mtools` -## Project sponsors +## Rebuilds -Infrastructure for SystemRescue is sponsored by: +The state of successful [build steps](#steps) is persisted in `work/build.make_*` files. If such a file exists for a given build step, `build.sh` skips that step indefinitely. State files must be manually deleted for any steps that one wants reexecuted. -|    [fastly](https://www.fastly.com)    |    [netcup](https://www.netcup.eu)    | +### Full rebuild + +`$ sudo rm work/build.make_*` + +### Partial rebuild + +Delete the state file for the desired step **and any downstream steps**. For example, if you have customized the GRUB configuration, you must remove `build.make_efi` and its successors `build.make_efiboot` and `build.make_iso`. + +## Steps + +1. `make_pacman_conf` +2. `make_basefs` +3. `make_documentation` +4. `make_packages` +5. `make_customize_airootfs` +6. `make_setup_mkinitcpio` +7. `make_boot` +8. `make_boot_extra` +9. `make_syslinux` +10. `make_isolinux` +11. `make_efi` +12. `make_efiboot` +13. `make_prepare` +14. `make_imageinfo` +15. `make_iso` diff --git a/VERSION b/VERSION index fe47507..0235572 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -10.01 +10.01+2.1.12 diff --git a/airootfs/etc/issue b/airootfs/etc/issue index feed99a..ccb2c88 100644 --- a/airootfs/etc/issue +++ b/airootfs/etc/issue @@ -1,14 +1,14 @@ -\e[01;31m ========= \e[01;37mSystemRescue %ISO_VERSION% (%ISO_ARCH%)\e[01;31m ======== \e[01;37m\l\e[00;37m/6\e[01;31m ========= - \e[00;31mhttps://www.system-rescue.org/ +\e[01;31m============== \e[01;37m%ISO_APPLICATION% %ISO_VERSION%\e[01;31m --- \e[01;37m\l \e[01;31m============== + \e[01;31m%ISO_URL% -\e[00;31m*\e[01;31m Console environment\e[00;37m : - Run \e[01;37msetkmap\e[00;37m to choose the keyboard layout (also accessible with the arrow up key) - Run \e[01;37mmanual\e[00;37m to read the documentation of SystemRescue +\e[00;31m*\e[01;31m Console environment:\e[00;37m + Run \e[01;37msetkmap\e[00;37m or press ↑ to choose the keyboard layout. + Run \e[01;37mmanual\e[00;37m to read the SystemRescue documentation. -\e[00;31m*\e[01;31m Graphical environment\e[00;37m : - Type \e[01;37mstartx\e[00;37m to run the graphical environment - X.Org comes with the XFCE environment and several graphical tools: - \e[00;31m-\e[00;37m Partition manager: .. \e[01;37mgparted\e[00;37m - \e[00;31m-\e[00;37m Web browser: ........ \e[01;37mfirefox\e[00;37m - \e[00;31m-\e[00;37m Text editor: ........ \e[01;37mfeatherpad\e[00;37m +\e[00;31m*\e[01;31m Graphical environment:\e[00;37m + Run \e[01;37mstartx\e[00;37m to start the graphical environment. + X.Org comes with the XFCE environment and several graphical tools: + \e[00;31m-\e[00;37m Partition manager: \e[01;37mgparted\e[00;37m + \e[00;31m-\e[00;37m Web browser: \e[01;37mfirefox\e[00;37m + \e[00;31m-\e[00;37m Text editor: \e[01;37mfeatherpad\e[00;37m diff --git a/airootfs/root/customize_airootfs.sh b/airootfs/root/customize_airootfs.sh index da547fc..cb621f0 100755 --- a/airootfs/root/customize_airootfs.sh +++ b/airootfs/root/customize_airootfs.sh @@ -30,7 +30,7 @@ sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf ln -sf /dev/null /etc/udev/rules.d/90-alsa-restore.rules # config symlink -mkdir /etc/sysrescue/ +mkdir -p /etc/sysrescue/ ln -sf /run/archiso/config/sysrescue-effective-config.json /etc/sysrescue/sysrescue-effective-config.json # Services @@ -123,6 +123,11 @@ sed -i -e '/# ==== BEGIN sysrescuerepo ====/,/# ==== END sysrescuerepo ====/d' / # Customizations /usr/bin/updatedb +# Trust archzfs key +pacman-key --init +pacman-key -r DDF7DB817396A49B2A2723F7403BD972F75D9D76 +pacman-key --lsign-key DDF7DB817396A49B2A2723F7403BD972F75D9D76 + # Packages pacman -Q > /root/packages-list.txt expac -H M -s "%-30n %m" | sort -rhk 2 > /root/packages-size.txt diff --git a/build.sh b/build.sh index b210046..bd3092b 100755 --- a/build.sh +++ b/build.sh @@ -5,12 +5,13 @@ set -e -u script_path=$(readlink -f ${0%/*}) version_file="${script_path}/VERSION" -iso_name=systemrescue +consoles='console=ttyS0,115200 console=tty0' +iso_application="SystemRescue+ZFS" iso_version="$(<${version_file})" -iso_mainver="${iso_version%-*}" -iso_label="RESCUE${iso_mainver//.}" -iso_publisher="SystemRescue " -iso_application="SystemRescue" +iso_name=$(echo "$iso_application" | tr '[:upper:]' '[:lower:]') +iso_label="${iso_application}_${iso_version}" +iso_url="http://oss.blazis.com/systemrescue+zfs" +iso_publisher="Nick Chevsky <${iso_url}>" install_dir=sysresccd image_info_file="${install_dir}/.imageinfo" work_dir=work @@ -129,9 +130,14 @@ determine_snapshot_date() { # Helper function to run make_*() only one time per architecture. run_once() { + echo -e "\n================================================================================" + echo -e "$1\n================================================================================" if [[ ! -e ${work_dir}/build.${1} ]]; then $1 touch ${work_dir}/build.${1} + echo -e "\nDone." + else + echo -e "\nSkipped. To rebuild this step, delete ${work_dir}/build.${1}." fi } @@ -161,8 +167,8 @@ make_documentation() { fi # is the documentation up to date? ignore for beta and test versions - if ! echo "${iso_version}" | grep -i -q "beta\|test" && \ - ! grep -q "${iso_version}" website/content/Changes-x86/_index.md; then + if ! echo "${iso_version%+*}" | grep -i -q "beta\|test" && \ + ! grep -q "${iso_version%+*}" website/content/Changes-x86/_index.md; then echo "ERROR: current version not in changelog. Did you update the website submodule?" exit 1 fi @@ -201,7 +207,8 @@ make_customize_airootfs() { cp ${version_file} ${work_dir}/${arch}/airootfs/root/version - sed "s|%ARCHISO_LABEL%|${iso_label}|g; + sed "s|%ISO_APPLICATION%|${iso_application}|g; + s|%ISO_URL%|${iso_url}|g; s|%ISO_VERSION%|${iso_version}|g; s|%ISO_ARCH%|${arch}|g; s|%INSTALL_DIR%|${install_dir}|g" \ @@ -305,6 +312,9 @@ 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|%CONSOLES%|${consoles}|g; + s|%ISO_APPLICATION%|${iso_application}|g; + s|%ISO_URL%|${iso_url}|g; s|%ISO_VERSION%|${iso_version}|g; s|%ISO_ARCH%|${arch}|g; s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g; @@ -336,6 +346,8 @@ make_efi() { cp -a /usr/lib/grub/${efiarch} ${work_dir}/iso/boot/grub/ cp ${script_path}/efiboot/grub/font.pf2 ${work_dir}/iso/boot/grub/ sed "s|%ARCHISO_LABEL%|${iso_label}|g; + s|%CONSOLES%|${consoles}|g; + s|%ISO_APPLICATION%|${iso_application}|g; s|%ISO_VERSION%|${iso_version}|g; s|%ISO_ARCH%|${arch}|g; s|%DEFAULT_KERNEL_PARAM%|${default_kernel_param}|g; @@ -395,7 +407,7 @@ make_imageinfo() { echo "# SystemRescue imageinfo - used by systemrescue-usbwriter to check compatibility" >"${work_dir}/iso/${image_info_file}" echo "NAME=SystemRescue" >>"${work_dir}/iso/${image_info_file}" - echo "VERSION=${iso_version}" >>"${work_dir}/iso/${image_info_file}" + echo "VERSION=${iso_version%+*}" >>"${work_dir}/iso/${image_info_file}" echo "ARCH=${arch}" >>"${work_dir}/iso/${image_info_file}" echo "SYSLINUX_VERSION=${syslinux_ver}" >>"${work_dir}/iso/${image_info_file}" echo "" >>"${work_dir}/iso/${image_info_file}" diff --git a/efiboot/grub/grubsrcd.cfg b/efiboot/grub/grubsrcd.cfg index 9435c30..b9d3811 100644 --- a/efiboot/grub/grubsrcd.cfg +++ b/efiboot/grub/grubsrcd.cfg @@ -10,7 +10,7 @@ if [ -z "$srcd_skip_init" ]; then # Display settings if loadfont /boot/grub/font.pf2 ; then - set gfxmode=640x480 + set gfxmode=800x600,auto set color_normal=black/cyan set color_highlight=black/light-gray set menu_color_normal=black/cyan @@ -39,60 +39,75 @@ fi # like $archiso_param to be visible in the GRUB editor eval " -menuentry 'Boot SystemRescue using default options' { +menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% using default options' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } -menuentry 'Boot SystemRescue and copy system to RAM (copytoram)' { +menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% and copy system to RAM (copytoram)' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% copytoram + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% copytoram + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } -menuentry 'Boot SystemRescue and verify integrity of the medium (checksum)' { +menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% and verify integrity of the medium (checksum)' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% checksum + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% checksum + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } -menuentry 'Boot SystemRescue using basic display drivers (nomodeset)' { +menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% using basic display drivers (nomodeset)' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% nomodeset + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% nomodeset + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } -menuentry 'Boot SystemRescue with serial console (ttyS0,115200n8)' { +menuentry 'Boot %ISO_APPLICATION% %ISO_VERSION% without activating md raid or lvm (nomdlvm)' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% console=tty0 console=ttyS0,115200n8 - initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img -} - -menuentry 'Boot SystemRescue, do not activate md raid or lvm (nomdlvm)' { - set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% nomdlvm + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% nomdlvm + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } menuentry 'Boot a Linux operating system installed on the disk (findroot)' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% findroot + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% findroot + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } menuentry 'Stop during the boot process before mounting the root filesystem' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% break + echo 'Loading kernel...' + linux /%INSTALL_DIR%/boot/%ISO_ARCH%/vmlinuz archisobasedir=%INSTALL_DIR% $archiso_param %DEFAULT_KERNEL_PARAM% %CONSOLES% break + echo 'Loading initramfs...' initrd /%INSTALL_DIR%/boot/intel_ucode.img /%INSTALL_DIR%/boot/amd_ucode.img /%INSTALL_DIR%/boot/%ISO_ARCH%/sysresccd.img + echo 'Booting...' } source /boot/grub/custom.cfg menuentry 'Memtest86+ memory tester for UEFI' { insmod fat - set gfxpayload=800x600,1024x768 - linux /EFI/memtest.efi keyboard=both + set gfxpayload=640x480,800x600,1024x768,auto + linux /EFI/memtest.efi keyboard=both %CONSOLES% } menuentry 'Start EFI Shell' { diff --git a/packages b/packages index b216ba1..9295144 100644 --- a/packages +++ b/packages @@ -111,6 +111,7 @@ linux-firmware linux-firmware-bnx2x linux-firmware-marvell linux-lts +linux-lts-headers lm_sensors localepurge lshw @@ -285,6 +286,7 @@ yay yubikey-manager yubikey-personalization-gui zerofree +zfs-dkms zip zsh zstd diff --git a/pacman.conf b/pacman.conf index e147c94..5a4765a 100644 --- a/pacman.conf +++ b/pacman.conf @@ -76,9 +76,11 @@ Server = https://sysrescuerepo.system-rescue.org/$arch SigLevel = Optional TrustAll # ==== END sysrescuerepo ==== +[archzfs] +Server = https://archzfs.com/$repo/$arch + [core] Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/mirrorlist - diff --git a/syslinux/sysresccd_head.cfg b/syslinux/sysresccd_head.cfg index 231f348..18c609c 100644 --- a/syslinux/sysresccd_head.cfg +++ b/syslinux/sysresccd_head.cfg @@ -1,6 +1,6 @@ SERIAL 0 115200 UI boot/syslinux/vesamenu.c32 -MENU TITLE SYSTEM-RESCUE %ISO_VERSION% %ISO_ARCH% (www.system-rescue.org) +MENU TITLE %ISO_APPLICATION% %ISO_VERSION% MENU BACKGROUND #c000a8a8 TIMEOUT 300 diff --git a/syslinux/sysresccd_pxe.cfg b/syslinux/sysresccd_pxe.cfg index f9f3187..f99049f 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} %DEFAULT_KERNEL_PARAM% +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} %DEFAULT_KERNEL_PARAM% %CONSOLES% 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 %DEFAULT_KERNEL_PARAM% +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/sysresccd/bootmnt %DEFAULT_KERNEL_PARAM% %CONSOLES% 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}/ %DEFAULT_KERNEL_PARAM% +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ %DEFAULT_KERNEL_PARAM% %CONSOLES% SYSAPPEND 3 INCLUDE boot/syslinux/sysresccd_tail.cfg diff --git a/syslinux/sysresccd_sys.cfg b/syslinux/sysresccd_sys.cfg index 146b9cc..80e1e50 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% %DEFAULT_KERNEL_PARAM% +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% 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% %DEFAULT_KERNEL_PARAM% copytoram +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% 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% %DEFAULT_KERNEL_PARAM% checksum +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% checksum LABEL sysresccd_nomodeset TEXT HELP @@ -34,16 +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% %DEFAULT_KERNEL_PARAM% nomodeset - -LABEL sysresccd-serial -TEXT HELP -Use a serial console. -ENDTEXT -MENU LABEL Boot SystemRescue with serial console (ttyS0,115200n8) -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% %DEFAULT_KERNEL_PARAM% console=tty0 console=ttyS0,115200n8 +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% nomodeset LABEL sysresccd-nomdlvm TEXT HELP @@ -53,7 +44,7 @@ ENDTEXT MENU LABEL Boot SystemRescue, do not activate md raid or lvm (nomdlvm) 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% %DEFAULT_KERNEL_PARAM% nomdlvm +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% nomdlvm LABEL sysresccd_findroot TEXT HELP @@ -62,7 +53,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% %DEFAULT_KERNEL_PARAM% findroot +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% findroot LABEL sysresccd_break TEXT HELP @@ -71,7 +62,7 @@ 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% %DEFAULT_KERNEL_PARAM% break +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% %DEFAULT_KERNEL_PARAM% %CONSOLES% break INCLUDE boot/syslinux/sysresccd_custom.cfg diff --git a/syslinux/sysresccd_tail.cfg b/syslinux/sysresccd_tail.cfg index 605c2e6..4ec9e14 100644 --- a/syslinux/sysresccd_tail.cfg +++ b/syslinux/sysresccd_tail.cfg @@ -11,6 +11,7 @@ APPEND hd0 0 LABEL memtest MENU LABEL Run Memtest86+ (RAM test) LINUX boot/memtest +APPEND %CONSOLES% # http://hdt-project.org/ #LABEL hdt