Italiano English
Modifica History Actions

Differenze per "FirmwareNinux"

Differenze tra le versioni 21 e 58 (in 37 versioni)
Versione 21 del 2008-01-12 16:43:02
Dimensione: 3610
Autore: ClauzClauz
Commento:
Versione 58 del 2015-01-09 15:57:23
Dimensione: 4773
Autore: Stefanauss
Commento: Aggiunta guida compilazione OpenWrt per neofiti
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
[[TableOfContents]] <<TableOfContents>>
Linea 7: Linea 7:
Un ipkg che, installato su un router con OpenWrt, lo prepari per la rete ninux.org. Firmware OpenWrt con configurazione e grafica personalizzate ninux.org-
E' in corso d'opera anche la realizazione di un firmware "next generation" [[FirmwareNG]].
Linea 10: Linea 11:
 * olsrd
 * webif in italiano
 * olsrd + plugins and mdns plugin !
 * webif con grafica Ninux.org
 * Ninux Dynamic DNS
Linea 13: Linea 15:
 * snmp
 * horst
 * tcpdump
 * wl (solo WRT54G)
Linea 17: Linea 23:
[[Gallery]] <<Gallery>>
Linea 19: Linea 25:
== download ==

=== atheros (La Fonera) ===

Versione '''0.1-alpha''' per '''Fonera'''

http://students-playground.netgroup.uniroma2.it/~saverio/openwrt/fonera/
 
=== brcm (Linksys WRT54G) ===

Versione '''0.1-alpha''' per '''Linksys WRT54G/GL/GS'''

http://students-playground.netgroup.uniroma2.it/~saverio/openwrt/brcm/

=== x86 (Alix) ===

Versione '''0.1-alpha''' testata su
 * '''qemu''' (vedi OpenWrtOnQemu)
 * '''alix''' (vedi AlixOpenWrt)

immagine da flashare su cf compresa di pacchetto ninux-ipkg-x86:

http://test.ninux.org/~nino/openwrt/x86/openwrt-x86-ext2.image

=== adm5120 (microtik rb133) ===

Versione '''0.1-alpha''' testata su piattaforma mikrotik rb133c

'''Immagini compilate:'''

'''RAMDISK''' (serve per fare il boot da rete nella prima parte dell'installazione):

http://test.ninux.org/~nino/openwrt/adm5120/openwrt-adm5120-2.6-vmlinux.elf

'''Da scrivere nella NAND:'''

Rootfs:

http://test.ninux.org/~nino/openwrt/adm5120/openwrt-adm5120-2.6-rootfs.tgz

Kernel:

http://test.ninux.org/~nino/openwrt/adm5120/openwrt-adm5120-rb1xx-kernel

Istruzioni:
http://wiki.openwrt.org/OpenWrtDocs/Hardware/Mikrotik/RB100


=== Tema grafico per webif^2 ===

Versione '''0.1-beta''' Platform-independent

attachment:ninux-webiftheme_0.1-beta_all.ipk

== istruzioni ==
== Istruzioni generiche per tutti i routers!!! ==
Linea 77: Linea 29:
 * cambiate l'IP dell'IF Ninux
 * cambiate l'IP dell'interfaccia wireless locale (sta in /etc/init.d/custom-user-startup)
 * cambiate l'IP dell'interfaccia wired
 * cambiate /etc/dnsmasq.conf opportunamente
 * cambiate HNA di olsr opportunamente
 * cambiate l'IP dell'IF Ninux in {{{/etc/config/network}}}
 * cambiate l'IP dell'interfaccia wired {{{/etc/config/network}}}
 * cambiate HNA di olsr opportunamente in {{{/etc/config/olsrd}}}

Oppure le stesse modifiche fatele tutte da interfaccia grafica
Linea 86: Linea 38:
Linea 87: Linea 40:
https://svn.ninux.org/ninuxdeveloping
Linea 89: Linea 41:
=== sorgenti ===

{{{https://svn.ninux.org/ninuxdeveloping/svn/openwrt-meta}}} - meta repository con vari externals:
 * {{{https://svn.openwrt.org/openwrt/trunk}}} --> {{{trunk}}} - il ramo di sviluppo principale di OpenWrt
 * {{{https://svn.ninux.org/ninuxdeveloping/svn/ninux-ipkg-brcm}}} --> {{{trunk/packages/ninux-ipkg-brcm}}} - meta-ipkg per broadcom con files di configurazione e dipendenza da altri pacchetti (es. olsrd)
 * {{{https://svn.ninux.org/ninuxdeveloping/svn/ninux-ipkg-atheros}}} --> {{{trunk/packages/ninux-ipkg-atheros}}} - meta-ipkg per atheros (fonera)
 * ...
Vedere https://svn.ninux.org/ninuxdeveloping e SvnHowTo
Linea 100: Linea 46:
$ svn co http://svn.ninux.org/svn/ninuxdeveloping/openwrt-meta
$ cd openwrt-meta/trunk
$ svn co svn://svn.openwrt.org/openwrt/branches/backfire openwrt-backfire
$ cd openwrt
$ echo "src-svn zzzninux https://svn.ninux.org/svn/ninuxdeveloping/packages" >> feeds.conf.default
Linea 103: Linea 50:
$ make defconfig
$ make package/symlinks
$ ./scripts/feeds install -a
Linea 110: Linea 56:
 * [https://svn.ninux.org/ninuxdeveloping/ticket/25 ticket #25]: disabilitare Base system -> busybox -> Configuration -> Networking Utilities -> Use sendfile system call (sotto httpd)
Linea 113: Linea 58:
$ make world $ make
Linea 116: Linea 61:
Note: To build an full openwrt with all packages, ignoring the failing packages, add a {{{IGNORE_ERRORS=m}}} to the make call.
This will let continiue the build, even if a single packed marked with “m” failed to build.
Linea 117: Linea 64:
{{{
$ make IGNORE_ERRORS=m
}}}
Linea 118: Linea 68:
=== documentazione ===
 * ["OpenWRTCompile"]
 * http://wiki.openwrt.org/BuildingPackagesHowTo
 * http://wiki.openwrt.org/BuildRoot
Per compilare solo un pacchetto basta andare nella directory principale, fare un
{{{
make menuconfig
}}}

e selezionare solo il pacchetto da compilare (selezionarlo come Modulo).

Per compilare il pacchetto poi basta lanciare (sempre dalla directory principale) il comando

{{{
make package/NOMEPACCHETTO-compile
}}}

=== How to Add a Netfilter Extension to the firmware ===

Some Netfilter Extension are not in the OpenWRT toolchain.

To add nome edit the file {{{include/netfilter.mk}}}

andare alla sezione {{{#extra}}}

Qui c'è una riga per ogni estensione di Netfilter che viene caricata nel firmware quando si seleziona il modulo kmod-netfilter-extra

In questo esempio abbiamo aggiunto il modulo di iptables {{{hashlimit}}}, abbiamo quindi aggiunto questa riga:
{{{
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit))
}}}

Dove {{{CONFIG_NETFILTER_XT_MATCH_HASHLIMIT}}} è il simbolo del modulo del kernel che vogliamo aggiungere. Per trovarlo prendete i sorgenti di un Vanilla Kernel, andate nei menu con {{{make menuconfig}}} e quando il modulo che vi interessa è selezionato selezionate {{{help}}} e troverete una dicitura tipo {{{Symbol: NETFILTER_XT_MATCH_HASHLIMIT}}}

Per trovare cosa scrivere dove mettiamo {{{xt_hashlimit}}} dovete compilare il vostro vanilla kernel, poi andiamo in {{{net/netfilter}}} e vediamo come si chiama l'oggetto {{{.o}}} del modulo kernel che ci interessa, nel nostro caso il nome era {{{xt_hashlimit.o}}}

Quindi, aggiunta questa singola riga al file {{{include/netfilter.mk}}} controlliamo che vada tutto bene facendo:

{{{
make menuconfig
}}}

selezioniamo {{{iptables-mod-extra}}} che si trova dentro {{{base-system -> iptables}}}
selezioniamo {{{kmod-ipt-extra}}} che si trova dentro {{{kernel-modules -> Netfilter Extensions}}}

Fatto questo proviamo a compilare i pacchetti per vedere se va tutto liscio

{{{
make package/kernel-clean V=99
make package/kernel-compile V=99
make package/iptables-clean V=99
make package/iptables-compile V=99
}}}

se non ci sono errori possiamo compilare tutto il firmware con {{{make}}} ed il nuovo firmware avrà dentro il modulo di Netfilter che abbiamo aggiunto

=== documentazione: ovvero link disordinati ===
 * [[OpenWRTCompile]]
 * http://wiki.openwrt.org/doc/devel/packages
 * http://wiki.openwrt.org/doc/howto/buildroot
Linea 123: Linea 125:
 * [[http://wiki.prplfoundation.org/wiki/Building_prplwrt|Building OpenWrt]] @ prlpWrt Wiki
Linea 124: Linea 127:
 * http://wiki.openwrt.org/OpenWrtDocs/BuildingKamikazeHowTo
Linea 127: Linea 129:
 * init.d Start Stop script di OpenWRT: https://forum.openwrt.org/viewtopic.php?id=11301

== installazione da remoto ==

Try at yuor own risk!!!! (La procedura è stata testata solo su schede Alix)

E' possibile aggiornare il firmware da remoto con il seguente comando:
{{{
ssh root@(indirizzo della scheda) 'dd of=/dev/hda bs=512'< openwrt.image
}}}

Firmware Ninux

progetto

Firmware OpenWrt con configurazione e grafica personalizzate ninux.org- E' in corso d'opera anche la realizazione di un firmware "next generation" FirmwareNG.

features

  • olsrd + plugins and mdns plugin !
  • webif con grafica Ninux.org
  • Ninux Dynamic DNS
  • iproute2
  • snmp
  • horst
  • tcpdump
  • wl (solo WRT54G)
  • file di configurazione quasi-pronti

screenshots

Istruzioni generiche per tutti i routers!!!

Dopo che installate l'immagine:

  • cambiate l'IP dell'IF Ninux in /etc/config/network

  • cambiate l'IP dell'interfaccia wired /etc/config/network

  • cambiate HNA di olsr opportunamente in /etc/config/olsrd

Oppure le stesse modifiche fatele tutte da interfaccia grafica

Prendete indirizzi IP liberi ed usate questa pagina: GestioneIndirizzi

sviluppo

Vedere https://svn.ninux.org/ninuxdeveloping e SvnHowTo

compilare

$ svn co svn://svn.openwrt.org/openwrt/branches/backfire openwrt-backfire
$ cd openwrt
$ echo "src-svn zzzninux https://svn.ninux.org/svn/ninuxdeveloping/packages" >> feeds.conf.default
$ ./scripts/feeds update
$ ./scripts/feeds install -a
$ make menuconfig 

Nel menù:

  • scegliere i pacchetti ninux-* in Administration

$ make

Note: To build an full openwrt with all packages, ignoring the failing packages, add a IGNORE_ERRORS=m to the make call. This will let continiue the build, even if a single packed marked with “m” failed to build.

$ make IGNORE_ERRORS=m

Per compilare solo un pacchetto basta andare nella directory principale, fare un

make menuconfig

e selezionare solo il pacchetto da compilare (selezionarlo come Modulo).

Per compilare il pacchetto poi basta lanciare (sempre dalla directory principale) il comando

make package/NOMEPACCHETTO-compile

How to Add a Netfilter Extension to the firmware

Some Netfilter Extension are not in the OpenWRT toolchain.

To add nome edit the file include/netfilter.mk

andare alla sezione #extra

Qui c'è una riga per ogni estensione di Netfilter che viene caricata nel firmware quando si seleziona il modulo kmod-netfilter-extra

In questo esempio abbiamo aggiunto il modulo di iptables hashlimit, abbiamo quindi aggiunto questa riga:

$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit))

Dove CONFIG_NETFILTER_XT_MATCH_HASHLIMIT è il simbolo del modulo del kernel che vogliamo aggiungere. Per trovarlo prendete i sorgenti di un Vanilla Kernel, andate nei menu con make menuconfig e quando il modulo che vi interessa è selezionato selezionate help e troverete una dicitura tipo Symbol: NETFILTER_XT_MATCH_HASHLIMIT

Per trovare cosa scrivere dove mettiamo xt_hashlimit dovete compilare il vostro vanilla kernel, poi andiamo in net/netfilter e vediamo come si chiama l'oggetto .o del modulo kernel che ci interessa, nel nostro caso il nome era xt_hashlimit.o

Quindi, aggiunta questa singola riga al file include/netfilter.mk controlliamo che vada tutto bene facendo:

make menuconfig

selezioniamo iptables-mod-extra che si trova dentro base-system -> iptables selezioniamo kmod-ipt-extra che si trova dentro kernel-modules -> Netfilter Extensions

Fatto questo proviamo a compilare i pacchetti per vedere se va tutto liscio

make package/kernel-clean V=99
make package/kernel-compile V=99
make package/iptables-clean V=99
make package/iptables-compile V=99

se non ci sono errori possiamo compilare tutto il firmware con make ed il nuovo firmware avrà dentro il modulo di Netfilter che abbiamo aggiunto

installazione da remoto

Try at yuor own risk!!!! (La procedura è stata testata solo su schede Alix)

E' possibile aggiornare il firmware da remoto con il seguente comando:

ssh root@(indirizzo della scheda) 'dd of=/dev/hda bs=512'< openwrt.image