Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
smesh [2010/06/14 00:53] – luca | smesh [2014/07/03 14:57] (versione attuale) – modifica esterna 127.0.0.1 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | b===== Compilazione di Smesh per architettura MIPS ===== | ||
+ | === Toolchain === | ||
+ | |||
+ | Questo sarà lo strumento essenziale per poter compilare i sorgenti per architettura MIPS. L'ho ricavato da una compilazione di OpenWrt, quindi è testato e funzionante ed in più sfrutta le uClibc generando eseguibili molto contenuti. Lo allego {{: | ||
+ | |||
+ | === Preparazione alla compilazione === | ||
+ | |||
+ | * Creare una cartella ed estrarci il toolchain | ||
+ | * Estrarre anche {{: | ||
+ | * Ora ci serve anche {{: | ||
+ | * Per chiarezza ecco come devono essere le cartelle: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * Copiare questa {{: | ||
+ | |||
+ | patch --dry-run --verbose -p1 -i build.patch | ||
+ | se questo è l' | ||
+ | Hmm... | ||
+ | The text leading up to this was: | ||
+ | -------------------------- | ||
+ | |--- smesh-src-v2.3-ORIG/ | ||
+ | |+++ smesh_proxy/ | ||
+ | -------------------------- | ||
+ | Patching file build using Plan A... | ||
+ | Hunk #1 succeeded at 16. | ||
+ | Hunk #2 succeeded at 30. | ||
+ | Hunk #3 succeeded at 209. | ||
+ | done | ||
+ | allora possiamo dare il comando non in dry-mode | ||
+ | patch --verbose -p1 -i build.patch | ||
+ | |||
+ | * Ora bisogna apportare un' | ||
+ | |||
+ | export CROSS="/ | ||
+ | dove in INSERIRE_PATH_ASSOLUTA si deve inserire la path completa del toolchain scaricato prima | ||
+ | |||
+ | === Modifica dei sorgenti === | ||
+ | |||
+ | Ora dobbiamo applicare le nostre modifiche per poter far girare le trame di controllo di SMesh e Spines su un' | ||
+ | * Scaricare le nostre {{: | ||
+ | * Ora entrare rispettivamente in smesh-src-v2.3 e poi in spines per testare le patches con i seguenti comandi | ||
+ | |||
+ | patch --dry-run --verbose -p1 -i smesh.patch | ||
+ | patch --dry-run --verbose -p1 -i spines.patch | ||
+ | |||
+ | * Se l' | ||
+ | |||
+ | Hmm... | ||
+ | The text leading up to this was: | ||
+ | -------------------------- | ||
+ | |--- smesh-src-v2.3-ORIG/ | ||
+ | |+++ smesh_proxy/ | ||
+ | -------------------------- | ||
+ | Patching file smesh_proxy/ | ||
+ | Hunk #1 succeeded at 78. | ||
+ | Hunk #2 succeeded at 93. | ||
+ | Hunk #3 succeeded at 233. | ||
+ | Hunk #4 succeeded at 875. | ||
+ | Hunk #5 succeeded at 1344. | ||
+ | Hunk #6 succeeded at 1387. | ||
+ | Hunk #7 succeeded at 1501. | ||
+ | done | ||
+ | e questo | ||
+ | Hmm... | ||
+ | The text leading up to this was: | ||
+ | -------------------------- | ||
+ | |diff -Naur spines-src-3.2-ORIG/ | ||
+ | |--- spines-src-3.2-ORIG/ | ||
+ | |+++ spines/ | ||
+ | -------------------------- | ||
+ | Patching file configure using Plan A... | ||
+ | Hunk #1 succeeded at 6090. | ||
+ | Hmm... | ||
+ | The text leading up to this was: | ||
+ | -------------------------- | ||
+ | |diff -Naur spines-src-3.2-ORIG/ | ||
+ | |--- spines-src-3.2-ORIG/ | ||
+ | |+++ spines/ | ||
+ | -------------------------- | ||
+ | Patching file daemon/ | ||
+ | Hunk #1 succeeded at 62. | ||
+ | Hunk #2 succeeded at 85. | ||
+ | Hunk #3 succeeded at 145. | ||
+ | Hmm... | ||
+ | The text leading up to this was: | ||
+ | -------------------------- | ||
+ | |diff -Naur spines-src-3.2-ORIG/ | ||
+ | |--- spines-src-3.2-ORIG/ | ||
+ | |+++ spines/ | ||
+ | -------------------------- | ||
+ | Patching file daemon/ | ||
+ | Hunk #1 succeeded at 95. | ||
+ | Hunk #2 succeeded at 608. | ||
+ | done | ||
+ | allora possiamo eseguire il comando non in dry-mode | ||
+ | patch --verbose -p1 -i smesh.patch | ||
+ | patch --verbose -p1 -i spines.patch | ||
+ | |||
+ | === Compilazione === | ||
+ | |||
+ | * A questo punto dobbiamo compilare prima Spines. Modifichiamo il file build in | ||
+ | |||
+ | BUILD_SMESH=1 | ||
+ | BUILD_SPINES=1 | ||
+ | dove BUILD_SMESH va messo a 0 | ||
+ | |||
+ | * Compiliamo Spines | ||
+ | |||
+ | cd smesh_proxy/ | ||
+ | ./build | ||
+ | |||
+ | la compilazione dovrebbe concludersi così | ||
+ | |||
+ | SMesh build is ready on install directory | ||
+ | |||
+ | * Dobbiamo linkare le librerie di Spines prima di compilare SMesh in modo che vengano trovate durante la compilazione | ||
+ | |||
+ | cd spines/ | ||
+ | ln -s PATH_ASSOLUTA/ | ||
+ | |||
+ | * Torniamo al file build e lo modifichiamo così | ||
+ | |||
+ | BUILD_SMESH=1 | ||
+ | BUILD_SPINES=0 | ||
+ | |||
+ | * Compiliamo Smesh | ||
+ | |||
+ | ./build | ||
+ | |||
+ | la compilazione dovrebbe concludersi così | ||
+ | |||
+ | SMesh build is ready on install directory | ||
+ | |||
+ | * Nella cartella ' | ||
+ | |||
+ | === Files di configurazione === | ||
+ | |||
+ | Ora sia Spines che SMesh supportano l' | ||
+ | Modifichiamo quindi i files di configurazione e di avvio all' | ||
+ | |||
+ | * Copiare questa {{: | ||
+ | |||
+ | cd install/ | ||
+ | patch --dry-run --verbose -i conf.patch | ||
+ | |||
+ | se ok dare | ||
+ | |||
+ | patch --verbose -i conf.patch | ||
+ | |||
+ | === Copiare Smesh === | ||
+ | |||
+ | * Di seguito i file da copiare nelle rispettive cartelle nella RSpro | ||
+ | |||
+ | install/ | ||
+ | install/ | ||
+ | install/ | ||
+ | install/ | ||
+ | install/ | ||
+ | install/ | ||
+ | |||
+ | * Rendere eseguibili i binari e lo script di avvio con | ||
+ | |||
+ | chmod +x ' | ||
+ | |||
+ | === Lanciare Smesh === | ||
+ | |||
+ | * Ora c'è tutto il necessario per lanciare Smesh su una board MIPS (es. Ubiquiti RouterStationPro) | ||
+ | con il comando | ||
+ | |||
+ | / | ||
+ | |||
+ | * Per abilitarlo all' | ||
+ | |||
+ | / | ||
+ | |||
+ | === Note x compilazione alix === | ||
+ | iproute dà errore nella compilazione, | ||
+ | |||
+ | i486-openwrt-linux-uclibc/ | ||
+ | |||
+ | che si trova all' | ||
+ | |||
+ | ''/ | ||
+ | |||
+ | ''# | ||
+ | |||
+ | ''# | ||
+ | |||
+ | ''# |