Git Product home page Git Product logo

nchevsky / systemrescue-zfs Goto Github PK

View Code? Open in Web Editor NEW
91.0 6.0 14.0 536 KB

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: GNU General Public License v3.0

Shell 51.19% Python 39.54% JavaScript 0.84% Lua 8.43%
zfs rescue linux-distribution archlinux archzfs live-cd

systemrescue-zfs's Introduction

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.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: 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-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

systemrescue-zfs's People

Contributors

gvegidy avatar iskunk avatar m000 avatar marcosfrm avatar nchevsky avatar protofoo avatar rschwarzkopf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

systemrescue-zfs's Issues

ERROR: Profile 'init' does not exist!

Running as described in the readme:

================================================================================
make_basefs
================================================================================
[mkarchiso] ERROR: Profile 'init' does not exist!

ERROR: Profile 'init' does not exist!

I don't know if this is a bug in mkarchiso or systemresuce-zfs. I consistently get the error

[mkarchiso] ERROR: Profile '/path/to/systemrescue-zfs/init' does not exist!

when running sudo ./build.sh -v. Running within bash -x reveals the problem is within the setarch x86_64 mkarchiso -v -w work/x86_64 -C work/pacman.conf -D sysresccd init command of the make_basefs routine. Apparently, mkarchiso tries to interpret the init part at the end of this command as a profile directory. From what mkarchiso is intended to be good for, this sounds fine, but it obviously is not what the Systemrescue build script environment expects from it.

Where is the archiso profile directory supposed to come from?

sed: can't read /usr/share/applications/exo-mail-reader.desktop: No such file or directory

when i build it i met some strange issues

  _**% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   162  100   162    0     0    174      0 --:--:-- --:--:-- --:--:--   174
==> WARNING: work/x86_64/airootfs is not a mountpoint. This may have undesirable side effects.
Configuration file /etc/systemd/system/NetworkManager-wait-online.service.d/sysrescue.conf is marked executable. Please remove executable permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/NetworkManager-wait-online.service.d/sysrescue.conf is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/pacman-init.service is marked executable. Please remove executable permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/pacman-init.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/choose-mirror.service is marked executable. Please remove executable permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/choose-mirror.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/sysrescue-initialize.service is marked executable. Please remove executable permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/sysrescue-initialize.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/sysrescue-autorun.service is marked executable. Please remove executable permission bits. Proceeding anyway.
Configuration file /etc/systemd/system/sysrescue-autorun.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
sed: can't read /usr/share/applications/exo-mail-reader.desktop: No such file or directory
sed: can't read /usr/share/applications/exo-web-browser.desktop: No such file or directory
sed: can't read /usr/share/applications/jmacs.desktop: No such file or directory
sed: can't read /usr/share/applications/jpico.desktop: No such file or directory
sed: can't read /usr/share/applications/jstar.desktop: No such file or directory**_

here is my packages(i removed some, for its too slow for me)
packages.txt

here is my pacman conf
pacman.conf.txt

any ideas?

update to 10.02

10.02 is out now. perhaps you will update to it? it doesn't look like there would be anything necessarily conflicting, cause they just packaged 2 more softwares, no other changes. thanks.

USB live disk failed to start

Hi, I burn the iso file to usb using rufus. In UIEF/grub i designated to boot with copytoram. The got error msg:

ERROR: '/dev/disk/by-label/SystemResuce+ZFS_7.01_2.0.0' device did not show up after 30 seconds...

When I ls the /dev/disk/by-label/ directory - the file is named SYSTEMRESCU - which is the 11 char windows drive name. Rufus added the full name in the autorun.inf using the Label option.

I modified the Label in autorun.inf to SYSTEMRESCU, but it errored out with the same message.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.