VMX
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-20210218.iso > void.iso
9660srv
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 anon@ipaddress
# see the line with the thumbprint and execute it
vt -rxb 'ssh anon@ipaddress' # the password is "voidlinux"
Continue with the installation process.
bash # just for completion
su # work as root
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-20210218.tar.xz
cp usr/bin/xz /usr/bin
tar xvf void-x86_64-ROOTFS-*.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 (use UTC for clock)
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
xbps-install chrony # OPTIONAL, to keep clock in sync
ln -s /etc/sv/chronyd /var/service/
# check out (and enable) other services in /etc/sv that you might need
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
.
exit
poweroff
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.