63 lines
2.7 KiB
Markdown
63 lines
2.7 KiB
Markdown
# arch-zbm
|
|
|
|
Helper script to install Arch Linux with ZFSBootMenu from within a running Arch live CD ISO image
|
|
|
|
# Prep
|
|
|
|
The script expects minimal prep on your end. Please make sure that before execution at least one of the following conditions are met.
|
|
|
|
- Your machine has exactly one partition with partition type code `BF00` ("Solaris root")
|
|
|
|
# How to run this?
|
|
|
|
- Boot an Arch Linux live CD ISO image
|
|
- Run:
|
|
```
|
|
export SCRIPT_URL='https://quico.space/quico-os-setup/arch-zbm/raw/branch/main/setup.sh'
|
|
curl -s "${SCRIPT_URL}" | bash
|
|
```
|
|
The script will call itself when it changes into its `chroot`, that's why we `export SCRIPT_URL`. Feel free to update `"${SCRIPT_URL}"` with whatever branch or revision you want to use from [quico.space/quico-os-setup/arch-zbm](https://quico.space/quico-os-setup/arch-zbm). Typically `.../branch/main/setup.sh` as shown above is what you want.
|
|
# Steps
|
|
|
|
The scripts takes the following installation steps.
|
|
|
|
1. Install ZFS with [github.com/eoli3n/archiso-zfs](https://github.com/eoli3n/archiso-zfs)
|
|
|
|
# Post-run manual steps
|
|
|
|
When all is said and done you're goig to want to at least touch these points in your new Arch Linux install:
|
|
|
|
* Hostname: We chose a pseudo-randomly generated 8-character string with `pwgen`
|
|
* Unprivileged user accounts: The OS was installed only with a `root` account
|
|
* Passwords
|
|
* ZFS: The password for all datasets underneath `zpool` is `password`.
|
|
* Local `root` account: The local `root` account's password is `password`.
|
|
* Arch User Repository (AUR) helper: We installed [paru](https://github.com/Morganamilo/paru) as our AUR helper, we installed from GitHub via `makepkg -si`. You may want to replace that by an AUR native installation e.g. by doing `paru paru`.
|
|
|
|
# Assumptions
|
|
|
|
# Development
|
|
|
|
## Conventional commits
|
|
|
|
This project uses [Conventional Commits](https://www.conventionalcommits.org/) for its commit messages.
|
|
|
|
### Commit types
|
|
|
|
Commit _types_ besides `fix` and `feat` are:
|
|
|
|
* `build`: Project structure, directory layout, build instructions for roll-out
|
|
* `refactor`: Keeping functionality while streamlining or otherwise improving function flow
|
|
* `test`: Working on test coverage
|
|
* `docs`: Documentation for project or components
|
|
|
|
### Commit scopes
|
|
|
|
The following _scopes_ are known for this project. A Conventional Commits commit message may optionally use one of the following scopes or none:
|
|
|
|
* `iso`: Changing Arch Linux ISO CD
|
|
* `zbm`: Adjusting ZFSBootMenu's behavior
|
|
* `zfs`: A change to how ZFS interacts with the system, either a pool or a dataset
|
|
* `os`: Getting an perating system set up to correctly work in a ZFS boot environment
|
|
* `meta`: Affects the project's repo layout, readme content, file names etc.
|