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 https://alpha.de.repo.voidlinux.org/live/current/void-live-x86_64-20191109.iso > 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=https://alpha.de.repo.voidlinux.org/current
   export XBPS_ARCH=x86_64
   xbps-install -Sy -r /tmp -R $REPO xz # need xz to unpack rootfs
   xbps-fetch https://alpha.de.repo.voidlinux.org/live/current/void-x86_64-ROOTFS-20191109.tar.xz
   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

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.