Arch

This article is about creating a minimal Arch Linux VM.

Requirements

Results

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

Learnings

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"/>

Skip NetworkManager from managing a device

[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

High DPI greeter

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