CompilareDaOpenWrt

From NinuxBO
(Difference between revisions)
Jump to: navigation, search
Line 39: Line 39:
   
 
<code>make clean && git pull && rm -rf feeds/lime && rm -rf feeds/libremap && scripts/feeds update -a && scripts/feeds install -a </code>
 
<code>make clean && git pull && rm -rf feeds/lime && rm -rf feeds/libremap && scripts/feeds update -a && scripts/feeds install -a </code>
make clean inizialmente chiedera' di procedere al menuconfig...potete fare exit e rimandare questa parte
 
   
+
make clean inizialmente chiedera' di procedere al menuconfig...potete fare exit e rimandare questa parte.
a questo punto e' possibile lanciare la configurazione con
+
A questo punto e' possibile lanciare la configurazione con
   
 
<code>make menuconfig </code>
 
<code>make menuconfig </code>
Line 50: Line 49:
 
Ora bisogna fare delle valutazioni in base alla flash disponibile sul dispositivo che andra' ad ospitare il nostro firmware:
 
Ora bisogna fare delle valutazioni in base alla flash disponibile sul dispositivo che andra' ad ospitare il nostro firmware:
 
nel caso di una flash piccola(4mb) potrebbe essere necessario rimuovere dei pacchetti(lime-debug e lime-webui sono sacrificabili) , nel ramo di sviluppo sono implementate tecniche per ridurre ulteriormente la richiesta di spazio del firmware compilato. Selezionare anche il target system corretto: la famiglia del processore della propria CPE e' individuabile sul sito di openwrt: per i tpl841 e' atheros AR7x/AR9x.
 
nel caso di una flash piccola(4mb) potrebbe essere necessario rimuovere dei pacchetti(lime-debug e lime-webui sono sacrificabili) , nel ramo di sviluppo sono implementate tecniche per ridurre ulteriormente la richiesta di spazio del firmware compilato. Selezionare anche il target system corretto: la famiglia del processore della propria CPE e' individuabile sul sito di openwrt: per i tpl841 e' atheros AR7x/AR9x.
ATTENZIONE: se si cambia l'architettura (target) si perderanno le altre scelte (dovrete riselezionare lime-full)
+
ATTENZIONE: se si cambia l'architettura (target) si perderanno le altre scelte (dovrete riselezionare lime-full).
   
Se il processo di compilazione giungera' a buon fine troverete tutti il materiale prodotto nella cartell ./bin:
+
Una volta terminata la configurazione si può compilare il firmware con il comando
  +
  +
<code>make </code>
  +
  +
per velocizzare la compilazione si può usare
  +
  +
<code>make -j ''n''</code>
  +
  +
dove ''n'' è uguale al numero dei core più uno.
  +
  +
Se il processo di compilazione giungera' a buon fine troverete tutti il materiale prodotto nella cartella ./bin:
 
ovviamente vengono prodotti i firmware per tutte le macchine supportate per il target selezionato, per il mio tplink tl-wr841nd V8 dovro' scegliere tra
 
ovviamente vengono prodotti i firmware per tutte le macchine supportate per il target selezionato, per il mio tplink tl-wr841nd V8 dovro' scegliere tra
   
Line 62: Line 61:
   
 
dedicata agli update da openwrt
 
dedicata agli update da openwrt
 
 
 
   
   
 
NOTA bene:
 
NOTA bene:
per creare un firmware compatibile con il resto dei dispositivi di Bologna Ninux, e' necessario passare a Li-Me la configurazione corretta:
+
per creare un firmware compatibile con il resto dei dispositivi di Bologna Ninux, e' necessario passare a Li-Me la configurazione corretta, sostituendo prima della compilazione del firmware il file feeds/lime/packages/lime-system/files/etc/config/lime con il seguente:
sostituire il file feeds/lime/packages/lime-system/files/etc/config/lime con questo:
 
   
+
<pre>
 
<code>
 
 
 
<nowiki>
 
 
# Beware this file is not supposed to store specific configuration, like "config net eth0"
 
# Beware this file is not supposed to store specific configuration, like "config net eth0"
 
 
# System option
 
# System option
</nowiki>
+
 
config lime system
 
