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' | ||
| + | |||
| + | ''/ | ||
| + | |||
| + | ''# | ||
| + | |||
| + | ''# | ||
| + | |||
| + | ''# | ||