Вы здесь

Ambiente di compilazione OpenWrt in Docker

Аватар пользователя tito.brasolin
Опубликовано вт, 12/14/2021 - 08:57 пользователем tito.brasolin

Dopo aver sperimentato varie esperienze di compilazione insoddisfacenti P3TERX ha deciso di utilizzare Docker per costruire un contenitore dedicato alla compilazione di OpenWrt. Il contenitore può mantenere un alto grado di coerenza nell'ambiente di compilazione e sostanzialmente elimina gli errori causati da diversi ambienti, il che aiuta a migliorare l'efficienza e il tasso di successo della compilazione stessa.

Queste sono le principali caratteristiche:

  • Basato su Ubuntu
  • Pacchetto di dipendenze per la compilazione OpenWrt preinstallato
  • Zsh e Oh My Zsh preinstallati
  • Tmux e Oh My Tmux preinstallati
  • Può montare buildroot sulla macchina host (il codice sorgente ed il risultato della compilazione non andranno persi dopo aver eliminato il contenitore)
  • Puoi accedere all'ambiente di compilazione tramite SSH
  • I prodotti compilati possono essere recuperati tramite SFTP

Questi gli indirizzi del progetto:

GitHub: https://github.com/P3TERX/openwrt-build-env
Hub Docker: https://hub.docker.com/r/p3terx/openwrt-build-env
P3TERX ZONE: https://p3terx.com/archives/build-openwrt-with-docker.html

Esempio di creazione di un contenitore e sua esecuzione in background:

docker run -itd \
--name openwrt-build-env \
-h P3TERX \
-p 10022:22 \
-v ~/openwrt:/home/user/openwrt \
p3terx/openwrt-build-env:18.04

Esempio di clonazione del codice e build:

git clone -b openwrt-18.06 https://github.com/openwrt/openwrt.git
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
make download -j8
make V=s

Nota: un eventuale errore tipo "Python.h: No such file or directory" è risolvibile installando il pacchetto `python-dev`.