config lime system
option hostname 'NinuxBoNode-\M4\\M5\\M6\' # Parametrizable hostname \Mn\ will be substituted with the n'th byte of the primary_dev MAC
+
option hostname 'NinuxBoNode-\M4\\M5\\M6\' # Parametrizable hostname \Mn\ will be substituted with the n'th byte of the primary_dev MAC
  +
   
<nowiki>
 
 
# Network general option
 
# Network general option
</nowiki>
+
 
config lime network
 
config lime network
option primary_interface eth0 # The mac address of this device will be used in different places
+
option primary_interface eth0 # The mac address of this device will be used in different places
option main_ipv4_address '192.0.2.\M6\/24' # Parametrizable main IPv4 address \Mn\ will be substituted with the n'th byte of the primary_dev MAC
+
option main_ipv4_address '10.51.\M5\.\M6\/16' # Parametrizable main IPv4 address \Mn\ will be substituted with the n'th byte of the primary_dev MAC
option main_ipv6_address '2001:db8::\M5\\M6\/64' # Parametrizable main IPv6 address \Mn\ will be substituted with the n'th byte of the primary_dev MAC
+
option main_ipv6_address '2001:db8::\M5\\M6\/64' # Parametrizable main IPv6 address \Mn\ will be substituted with the n'th byte of the primary_dev MAC
list protocols adhoc
+
list protocols adhoc
list protocols lan
+
list protocols lan
list protocols anygw
+
list protocols anygw
list protocols batadv:11
+
list protocols batadv:11
list protocols bmx6:12
+
list protocols bmx6:13
list resolvers 208.67.222.222 # DNS servers node will use
+
list resolvers 8.8.8.8 # DNS servers node will use
list resolvers 2001:4860:4860::8844
+
list resolvers 2001:4860:4860::8844
  +
   
<nowiki>
 
 
# WiFi general options
 
# WiFi general options
</nowiki>
+
 
config lime wifi
 
config lime wifi
option channel_2ghz '11'
+
option channel_2ghz '11'
option channel_5ghz '48'
+
option channel_5ghz '48'
list modes 'ap'
+
list modes 'ap'
list modes 'adhoc'
+
list modes 'adhoc'
option ap_ssid 'NinuxBO'
+
option ap_ssid 'NinuxBO'
option adhoc_ssid 'NinuxBO-mesh'
+
option adhoc_ssid 'NinuxBO-mesh'
option adhoc_bssid 'ca:fe:00:c0:ff:ee'
+
option adhoc_bssid 'ca:fe:00:c0:ff:ee'
option adhoc_mcast_rate_2ghz '24000'
+
option adhoc_mcast_rate_2ghz '24000'
option adhoc_mcast_rate_5ghz '6000'
+
option adhoc_mcast_rate_5ghz '6000'
  +
  +
</pre>
   
  +
Si può applicare questa configurazione anche dopo aver compilato e installato il firmware sul dispositivo con i seguenti passi:
   
+
Copiare il file precedente sul dispositivo appena flashato come <code>/etc/config/lime </code> ed eseguire
   
  +
<code> lime-config </code>
   
</code>
+
e poi
   
  +
<code> uci commit </code>
   
HELP: qualcuno piu' skillato di me con mediawiki potrebbe fare in modo che anche i commenti vengano cormattati come "code"?
+
Si noti che la rete ipv4 segnata nel file di configurazione è parte della /15 assegnata a NinuxBO mentre la rete ipv6 ha ancora un indirizzamento generico.

Revision as of 00:18, 3 July 2014

Questa piccola guida server a compilare libremesh partendo dai sorgenti di openwrt.

Su una macchina debian installare i seguenti pacchetti(aggiungere pacchetti necessari volta per volta):

aptitude install libncurses5-dev

Prima di tutto scaricare i sorgenti di openwrt

$git clone git://git.openwrt.org/openwrt.git

entrare nella cartella appena scaricata da git

$cd openwrt/

copiare il file feed di default in modo che sia utilizzabile

$cp feeds.conf.default feeds.conf

quindi editare il fil feeds.conf appena creato

$vi feeds.conf

e aggiungere le seguenti linee

src-git lime https://github.com/libre-mesh/lime-packages.git

src-git libremap git://github.com/libremap/libremap-agent-openwrt.git


nel caso si voglia lavorare col ramo di sviluppo sostituire questa

