🌎 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. |
||
|---|---|---|
| airootfs | ||
| autorun | ||
| docker | ||
| efiboot/grub | ||
| isolinux | ||
| patches | ||
| srm | ||
| syslinux | ||
| sysrescue.d | ||
| website@ecb8125fc3 | ||
| .gitignore | ||
| .gitmodules | ||
| build.sh | ||
| ChangeLog | ||
| FUNDING.yml | ||
| LICENSE | ||
| mirrorlist-snapshot-i686 | ||
| mirrorlist-snapshot-x86_64 | ||
| mkinitcpio.conf | ||
| packages | ||
| pacman.conf | ||
| README.md | ||
| VERSION | ||
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.cfgserial --unit=0 --speed=115200 … |
📍 syslinux/sysresccd_head.cfgSERIAL 0 115200 |
Kernel
📍 build.shconsoles='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-scriptsarchisofrom the custom SystemRescue repository ⚠️base-develedk2-shellgrubhugoisomd5summtools
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
make_pacman_confmake_basefsmake_documentationmake_packagesmake_customize_airootfsmake_setup_mkinitcpiomake_bootmake_boot_extramake_syslinuxmake_isolinuxmake_efimake_efibootmake_preparemake_imageinfomake_iso