void-linux-pbp-installer/README.md

83 lines
3.2 KiB
Markdown
Raw Normal View History

2021-02-08 14:50:20 +00:00
# Install Scripts for Void Linux on Pinebook Pro
Before using either of the scripts in this repository, read through them to
clearly understand what they do. They are very opinionated and specifically
written to cater to my own needs (for example the use of `sudo`, other people
might have different setups). It is, however, easy to change things around.
By default, the `bootstrap` script creates a minimal installation on the emmc storage,
with full disk encryption via lvm on luks. Two volumes `swap` and `root` are created,
the latter is formatted with an xfs filesystem. Additionally one user is created
(with access to sudo via the wheel group) and keymap, hostname and timezone get set.
This gets you to a booting system, going on from there is out of scope here
as there are many ways to do that (for myself, I use `stow` to set up everything).
An important thing to keep in mind is that not all commands in the `bootstrap`
script are idempotent, that makes it all the more important to understand what they
do and to be sure to backup all important data.
2021-02-08 15:04:09 +00:00
Pre-built images can be downloaded from the [releases](https://code.vanwa.ch/sebastian/void-linux-installer/-/releases) page
(those might be outdated though).
2021-02-08 14:50:20 +00:00
# Scripts
## mk_pbp_img
Create a live image to boot void linux on the pinebook pro. Needs to be run on an
existing void linux system (docker might be possible with a working buildx and some adaptions with the mounting of filesystems).
A copy of the [void-mklive](https://github.com/void-linux/void-mklive.git)
repository is downloaded next to the script into `.void-mklive` and used for
building the image.
The script assumes it is running on an `x86_64` architecture, if that is not the case,
it needs to be changed (this applies to the use of `qemu-aarch64-static` to get a chroot).
The following tools need to be accessible in `PATH`:
- git
- make
- qemu-aarch64-static
- sudo
- xz
If there is an argument provided to the script, it is treated as the folder to where
the compressed image is written, if no argument is given, the current working
directory is used.
After a successful build, the finished image can be found in the directory described
above with a filename of `void-pbp.img.xz`
Write it to a microSD card as such:
- `xz -d < void-pbp.img.xz | sudo dd of=/dev/mmcblk0 bs=4M status=progress`
- `sudo sync`
Be ***very*** careful to get the parameter for `of` right, otherwise you can destroy your system.
MicroSD cards can be fickle, it sometimes is helpful to not take them out immediately, even after running `sync`.
If booting from the card hangs, write the image again onto it or use a different card.
## bootstrap
Install void linux to the internal mmc storage of the pinebook pro or use it for some
maintenance task.
Run it in either of two ways:
### non-interactive
`bootstrap full`
Run a full installation, this will overwrite all data on the storage.
Runs the `full_install` command internally.
### interactive
`bootstrap`
Run `help` to get a list of commands you can run and quit interactive mode
with typing `exit`.
A useful thing to do here is the `repair` command. Sets up all the needed filesystems
and opens a chroot.
Again, it is highly recommended to read what the respective commands do and to adapt
them to your own needs.