src-git lime https://github.com/libre-mesh/lime-packages.git

con questa

src-git lime https://github.com/libre-mesh/lime-packages.git;develop

eseguire il seguente blocco di comandi

make clean && git pull && rm -rf feeds/lime && rm -rf feeds/libremap && scripts/feeds update -a && scripts/feeds install -a

make clean inizialmente chiedera' di procedere al menuconfig...potete fare exit e rimandare questa parte. A questo punto e' possibile lanciare la configurazione con

make menuconfig

bisogna prima di tutto disabilitare "dnsmasq" in "Base System" quindi andare in "LiMe" e selezionare "lime-full" (lime-full deve avere la selezione [*] e non [M])

Ora bisogna fare delle valutazioni in base alla flash disponibile sul dispositivo che andra' ad ospitare il nostro firmware: nel caso di una flash piccola(4mb) potrebbe essere necessario rimuovere dei pacchetti(lime-debug e lime-webui sono sacrificabili) , nel ramo di sviluppo sono implementate tecniche per ridurre ulteriormente la richiesta di spazio del firmware compilato. Selezionare anche il target system corretto: la famiglia del processore della propria CPE e' individuabile sul sito di openwrt: per i tpl841 e' atheros AR7x/AR9x. ATTENZIONE: se si cambia l'architettura (target) si perderanno le altre scelte (dovrete riselezionare lime-full).

Una volta terminata la configurazione si può compilare il firmware con il comando

make

per velocizzare la compilazione si può usare

make -j n

dove n è uguale al numero dei core più uno.

Se il processo di compilazione giungera' a buon fine troverete tutti il materiale prodotto nella cartella ./bin: ovviamente vengono prodotti i firmware per tutte le macchine supportate per il target selezionato, per il mio tplink tl-wr841nd V8 dovro' scegliere tra

-rw-r--r-- 1 thegamer thegamer 3.8M May 30 12:53 bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin

dedicata al caso in cui si faccia l'upgrade da firmware originale

-rw-r--r-- 1 thegamer thegamer 2.9M May 30 12:53 bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin

dedicata agli update da openwrt


NOTA bene: per creare un firmware compatibile con il resto dei dispositivi di Bologna Ninux, e' necessario passare a Li-Me la configurazione corretta, sostituendo prima della compilazione del firmware il file feeds/lime/packages/lime-system/files/etc/config/lime con il seguente:

# Beware this file is not supposed to store specific configuration, like "config net eth0"
# System option

config lime system
	option hostname 'NinuxBoNode-\M4\\M5\\M6\'                                # Parametrizable hostname \Mn\ will be substituted with the n'th byte of the primary_dev MAC


# Network general option

config lime network
	option primary_interface eth0                                          # The mac address of this device will be used in different places
	option main_ipv4_address '10.51.\M5\.\M6\/16'                             # Parametrizable main IPv4 address \Mn\ will be substituted with the n'th byte of the primary_dev MAC
	option main_ipv6_address '2001:db8::\M5\\M6\/64'                       # Parametrizable main IPv6 address \Mn\ will be substituted with the n'th byte of the primary_dev MAC
	list protocols adhoc
	list protocols lan
	list protocols anygw
	list protocols batadv:11
	list protocols bmx6:13
	list resolvers 8.8.8.8                                                 # DNS servers node will use
	list resolvers 2001:4860:4860::8844


# WiFi general options

config lime wifi
	option channel_2ghz '11'
	option channel_5ghz '48'
	list modes 'ap'
	list modes 'adhoc'
	option ap_ssid 'NinuxBO'
	option adhoc_ssid 'NinuxBO-mesh'
	option adhoc_bssid 'ca:fe:00:c0:ff:ee'
	option adhoc_mcast_rate_2ghz '24000'
	option adhoc_mcast_rate_5ghz '6000'

Si può applicare questa configurazione anche dopo aver compilato e installato il firmware sul dispositivo con i seguenti passi:

Copiare il file precedente sul dispositivo appena flashato come /etc/config/lime ed eseguire

lime-config

e poi

uci commit

Si noti che la rete ipv4 segnata nel file di configurazione è parte della /15 assegnata a NinuxBO mentre la rete ipv6 ha ancora un indirizzamento generico.

Personal tools
Namespaces

Variants
Actions
Navigation
Tools