Set up and use an LXC container

Goal

Installing an LXC container. Images for the routers are available from the Jenkins website.

Prerequisites

  • NetModule Wireless Router with wireless connection
  • NetModule Software 4.8.0.103 or newer
  • A license is required for the LXC container
  • Not available for legacy products NB1600, NB2700, NB3700, NB3710

1. Set up the LXC Contianer

Activate the LXC container on the router

In the second step the image of the LXC container in this case Debian.

The easiest way to do this is to install the whole thing over the Internet. However, the router requires a mobile connection to the Internet.

From a Jenkins server you get the current image for the container

* Jenkins Server Page / Link

The “armhf” tab is important here

Here you can get a Debina image for buster, bullseye or bookworm.

If you click on the circle with the green rakes, you will be taken to the software. What else is important is that the circle and rakes must be green.

The image is the “rootfs.tar.xz” which is required. With a right click you can copy the link.

It would be structured like this:

https://jenkins.linuxcontainers.org/view/Images/job/image-debian/architecture=armhf,release=bookworm,variant=default/lastSuccessfulBuild/artifact/rootfs.tar.xz

When the “Apply” button is pressed, Debian will be installed.

2. Test LXC installation and set up further

Under the console you can first check whether the installation has been carried out.

USER
~ $ cd /mnt/storage0/lxc/guest0 /mnt/storage0/lxc/guest0 $ ls bin dev home media opt root sbin sys usr boot etc lib mnt proc run srv tmp var /mnt/storage0/lxc/guest0 $

This file must be available under this directory structur

USER
~ $ lxc-info guest0 Name: guest0 State: RUNNING PID: 20493 CPU use: 1.49 seconds BlkIO use: 20.00 KiB Memory use: 7.22 MiB KMem use: 1.20 MiB ~ $

The LXC container is set up and already started.

Set up the LXC container further. A network interface is enabled here.

The container has now also been assigned an IP address.

USER
~ $ lxc-info guest0 Name: guest0 State: RUNNING PID: 2255 IP: 192.168.1.149 CPU use: 1.57 seconds BlkIO use: 4.00 KiB Memory use: 6.29 MiB KMem use: 1.18 MiB Link: virt0 TX bytes: 2.28 KiB RX bytes: 853 bytes Total bytes: 3.11 KiB ~ $

Always assign a fixed IP address for the LXC container via the DHCP server.

Log in to the LXC container and test whether it can access the Internet.

USER
~ $ lxc-attach guest0 root@LXCNAME:~# ping heise.de PING heise.de (193.99.144.80) 56(84) bytes of data. 64 bytes from redirector.heise.de (193.99.144.80): icmp_seq=1 ttl=244 time=42.4 ms 64 bytes from redirector.heise.de (193.99.144.80): icmp_seq=2 ttl=244 time=31.0 ms 64 bytes from redirector.heise.de (193.99.144.80): icmp_seq=3 ttl=244 time=27.1 ms — heise.de ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 27.116/33.504/42.432/6.505 ms root@LXCNAME:~#

The container is installed and set up. Now you can set up further tools on the container.