/systemrescuecd-zfs

SystemRescueCd+ZFS: A fork of SystemRescueCd 6.0.3 with ZFS 0.8.1 built-in and serial console access enabled out of the box. Download bootable ISOs from the releases page.

Primary LanguageShellGNU General Public License v2.0GPL-2.0

SystemRescueCd+ZFS

SystemRescueCd+ZFS is a fork of the SystemRescueCd Linux distribution by Francois Dupoux (based on Arch Linux as of version 6.0) with improvements such as:

  • ZFS 0.8+ built-in
  • Serial console enabled out of the box*
  • Build improvements
  • Extra polish

Download

A bootable ISO is available on the releases page. Alternatively, you can build your own.

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 build your own 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

Build

./build.sh -v

Dependencies

Arch Linux installation with the following packages:

  • arch-install-scripts
  • archiso
  • base-devel
  • grub
  • mtools

Steps

  1. make_pacman_conf
  2. make_basefs
  3. make_packages
  4. make_setup_mkinitcpio
  5. make_customize_airootfs
  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

Rebuild

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.