systemrescue-zfs/README.md

64 lines
2.9 KiB
Markdown

# 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, hugo.
You need to use a modified version of archiso for the build to work. This
version is provided in the custom `sysrescuerepo` repository. See the
`pacman.conf` file in the source. Either copy the `sysrescuerepo` section
into your `/etc/pacman.conf` or replace the whole `/etc/pacman.conf` file with
the one from the source. Install archiso afterwards.
The package list contains packages which are not part of the official binary
package repositories from Arch Linux. These packages are also provided in the
`sysrescuerepo` repository. If you want to rebuild them, see
[systemrescue-custompkg](https://gitlab.com/systemrescue/systemrescue-custompkg).
Create a local repository out of them with `repo-add`, host it on a webserver
and then adapt pacman.conf.
The build process requires the systemrescue-website repository which is included
as git submodule. So when checking out this repository, make sure to check out
the submodule too. This can be done for example with
`git clone --recurse-submodules https://gitlab.com/systemrescue/systemrescue-sources.git`
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.
## Building SystemRescue with docker
If you are not running archlinux, you can run the build process in docker
containers. You need to have a Linux system running with docker installed
and configured. You can use the scripts provided in the `docker` folder of
this repository.
You must export the environment variable named `sysrescuearch` before you
run the two helper scripts. It should be set as either `x86_64` or `i686`
depending on the target architecture for which you want to build the ISO image.
After this, you need to run the script which builds a new docker image, and
then the script which uses this docker image to builds the ISO image. The second
script will pass the arguments it receives to the main `build.sh` script.
For example you can build a 64bit version of SystemRescue in docker using these commands:
```
export sysrescuearch="x86_64"
./docker/build-docker-image.sh
./docker/build-iso-image.sh -v
```
## Including your SystemRescueModules
If you want to include your own [SystemRescueModules][srm], place their srm files
in the [srm](./srm) directory of the repository before running the build script.
[srm]: https://www.system-rescue.org/Modules/