systemrescue-zfs/README.md
Nick Chevsky 023ef86591 SystemRescue+ZFS 12.00+2.3.1
🌎 External changes:
- 🚀 Upgrade SystemRescue to v12.00 and archzfs to v2.3.1.
-  Add a no-firewall boot entry to the GRUB and SYSLINUX menus.
  (If you'd like to vote for this to become the default boot entry,
  leave a 👀 reaction on this release.)
- 🪶 Replace Firefox with the more lightweight GNOME Web (`epiphany`).
- ✂️ Remove packages `b43-fwcutter`, `darkhttpd`, `discount`, `dkms`,
  `geany`, `irssi`, `keepassxc`, `linux-atm`, `qtpass`, `xorg-bdftopcf`,
  `xorg-mkfontscale`, `xorg-sessreg`, `xorg-smproxy`, `xorg-x11perf`,
  `xorg-xcmsdb`, `xorg-xcursorgen`, `xorg-xdriinfo`, `xorg-xgamma`,
  `xorg-xkbevd`, `xorg-xkbprint`, `xorg-xkbutils`, `xorg-xlsatoms`,
  `xorg-xlsclients`, `xorg-xpr`, `xorg-xrefresh`, `xorg-xsetroot`,
  `xorg-xvinfo`, `xorg-xwd`, `xorg-xwud`, `yubikey-manager`, and
  `yubikey-personalization-gui`.
- 🛠️ Fix reference to Featherpad (now Mousepad) left behind in
  `issue(5)` by v11.02+2.2.6.
- 🛠️ Make the image's volume label ISO-9660-compliant.

Closes #17.
2025-04-07 21:46:59 -05:00

2.6 KiB

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