The following are generalized steps to install setup and start the specified container. Please consult any container specific documentation in addition to this process.
Step 1)
Download the LXC into the directory below
/opt/fmadio/lxc/
Check the MD5 sum against the published value
Untar the tarball in that directory as root.
Example below shows the steps for the mdgap lxc container
fmadio@fmadio100v2-228U:/opt/fmadio/lxc$ sudo curl -O https://firmware.fmad.io/download/container/mdgap-20230512.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 824M 100 824M 0 0 14.2M 0 0:00:58 0:00:58 --:--:-- 14.9M
fmadio@fmadio100v2-228U:/opt/fmadio/lxc$
fmadio@fmadio100v2-228U:/opt/fmadio/lxc$ md5sum mdgap-20230512.tar.gz
5da383edd150b6ac9b5cedc8550fdca3 mdgap-20230512.tar.g
fmadio@fmadio100v2-228U:/opt/fmadio/lxc$ sudo tar xf mdgap-20230512.tar.gz
fmadio@fmadio100v2-228U:/opt/fmadio/lxc$
Step 2)
Most LXCs have an install script in the root directory, it will configure the container requiring some information such as IP Netmask. Gateway etc.
Generally containers require LXC Rings to feed data to. In this example we create an lxc ring named "mdgap_eurex" as the container references this ring in step 3) it must be created for the container to start correctly.
fmadiocli "config push lxc add mdgap_eurex"
Example output as follows
/root@fmadio100v2-228U:/mnt/store0/lxc/lib/lxc/mdgap-20230512# fmadiocli "config push lxc add mdgap_eurex"
Disable cycle calibration
[Sat Jun 24 05:57:42 2023] _____ .___.__
[Sat Jun 24 05:57:42 2023] _/ ____\_____ _____ __| _/|__| ____
[Sat Jun 24 05:57:42 2023] \ __\/ / \__ \ / __ | | | / _ \
[Sat Jun 24 05:57:42 2023] | | | Y Y \ / __ \_/ /_/ | | |( <_> )
[Sat Jun 24 05:57:42 2023] |__| |__|_| /(____ /\____ | |__| \____/
[Sat Jun 24 05:57:42 2023] \/ \/ \/
[Sat Jun 24 05:57:42 2023] ============================================
[Sat Jun 24 05:57:42 2023] -+ Packets confiscated by Customs +-
[Sat Jun 24 05:57:42 2023]
[Sat Jun 24 05:57:42 2023] type '?' for command information
[Sat Jun 24 05:57:42 2023] type '???' for verbose information
[Sat Jun 24 05:57:42 2023]
[Sat Jun 24 05:57:42 2023] History: 1530
[Sat Jun 24 05:57:42 2023] CmdLine [config push lxc add mdgap_eurex]
[Sat Jun 24 05:57:42 2023] Cmd [config push lxc add mdgap_eurex]
[Sat Jun 24 05:57:42 2023] Created Ring named [mdgap_eurex]
cycle calibration disabled
null output
RING reset
RING file [/opt/fmadio/queue/lxc_ring_mdgap_eurex]
RING[/opt/fmadio/queue/lxc_ring_mdgap_eurex ] Size missmatch 0 12595200
RING[/opt/fmadio/queue/lxc_ring_mdgap_eurex ] Size : 12595200 16777216
RING[/opt/fmadio/queue/lxc_ring_mdgap_eurex ] Version: 0 100
RING[/opt/fmadio/queue/lxc_ring_mdgap_eurex ] version wrong force reset
RING[/opt/fmadio/queue/lxc_ring_mdgap_eurex ] Put:0 0 0x7f68002f0000
RING[/opt/fmadio/queue/lxc_ring_mdgap_eurex ] Get:0 0 0x7f68002f1000
[Sat Jun 24 05:57:43 2023] created ring [/opt/fmadio/queue/lxc_ring_mdgap_eurex]
[Sat Jun 24 05:57:43 2023] New Push LXC target [/opt/fmadio/queue/lxc_ring_mdgap_eurex]
done 0.196703Sec 0.003278Min
root@fmadio100v2-228U:/mnt/store0/lxc/lib/lxc/mdgap-20230512#
Step 4)
Add the container to the system configuration file using fmadiocli utility
Add the container using the command
fmadiocli "config lxc add <container name>
Example shown below
root@fmadio100v2-228U:/mnt/store0/lxc/lib/lxc/mdgap-20230512# fmadiocli "config lxc add mdgap-20230512"
Disable cycle calibration
[Sat Jun 24 05:52:30 2023] _____ .___.__
[Sat Jun 24 05:52:30 2023] _/ ____\_____ _____ __| _/|__| ____
[Sat Jun 24 05:52:30 2023] \ __\/ / \__ \ / __ | | | / _ \
[Sat Jun 24 05:52:30 2023] | | | Y Y \ / __ \_/ /_/ | | |( <_> )
[Sat Jun 24 05:52:30 2023] |__| |__|_| /(____ /\____ | |__| \____/
[Sat Jun 24 05:52:30 2023] \/ \/ \/
[Sat Jun 24 05:52:30 2023] ============================================
[Sat Jun 24 05:52:30 2023] -+ Packets confiscated by Customs +-
[Sat Jun 24 05:52:30 2023]
[Sat Jun 24 05:52:30 2023] type '?' for command information
[Sat Jun 24 05:52:30 2023] type '???' for verbose information
[Sat Jun 24 05:52:30 2023]
[Sat Jun 24 05:52:30 2023] History: 1530
[Sat Jun 24 05:52:30 2023] CmdLine [config lxc add mdgap-20230512]
[Sat Jun 24 05:52:30 2023] Cmd [config lxc add mdgap-20230512]
[Sat Jun 24 05:52:30 2023] Added container [mdgap-20230512] to the configuration
done 0.195539Sec 0.003259Min
root@fmadio100v2-228U:/mnt/store0/lxc/lib/lxc/mdgap-20230512#
Step 5)
Start the container using fmadiocli utlity
fmadiocli "config lxc start <container name>"
Example starting the MDGap container
root@fmadio100v2-228U:/mnt/store0/lxc/lib/lxc/mdgap-20230512# fmadiocli "config lxc start mdgap-20230512"
fmad fmadlua Jun 24 2023 (/opt/fmadio/bin/fmadiolua --nocal /opt/fmadio/bin/fmadiocli config lxc start mdgap-20230512 )
Disable cycle calibration
[Sat Jun 24 05:59:14 2023] _____ .___.__
[Sat Jun 24 05:59:14 2023] _/ ____\_____ _____ __| _/|__| ____
[Sat Jun 24 05:59:14 2023] \ __\/ / \__ \ / __ | | | / _ \
[Sat Jun 24 05:59:14 2023] | | | Y Y \ / __ \_/ /_/ | | |( <_> )
[Sat Jun 24 05:59:14 2023] |__| |__|_| /(____ /\____ | |__| \____/
[Sat Jun 24 05:59:14 2023] \/ \/ \/
[Sat Jun 24 05:59:14 2023] ============================================
[Sat Jun 24 05:59:14 2023] -+ Packets confiscated by Customs +-
[Sat Jun 24 05:59:14 2023]
[Sat Jun 24 05:59:14 2023] type '?' for command information
[Sat Jun 24 05:59:14 2023] type '???' for verbose information
[Sat Jun 24 05:59:14 2023]
[Sat Jun 24 05:59:14 2023] History: 1530
[Sat Jun 24 05:59:14 2023] CmdLine [config lxc start mdgap-20230512]
[Sat Jun 24 05:59:14 2023] Cmd [config lxc start mdgap-20230512]
[Sat Jun 24 05:59:14 2023] sudo lxc-start -n mdgap-20230512 --logfile /tmp/lxc_mdgap-20230512_1687600754602326016
[Sat Jun 24 05:59:16 2023]
[Sat Jun 24 05:59:16 2023] use the following on a shell to attach to the conatiners console
[Sat Jun 24 05:59:16 2023] sudo lxc-attach -n mdgap-20230512
[Sat Jun 24 05:59:16 2023]
done 1.899527Sec 0.031659Min
root@fmadio100v2-228U:/mnt/store0/lxc/lib/lxc/mdgap-20230512#
Step 6)
Optionally attach to the containers console using the command