1.8 KiB
title | tags | ||
---|---|---|---|
lxc |
|
Intro
Taken from this Void linux requires additional steps to set up, as Systemd is no present to automatically take care of everything.
sudo xbps-install cgmanager dbus bridge-utils lxc
Next, startup services:
sudo ln -s /etc/sv/dbus/ /var/service/
sudo ln -s /etc/sv/cgmanager/ /var/service/
sudo sv start dbus
sudo sv start cgmanager
sudo sv start dbus
sudo sv start cgmanager
Maps your user account to the lxc g/u ids:
sudo usermod --add-subuids 100000-165536 $USER
sudo usermod --add-subgids 100000-165536 $USER
Then add a bridge interface to connect the container.
sudo brctl addbr lxbr0
Then add an interface. I have no idea how this is done or what it means, so I tried my wifi 'wlp3s0', and that was refused. I tried the guide's one, which obviously didn't work as I didn't have the same interface as in the guide. Finally, I tried ip addr show
and noticed other devices 'lo' and 'wwp0s20u4i6'. This gave me:
sudo brctl addif lxbr0 wwp0s20u4i6
... which worked.
If you don't want to redo this each boot, you can make a runit service for it apparently - more research is required for this. For now, I'm just copy-pasting the guide (almost) and sticking this in ~/.config/lxc/default.conf:
lxc.network.type = veth
lxc.network.link = wwp0s20u4i6
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:BB:CC:DD
lxc.id_map = u 0 100000 65536
lxc.id_map = g 0 100000 65536
You can now configure a different bridge each boot to connect with the lxc containers, or ....
Next, do this at every boot (or script it):
sudo cgm create all $USER
sudo cgm chown all $USER $(id -u) $(id -g)
cgm movepid all $USER