Skip to content

A fork of SystemRescue (formerly SystemRescueCd) with ZFS built-in and serial console access pre-enabled at the bootloader stage. Download bootable ISOs from the releases page.

License

Notifications You must be signed in to change notification settings

solarmicrobe/systemrescue-zfs

 
 

Repository files navigation

SystemRescue+ZFS

SystemRescue+ZFS is a fork of the SystemRescue Linux distribution (based on Arch Linux) with improvements such as:

  • ZFS support built-in
  • Serial console enabled at the bootloader stage
  • Shortened automatic boot timeout of 30 seconds
  • Build process improvements
  • Extra polish

Serial Console

Serial I/O is enabled by default on COM1/ttyS0 at 115,200 baud. If your serial console is on another port or requires a different speed, make adjustments in the following places and rebuild the image.

  1. GRUB (UEFI boot): serial --speed=115200 efi0 in ./efiboot/grub/grubsrcd.cfg
  2. SYSLINUX (BIOS boot): SERIAL 0 115200 in ./syslinux/sysresccd_head.cfg
  3. Kernel (post-boot): console=ttyS0,115200 in ./build.sh

Building

$ sudo ./build.sh -v

Dependencies

  • Arch Linux with the following packages installed:
    • arch-install-scripts
    • archiso (in a version matching these patches)
    • base-devel
    • grub
    • mkinitcpio-archiso (for archiso versions ≥ 45)
    • mtools
  • archiso with these patches applied.
  • This key (to avoid an "unknown trust" error during building of the archzfs package).

Rebuilds

The state of successfully completed build steps is persisted in ./work/build.make_* files. If such a file is present for a given build step, ./build.sh will skip that step indefinitely going forward. Before a rebuild, you must remove these state files to ensure that the appropriate build steps are re-executed and any customizations actually take effect.

  • Full rebuild (recommended): # rm ./work/build.make_*
  • Partial rebuild: Delete the state file for the earliest affected step and all steps that come after it. For example, if you have customized the GRUB (UEFI boot) configuration, you must remove build.make_efi and its successors build.make_efiboot, build.make_prepare and build.make_iso.

Steps

  1. make_pacman_conf
  2. make_basefs
  3. make_packages
  4. make_customize_airootfs
  5. make_setup_mkinitcpio
  6. make_boot
  7. make_boot_extra
  8. make_syslinux
  9. make_isolinux
  10. make_efi
  11. make_efiboot
  12. make_prepare
  13. make_iso

About

A fork of SystemRescue (formerly SystemRescueCd) with ZFS built-in and serial console access pre-enabled at the bootloader stage. Download bootable ISOs from the releases page.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 53.9%
  • Python 44.8%
  • JavaScript 1.3%