Skip to content

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.

License

Notifications You must be signed in to change notification settings

nchevsky/systemrescue-zfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8f0100b Β· Nov 26, 2024
Nov 26, 2024
Jan 8, 2022
Apr 3, 2024
Nov 26, 2024
Sep 13, 2020
Dec 15, 2022
May 24, 2021
Nov 26, 2024
Dec 11, 2022
Aug 29, 2024
Feb 2, 2019
Apr 2, 2022
Aug 29, 2024
Nov 26, 2024
Jul 30, 2020
Nov 26, 2024
Nov 26, 2024
Nov 26, 2024
Dec 6, 2021
Dec 4, 2021
Feb 26, 2022
Nov 26, 2024
Nov 26, 2024

Repository files navigation

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