- 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. |
||
|---|---|---|
| airootfs | ||
| autorun | ||
| docker | ||
| efiboot/grub | ||
| isolinux | ||
| patches | ||
| srm | ||
| syslinux | ||
| sysrescue.d | ||
| website@8c3da5be7f | ||
| .gitignore | ||
| .gitmodules | ||
| build.sh | ||
| ChangeLog | ||
| 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
- 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.cfgserial --unit=0 --speed=115200 … |
📍 syslinux/sysresccd_head.cfgSERIAL 0 115200 |
Kernel
📍 build.shconsoles='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-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