PortValhalla/archiso/README.md

71 lines
2.4 KiB
Markdown

# archiso-valhalla
Creates `.iso` files or PXE boot assets for setting up Arch Linux.
`.iso` files created using this project will contain a copy of this repository
including the current uncommitted or untracked changes.
When booting the resulting `.iso` file, the Arch Linux setup will automatically start
using the `scripts/Arch/OS/setup.fish` script in this repository.
## Usage
This project is meant to be used on Arch Linux. However, configuration files are provided to use it on any Linux system (or WSL) with [Nix] installed.
### Requirements
#### Arch Linux
If you are using Arch Linux, make sure that the `archiso` package is installed on your system:
```sh
sudo pacman -Syu archiso
```
#### Nix
On any other Linux system with Nix installed, use `nix` to automatically set up a development shell with the necessary tools installed:
```sh
nix develop
```
### Creating a `.iso`
To create a `.iso` file for installing Arch Linux, run the following command:
```sh
./scripts/build.fish
```
The script accepts all additional arguments which are accepted by the `mkarchiso` command.
Running this script will generate a `.iso` file in a new folder called `out`. This `.iso` file can be used for installing Arch Linux.
### Updating
This project also contains scripts for updating the files in case Arch Linux's `releng` template (the `archiso` template used by this project) changed.
Said scripts are described briefly in the following chapters.
#### Show Diff
Show the differences between this `archiso` configuration and Arch Linux's `releng` template by running the following command:
```sh
./scripts/show-diff.fish
```
#### Update the Patch
To update the patch containing the differences between Arch Linux's `releng` template and this `archiso` configuration, run this command:
```sh
./scripts/update-patch.fish
```
#### Update the Project
In case Arch Linux did major changes to the `releng` template, it might make sense to replicate these in this `archiso` configuration.
The following command will try to do so using the patch located at `./scripts/valhalla.patch`:
```sh
./scripts/update.fish
```
### Booting the `.iso` File
The `.iso` file can be booted like any other `.iso` file (by writing it on a USB stick, burning it on a DVD or attaching it to a VM).
Most notably, `.iso` files created using this project will also work with USB thumbsticks with Ventoy installed.
<!--- References --->
[Nix]: https://nixos.org