-
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add ZFS 2.0.0 * Import archzfs key into live system's pacman keyring * GRUB (UEFI boot) improvements: * Enable serial console * Reduce automatic boot timeout (90 sec => 30 sec) * SYSLINUX (BIOS boot) improvements: * Increase serial console baud rate (38400 => 115200) * Reduce automatic boot timeout (90 sec => 30 sec) * Build script improvements: * Print argument summary when building with `-v` * Print header for each build step
- Loading branch information
Showing
13 changed files
with
145 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
edit-*.sh | ||
out | ||
rebuild-*.sh | ||
transfer-*.sh | ||
work |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,56 @@ | ||
# SystemRescue | ||
|
||
## Project website | ||
Homepage: https://www.system-rescue.org/ | ||
|
||
## Project sources | ||
This git repository contains SystemRescue sources files. This is based on | ||
https://gitlab.archlinux.org/archlinux/archiso/ | ||
|
||
## Building SystemRescue | ||
SystemRescue can be built for x86_64 or i686 architectures. It must be built | ||
on archlinux if you want to build a 64bit edition, or archlinux32 if you want | ||
to create a 32bit edition. The following packages must be installed on the | ||
build system: archiso, grub, mtools, edk2-shell. You need to use a modified | ||
version of archiso for the build to work and for additional fixes and features | ||
to be present. You can find the required archiso version and patches in the | ||
"patches" folder in this git repository. | ||
|
||
The package list contains packages which are not part of the official binary | ||
package repositories. These packages need to be built from sources from the AUR | ||
website. These sources are made of at least a PKGBUILD file and quite often | ||
other related files, such as patches. These can be built using the makepkg | ||
command which generates binary packages. These binary packages must be copied to | ||
a custom package repository which can be hosted locally using httpd or nginx. | ||
The repo-add command must be used to generate the repository package index. | ||
The pacman.conf file must be updated with the address of this repository so | ||
custom packages can be accessed. | ||
|
||
The build process can be started by running the build.sh script. It will create | ||
a large "work" sub-directory and the ISO file will be written in the "out" | ||
sub-directory. | ||
# SystemRescue+ZFS | ||
|
||
**SystemRescue+ZFS** is a fork of the [SystemRescue](http://www.system-rescue.org/) Linux distribution (based on [Arch Linux](https://www.archlinux.org)) with improvements such as: | ||
|
||
* [ZFS](https://github.com/archzfs/archzfs/) support built-in | ||
* [Serial console](#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](#build) the image. | ||
|
||
1. [GRUB](https://www.gnu.org/software/grub/manual/grub/grub.html) (**UEFI boot**): `serial --speed=115200 efi0` in `./efiboot/grub/grubsrcd.cfg` | ||
2. [SYSLINUX](https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX) (**BIOS boot**): `SERIAL 0 115200` in `./syslinux/sysresccd_head.cfg` | ||
3. [Kernel](https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html) (**post-boot**): `console=ttyS0,115200` in `./build.sh` | ||
|
||
## Building | ||
|
||
`$ sudo ./build.sh -v` | ||
|
||
### Dependencies | ||
|
||
* [Arch Linux](https://www.archlinux.org) with the following packages installed: | ||
* `arch-install-scripts` | ||
* `archiso` (in a version matching [these patches](patches/)) | ||
* `base-devel` | ||
* `grub` | ||
* `mkinitcpio-archiso` (for `archiso` versions ≥ 45) | ||
* `mtools` | ||
* `archiso` with [these patches](patches/) applied. | ||
* [This key](https://github.com/archzfs/archzfs/wiki#using-the-archzfs-repository) (to avoid an _"unknown trust"_ error during building of the `archzfs` package). | ||
|
||
### Rebuilds | ||
|
||
The state of successfully completed [build steps](#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` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
7.01 | ||
7.01+2.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,13 @@ | ||
\e[01;31m ========= \e[01;37mSystemRescue %ISO_VERSION% (%ISO_ARCH%)\e[01;31m ======== \e[01;37m\l\e[00;37m/6\e[01;31m ========= | ||
\e[00;31mhttps://www.system-rescue.org/ | ||
\e[01;31m============== \e[01;37m%ISO_APPLICATION% %ISO_VERSION%\e[01;31m --- \e[01;37m\l \e[01;31m============== | ||
\e[00;31mhttp://www.system-rescue.org/ | ||
\e[00;37m%ISO_PUBLISHER% | ||
|
||
\e[00;31m*\e[01;31m Console environment\e[00;37m : | ||
Run \e[01;37msetkmap\e[00;37m to choose the keyboard layout | ||
\e[00;31m*\e[01;31m Console environment: | ||
Run \e[01;37msetkmap\e[00;37m to choose the keyboard layout. | ||
|
||
\e[00;31m*\e[01;31m Graphical environment\e[00;37m : | ||
Type \e[01;37mstartx\e[00;37m to run the graphical environment | ||
X.Org comes with the XFCE environment and several graphical tools: | ||
\e[00;31m-\e[00;37m Partition manager: .. \e[01;37mgparted\e[00;37m | ||
\e[00;31m-\e[00;37m Web browser: ........ \e[01;37mfirefox\e[00;37m | ||
\e[00;31m-\e[00;37m Text editor: ........ \e[01;37mfeatherpad\e[00;37m | ||
\e[00;31m*\e[01;31m Graphical environment: | ||
Type \e[01;37mstartx\e[00;37m to run the graphical environment. | ||
X.Org comes with the XFCE environment and several graphical tools: | ||
\e[00;31m-\e[00;37m Partition manager: \e[01;37mgparted\e[00;37m | ||
\e[00;31m-\e[00;37m Web browser: \e[01;37mfirefox\e[00;37m | ||
\e[00;31m-\e[00;37m Text editor: \e[01;37mfeatherpad\e[00;37m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters