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 8f0100baee SystemRescue+ZFS 11.02+2.2.6
🌎 External changes:
- Upgrade SystemRescue to v11.02 and archzfs to v2.2.6.
- Reduce ISO image size to < 1 GiB by:
  - uninstalling kernel headers once `zfs-dkms` has been built;
  - removing `alsa-utils`, `pavucontrol`, `pulseaudio-alsa`, `tcl`,
    `tk`, `usb_modeswitch`, `xfburn`, and `xfce4-pulseaudio-plugin`;
  - replacing Qt6 `featherpad` with native `mousepad`;
  - downgrading `ghex` to GTK3 v3.41.1-1;
  - downgrading `linux-firmware` to smaller v20240115.9b6d0b08-2; and
  - downgrading `qtpass` to Qt5 v1.4.0-2. Fixes #15.
- Update README and add FUNDING file.

🏠 Internal changes:
- Switch over to archzfs's experimental repository.
- Change deprecated `hugo(1)` argument `--verbose` → `--logLevel info`.
- Remove `build-zfs-srm` utility script.
- Tweak initramfs compression options.

Fixes #16.
2024-11-25 22:30:54 -06:00
airootfs SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06: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 Fix Iso build issue with podman 2024-04-03 21:16:28 +02:00
efiboot/grub SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06: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 SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06:00
sysrescue.d support configuring the content of the bash_history in the YAML config 2022-12-11 19:26:14 +01:00
website@ecb8125fc3 SystemRescue-11.02 2024-08-29 18:43:43 +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 SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06:00
ChangeLog SystemRescue-11.02 2024-08-29 18:43:43 +01:00
FUNDING.yml SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06: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 SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06:00
pacman.conf SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06:00
README.md SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06:00
VERSION SystemRescue+ZFS 11.02+2.2.6 2024-11-25 22:30:54 -06: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
  • ISO image below 1 GiB in size

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: Use fast 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