Go to file
2021-02-08 16:54:06 +01:00
.gitignore initial commit 2021-02-08 15:51:31 +01:00
bootstrap initial commit 2021-02-08 15:51:31 +01:00
LICENSE add year to copyright 2021-02-08 16:15:46 +01:00
mk_pbp_img remove docker experiment code 2021-02-08 16:20:30 +01:00
README.md update readme 2021-02-08 16:54:06 +01: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 (with an unencrypted boot partition) 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.

Pre-built images can be downloaded from the releases page (those might be outdated though).

User and password for the live image are the standard void linux one (root/voidlinux).

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 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.

Be aware that the time needs to be set in UTC, otherwise package installation might not work.

If running on a pinebook pro with an ISO keyboard, run loadkeys uk to load the correct keymap.

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.