OpenWRT – Generare immagini customizzate

Il grande problema dei modem che montano OpenWRT è lo spazio; paciugando ci si rende subito conto che i 4/8MB a disposizione sono veramente pochi per installare nuovi pacchetti,
Possiamo ovviare a questo problema aggiungendo ciò che ci interessa direttamente nell’immagine del sistema…

La domanda sorge spontanea: ma se un pacchetto lo installo o lo integro, non occupa lo stesso spazio?

La risposta è NO!
La figata di OpenWRT è che il ‘sistema’ è salvato in un filesystem readonly compresso mentre i pacchetti installati in un secondo momento (via opkg) vengono immagazzinati in un filesystem overlay… e pesano un botto di più.

La soluzione è quindi creare un’immagine custom dove inserire le cose che ci interessano, il modo più rapido è utilizzare l‘Image Builder che permette di aggiungere pacchetti senza ricompilare tutta la baracca.

Installazione

Per prima cosa bisogna scaricare l’Image Builder per il nostro target; io sto utilizzando un TPLink MR3020, architettura AR71XX:

cd ~
mkdir openwrt && cd openwrt
wget http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
tar -xvjf OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
cd OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64

Una volta scompattato bisogna spiegargli da dove acchiappare i pacchetti, aggiungiamo al file repositories.conf le seguenti righe:

src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base
src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/luci
src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/management
src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/oldpackages
src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/packages
src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/routing
src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/telephony
## This is the local package repository, do not remove!
src imagebuilder file:packages

E’ ora di compilare!

Con un semplice comando è possibile compilare inserendo nuovi pacchetti e aggiungendo file all’immagine;

Possiamo caricare alcune configurazioni default inserendole in /files/etc/config/ o eliminare i pacchetti che non ci interessano,
Una volta deciso cosa si vuol fare da grandi possiamo creare la nostra immagine modificando il seguente comando:

make image PROFILE=TLMR3020 PACKAGES="dnsmasq -ip6tables -ppp -ppp-mod-pppoe -kmod-ipt-nathelper -odhcp6c uhttpd" FILES=./files/

Dove chiaramente i pacchetti preceduti dal ‘-‘ sono quelli che saranno rimossi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *