72 lines
2.4 KiB
Markdown
72 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
|