A fork of SystemRescue (formerly SystemRescueCd) with ZFS built-in and serial console access enabled for all boot options. Download bootable ISOs from the releases page.
Find a file
Nick Chevsky aaf018df1e v10.01+2.1.12
- Bundle `archzfs` as a DKMS module.
- Enable serial console for all boot options, including Memtest86+.
- Add EFI boot progress indicators for kernel/initramfs/system stages.
- Print headers and done vs. skipped indicators for each build step.
- Polish `issue(5)`.

Fixes #9.
2023-07-04 22:05:55 -05:00
airootfs v10.01+2.1.12 2023-07-04 22:05:55 -05:00
autorun Allow autorun scripts to be located in a folder at the root of the ISO 2022-01-08 17:14:01 +00:00
docker Remove build image for i686 2023-05-27 20:01:56 +01:00
efiboot/grub v10.01+2.1.12 2023-07-04 22:05:55 -05:00
isolinux Revert original name when related to boot config 2020-09-13 20:51:08 +01:00
patches fix build with newer glibc due to libnss symlinks 2022-12-15 23:01:02 +01:00
srm Include any SystemRescueModules files present in srm directory in the produced iso. 2021-05-24 21:43:16 +02:00
syslinux v10.01+2.1.12 2023-07-04 22:05:55 -05:00
sysrescue.d support configuring the content of the bash_history in the YAML config 2022-12-11 19:26:14 +01:00
website@8c3da5be7f SystemRescue-10.01 2023-05-27 21:23:00 +01:00
.gitignore SystemRescueCd-6.0.0 2019-02-02 11:22:52 +00:00
.gitmodules Use the branch which contains the latest version of the website 2022-04-02 13:27:15 +01:00
build.sh v10.01+2.1.12 2023-07-04 22:05:55 -05:00
ChangeLog SystemRescue-10.01 2023-05-27 21:23:00 +01:00
LICENSE Updated LICENCE to follow archiso 2020-07-30 19:54:19 +01:00
mirrorlist-snapshot-i686 Use snapshot archive repo for pacman in SystemRescue by default 2021-12-06 21:06:23 +01:00
mirrorlist-snapshot-x86_64 Build image based on defined repo snapshot date 2021-12-05 00:10:40 +01:00
mkinitcpio.conf Reduce compression ratio for initramfs on i686 to prevent a crash at build time (#261) 2022-02-26 21:25:07 +00:00
packages v10.01+2.1.12 2023-07-04 22:05:55 -05:00
pacman.conf v10.01+2.1.12 2023-07-04 22:05:55 -05:00
README.md v10.01+2.1.12 2023-07-04 22:05:55 -05:00
VERSION v10.01+2.1.12 2023-07-04 22:05:55 -05:00

Overview

SystemRescue+ZFS is a fork of the SystemRescue distribution (based on Arch Linux) with the following improvements:

  • ZFS supported out of the box
  • Serial console enabled for all boot options, including Memtest86+
  • EFI boot progress indicators for the kernel/initramfs/system stages
  • Headers and done vs. skipped indicators for each build step
  • Extra polish

Serial console

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, then build a new image.

Bootloader

GRUB (EFI boot) SYSLINUX (legacy boot)
📍 efiboot/grub/grubsrcd.cfg
serial --unit=0 --speed=115200 …
📍 syslinux/sysresccd_head.cfg
SERIAL 0 115200

Kernel

📍 build.sh
consoles='console=ttyS0,115200 …'

Building

$ sudo ./build.sh [-d] [-v]

  • -d: Turn off compression, significantly speeding up development builds.
  • -v: Print more information while building (strongly recommended).

Dependencies

Arch Linux with the following packages installed:

  • arch-install-scripts
  • archiso from the custom SystemRescue repository ⚠️
  • base-devel
  • edk2-shell
  • grub
  • hugo
  • isomd5sum
  • mtools

Rebuilds

The state of successful build 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.

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