~kvik/wiki.9front.org

wiki.9front.org/vmx.md -rw-r--r-- 3.3 KiB
b0f24297Sigrid Solveig Haflínudóttir 9p on unix: change the 9pfs url 5 months ago

#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.