Skip to content
/ archvm Public
forked from peterstace/archvm

Set up scripts for my Arch Linux VM

License

Notifications You must be signed in to change notification settings

neitsab/archvm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Arch VM

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 for sudo
  • 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.

Usage

Once booted

  1. in a UEFI QEMU VM
  2. using the virtio-blk storage driver (and therefore with a /dev/vda as storage device)
  3. 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.

Perspectives

  • 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

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!

About

Set up scripts for my Arch Linux VM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%