OpenWrt ARM64 — LXC QUICK GUIDE

⚙️ OpenWrt ARM64 — LXC QUICK GUIDE

Tested on: EspressoBin / EspressoBin Ultra (MVEBU ARM64)
Base version: OpenWrt 21.02-RC
Goal: Run lightweight Debian containers (LXC) inside OpenWrt


1️⃣ Prérequis & outils

1
2
3
4
opkg update
opkg install xz tar gnupg
opkg install kmod-ikconfig kmod-veth
opkg install cgroupfs-mount cgroup-tools

2️⃣ Installation de LXC et LuCI

1
opkg install liblxc luci-app-lxc lxc lxc-attach lxc-auto lxc-autostart lxc-cgroup lxc-checkconfig lxc-common lxc-config lxc-console lxc-copy lxc-create lxc-destroy lxc-device lxc-execute lxc-freeze lxc-hooks lxc-info lxc-init lxc-ls lxc-monitor lxc-snapshot lxc-start lxc-stop lxc-templates lxc-top lxc-unfreeze lxc-unprivileged lxc-unshare lxc-user-nic lxc-usernsexec lxc-wait rpcd-mod-lxc

3️⃣ Vérification du noyau

1
lxc-checkconfig

✅ Vérifie que les namespaces et les cgroups sont activés.
Les erreurs sur CONFIG_NF_NAT_IPV4/6 peuvent être ignorées si NAT géré par OpenWrt.


4️⃣ Création d’un conteneur Debian Buster (ARM64)

Si GPG keyserver inaccessible :

1
opkg install gnupg2-utils gnupg2-dirmngr

Puis :

1
DOWNLOAD_KEYSERVER="pgp.mit.edu" lxc-create --name myLMS --template download -- --dist debian --release buster --arch arm64

ou sans validation :

1
lxc-create --name myLMS --template download -- --dist debian --release buster --arch arm64 --no-validate

5️⃣ Démarrage du conteneur

1
2
lxc-start -n myLMS
lxc-ls -f

Si erreur liée à cgroups v1, commente la section legacy :

1
2
3
nano /usr/share/lxc/config/common.conf
#lxc.cgroup.devices.deny = a
#lxc.cgroup.devices.allow = c 10:229 rwm

Puis relance :

1
lxc-start -n myLMS

6️⃣ Configuration réseau du conteneur

1
nano /srv/lxc/myLMS/config

Ajoute :

1
2
3
4
lxc.net.0.type = veth
lxc.net.0.link = br-lan
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:FF:DD:BB:CC:01

Démarre :

1
2
lxc-start -n myLMS
lxc-ls -f

✅ Exemple IP : 192.168.1.188


7️⃣ Post-installation Debian

1
2
3
4
5
lxc-attach -n myLMS
adduser admin
apt install sudo ssh -y
addgroup admin sudo
exit

Accès SSH :

1
ssh admin@192.168.1.188

8️⃣ Autostart au boot

1
2
3
4
uci add lxc-auto container
uci set lxc-auto.@container[-1].name=myLMS
uci set lxc-auto.@container[-1].timeout=30
uci commit lxc-auto

9️⃣ Installer LMS (Logitech Media Server)

1
2
3
4
sudo apt update
sudo apt install wget libio-socket-ssl-perl -y
wget http://downloads.slimdevices.com/LogitechMediaServer_v8.1.1/logitechmediaserver_8.1.1_all.deb
sudo dpkg -i logitechmediaserver_8.1.1_all.deb

💻 Accès Web :

1
2
3
http://192.168.1.188:9000/
ou
http://mylms.local:9000/

✅ Résumé final

Élément Valeur
Base OS OpenWrt 21.02-RC ARM64
Container Debian Buster
IP par défaut DHCP via br-lan
Démarrage auto via lxc-auto
Exemple App Logitech Media Server
WebUI http://:9000
SSH admin@

🧾 Crédits

Guide adapté et testé sur EspressoBin / EspressoBin Ultra — KuBoX Studio @ CyberMind # KERMA’s project (2025)