This article is about creating a minimal Arch Linux VM.
A script is used to do a chroot environment on local disk download it here. It is useful as it is easy to chroot into the environment, make changes and then register the changes to the same file.
To put that chroot in action, a separate script has been created download it here that copies the root over to a qcow2 image, configures disk parameters on the filesystem root and installs bootloader.
You will need to load nbd
kernel module:
sudo modprobe nbd max_part=8
When trying out the virtual machine I have seen dhcp errors. Had to add a bit of tweak to the virtual machine networking configuration:
<interface type="bridge">
<model type="virtio"/>
<driver name="qemu"/>
[matelakat@mw ~]$ cat /etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="84:ef:18:59:2a:5e", NAME="wless0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="c8:5b:76:6c:27:ca", NAME="wired0", ENV{NM_UNMANAGED}="1"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="08:00:27:0e:73:27", NAME="wired0", ENV{NM_UNMANAGED}="1"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="52:54:00:9d:e8:e8", NAME="wired0", ENV{NM_UNMANAGED}="1"
Tbh the above did not seem to work. Use this instead:
[root@scw matelakat]# cat /etc/NetworkManager/conf.d/unmanaged.conf
[keyfile]
unmanaged-devices=interface-name:deskif0
And then do a nmcli general reload
Make systemd-networkd manage it instead
matelakat@mw ~]$ cat /etc/systemd/network/wired.network
[Match]
Name=wired0
[Network]
DHCP=yes
I use lightdm and gtk greeter. In order to make it double the size, do this:
$ grep -C 2 GDK /usr/share/xgreeters/lightdm-gtk-greeter.desktop
Name=LightDM GTK+ Greeter
Comment=This runs the GTK+ greeter, it should only be run from LightDM
Exec=env GDK_SCALE=2 lightdm-gtk-greeter
Type=Application
X-Ubuntu-Gettext-Domain=lightdm
And
$ sudo systemctl restart lightdm.service