Installing Void Linux

This guide describes a “chroot” installation type, full manual. Basic ideas are the same if you want to follow the more usual TUI installation method. As always, refer to the docs.

Download a live ISO image, copy the kernel and initrd.

   hget > void.iso
   mount /srv/9660 /n/void void.iso
   cp /n/void/boot/^(vmlinuz initrd) .
   unmount /n/void
   rm /srv/9660

Generate a random MAC address (12 characters). It might make sense to keep it static across vmx restarts so it’s possible to pin virtualized Void to a specific IP address.

   # hold my beer
   dd -quiet 1 -if /dev/random -bs 6 -count 1 | xd -1 | awk '{$1=""; print $0}' | tr -d ' '
   # replace XXXXXXXXXXXX with the MAC address
   # replace /dev/sdN0/linux with the disk file allocated to The Void
   vmx -M 4G -n 'ea:XXXXXXXXXXXX!/net/ether0' -v text -d /dev/sdN0/linux -d void.iso -m initrd vmlinuz 'root=live:CDLABEL=VOID_LIVE loglevel=4'

Enter The Void as root with “voidlinux” password and continue with installation.

   ip addr # notice the ip address

Ssh to Void. It could be a bit easier to type.

   ssh root@ipaddress
   # see the line with the thumbprint and execute it
   vt -rxb 'ssh root@ipaddress' # the password is "voidlinux"

Continue with the installation process.

   bash # just for completion
   mkfs.ext4 -L voidroot /dev/vda # root parition, ext4
   mount /dev/vda /mnt
   cd /tmp
   export REPO=
   export XBPS_ARCH=x86_64
   xbps-install -Sy -r /tmp -R $REPO xz # need xz to unpack rootfs
   cp usr/bin/xz /usr/bin
   tar xvf void-x86_64-ROOTFS-20191109.tar.xz -C /mnt/
   mount --rbind /sys /mnt/sys && mount --make-rslave /mnt/sys/
   mount --rbind /dev /mnt/dev && mount --make-rslave /mnt/dev/
   mount --rbind /proc/ /mnt/proc/ && mount --make-rslave /mnt/proc/
   cp /etc/resolv.conf /mnt/etc/
   PS1='(void) ' chroot /mnt/ /bin/bash
   xbps-install -Suy xbps
   xbps-install -uy
   xbps-install -y base-system
   xbps-remove -y base-voidstrap
   echo void > /etc/hostname
   vi /etc/rc.conf  # optional, edit a few options
   passwd           # type the new root password
   cp /proc/mounts /etc/fstab
   vi /etc/fstab    # remove proc, sys, devtmpfs and pts, change /dev/vda to LABEL=voidroot
   xbps-reconfigure -fa

Switch to another rio window and cd to where your void files are. Now update the kernel and initramfs with the ones installed.

   sshfs -m /n/void -r /mnt/boot root@ipaddress
   cp /n/void/initram* initrd # overwrite
   cp /n/void/vmlinuz* vmlinuz # overwrite
   unmount /n/void

NOTE you’ll need to repeat the above procedure each time the kernel gets updated in Void. Otherwise expect various shenanigans.

Switch back to vt.


Kill vmx, update its arguments, and run again.

   vmx -M 4G -n 'ea:XXXXXXXXXXXX!/net/ether0' -v text -d /dev/sdN0/linux -m initrd vmlinuz 'root=LABEL=voidroot loglevel=4'

Voila, you got yourself some Void. Continue with postinstallation.