This set of scripts performs a minimal Arch Linux install in a QEMU VM configured to use UEFI firmware and virtio-blk
driver (/dev/vda
storage device). It embodies the results of my numerous experiments with Arch installs and uses my (hardcoded for now) preferences for that task, meaning:
- UEFI + GPT partitioning
- 512 MiB FAT32 ESP partition mounted on
/boot
+ XFS root partition using the remaining space - Unified kernel image booting directly configured with efibootmgr, enabling...
- root param-less, fstab-less config by relying on the Discoverable Partitions Spec and systemd-gpt-auto-generator (
/boot
is automounted after boot upon first access) - systemd basic stack: initramfs, network (DHCP), resolver, timesync
- basic system config done pre-chroot with systemd-firstboot
- locked root account with
archvm
user configured forsudo
- Zsh with the grml config, shell completions and syntax highlighting (i.e. the same setup as on the Arch install media)
- micro text editor
- French locale, keymap & timezone
- hardcoded pacman mirrorlist with trusted servers from France & Germany
The aim is to provide a minimal, solid foundation which may serve as the basis for any kind of Arch VM.
Once booted
- in a UEFI QEMU VM
- using the
virtio-blk
storage driver (and therefore with a/dev/vda
as storage device) - in the Arch Live environment
Follow the installation guide from this point until you have Internet access, and then download the script:
curl -OL https://github.com/neitsab/archvm/raw/master/install.sh
Review and edit it as desired, and when ready execute it:
bash install.sh
(If you are ok with what the script does, you can combine both steps with curl -sL https://github.com/neitsab/archvm/raw/master/install.sh | bash
.)
/!\ Warning: This will irremediably destroy anything that was on
/dev/vda
.
- verify whether the two disjointed scripts can be merged into one single file
- make the script more modular to support a wider range of use cases, maybe making use of the excellent Setting Variables and Collecting User Input.
Credits go to the original author from which I forked this repo. It was the first time I had seen an Arch install script that felt manageable and close enough to what I personally wanted. This led me to finally push forward and get one out myself. Nanos gigantum umeris insidentes indeed!