[Ninux-Calabria] Compilazione incrementale OpenWRT - Work In Progress
Stefano De Carlo
stefanauss a gmail.com
Mer 23 Gen 2013 15:36:56 CET
Ciao ninuxalabri,
mentre preparavo il tp-link 741nd per fare nat della wiunical durante i
corsi, ho anche settato un ambiente di compilazione openwrt sul mio pc.
Uno dei problemi che abbiamo incontrato finora è il pochissimo spazio a
disposizione per pacchetti aggiuntivi flashando la build fornita da
OpenWRT: rimangono 800KiB, troppo pochi per cose che ovviamente ci
servono come olsrd e tinc.
Sugli ipkg non c'è il campo "Installed Size" come sui debian ad esempio,
e non c'è un modo chiaro di predire/sapere quanto il pacchetto peserà
sulla flash del router. Semplicemente analizzare lo spazio della
cartella col pacchetto compilato non va bene perché potrebbe essere
presente della sporcizia di compilazione che poi non servirà/andrà sul
router.
Ho quindi cominciato un progetto di compilazione incrementale per il
741ND e in generale per tutti i router con 4MiB di memoria flash: a
partire dal default, che corrisponde al target specifico del modello,
aggiungo un *solo* pacchetto alla volta da compilare *incluso* nel
firmware e annoto di quanto cresce la dimensione.
Trovate i risultati che ho trovato finora su questo GDocs:
https://docs.google.com/spreadsheet/ccc?key=0AtRNHh47KzvidDh0a2dNRXlYU0k1cjF6ZnVNLVRtYkE#gid=0
Alcune cose che ho scoperto:
- nonostante le build ufficiali includano LuCI (l'interfaccia web di
OpenWRT), se si compila il fw a mano in nessun caso esso è presente di
default. Strano che il default "non sia poi così default", ma
probabilmente suppongono che se stai ricompilando a mano, al 99% è
perché non vuoi LuCI...
- I fw crescono solo in blocchi di 64KiB, cosa che sicuramente ha a che
fare con l'architettura della NAND interna. Questo comporta che a volte,
aggiungendo pacchetti, il fw rimane della stessa dimensione. In
sostanza, quando questo succede, possiamo essere sicuri che il pacchetto
è inferiore ai 64KiB, anche molto di meno nel caso di 2,3,4 compilazioni
successive che NON aumentano la dimensione.
Per riferimento, vi riporto le dimensioni della build ufficiale di
OpenWRT 12.09-rc1: 2816KiB
Ora, mi serve il vostro aiuto, in particolare Gigi e Spax. È chiaro che
non si può lanciare una compilazione per ogni singolo pacchetto, troppo
lavoro. Vorrei che mi aiutaste a identificare quali pacchetti,
sottosistemi, funzionalità possono essere (anche in prospettiva
*futura*) utili nell'ambito Ninux o anche a livello personale/HackLab.
Se mi dite quali, li includo nella compilazione incrementale ed espando
il documento di cui sopra.
Inoltre se mi poteste fornire le .config che vi siete salvati e dirmi a
quali-firmware-flashati-dove corrispondo, sarebbe altrettanto utile.
Non è necessario che mi diciate il nome effettivo del pacchetto se non
lo sapete, ma la funzionalità in generale almeno (chessò: tunnell L2TP,
modulo kernel che fa il kebab, ecc.)
Aspetto risposte,
Stefanauss.
Maggiori informazioni sulla lista
Calabria