====== How to install a LXC container ====== The following describes the current options on how to setup and install an LXC container onto a Netmodule router. Before you start you need a licence for virtualisation on your router. Once that is ensured you can enable virtualisation on the router and setup an example container. This documents describes the two ways (manual & automatic) used to setup a container. ===== Prerequisites ===== * Netmodule Router and a virtualisation licence * LXC container for arm architecture (armhf) ===== Resources ===== * [[https://share.netmodule.com/router/public/virt/ubuntu_bionic.tar.xz|Ubuntu Bionic Beaver - armhf]] / md5sum: f91b9f6ff431fdc01194bc100fde296f ===== Automatic Setup ===== Using router Software >= [[http://share.netmodule.com/public/system-software/4.6/4.6.0.101/|4.6.0.101(4.1.0.102)]] allows you to download and setup containers automatically from an URL. - Open GUI and go to System → Virtualization - Click + to add container - By settings, choose type, create a description and select storage. Root file system will be set automatically - You have to enable networking, go to “Networking”, select routed or bridged by the Network Interface and press Apply (working Network connection is required) - You should see a following screen (if you chose extended storage, the path will have storage1 instead of storage0: ''/mnt/storage1/lxc/guest0'') {{ :app-notes:virt.png |}} - Once you applied your virtualisation settings, select the "Install" tab from the virtualisation menu. Provide the URL of your container archive (__needs to be .tar.xz__). {{ :virtualisation:virt_autosetup.png |}} After those setps your archive gets automatically downloaded and extracted and the rootfs will be stored under ''/mnt/storage0/lxc/guest0'' ===== Manual Setup ===== - Download the container - Open GUI and go to System → Virtualization - Click + to add container - By settings, choose type, create a description and select storage. Root file system will be set automatically - If you want to enable networking, go to “Networking”, select routed or bridged by the Network Interface and press Apply - You should see a following screen (if you chose extended storage, the path will have storage1 instead of storage0: ''/mnt/storage1/lxc/guest0'') {{ :app-notes:virt.png |}} - Transfer the downloaded container (you can use WinSCP) to the router and put in ''/mnt/storage0/lxc'' - Unpack the container: xz -cd /tmp/containerName.tar.xz | tar x -C ./guest0 - The extracted container contains a rootfs directory which is now stored under ''/mnt/storage0/lxc/guest0''. - Type lxc-start –n guest0 - Information about container can be accesed by typing lxc-info –n guest0 {{ :app-notes:info.png |}} - Now you can attach to the container by typing lxc-attach –n guest0 start container in foreground mode lxc-start –F –n guest0 to get more Information