Italiano English
Modifica History Actions

Differenze per "FirmwareNinux"

Differenze tra le versioni 14 e 58 (in 44 versioni)
Versione 14 del 2007-12-31 00:59:53
Dimensione: 3401
Autore: nino
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 ===

==== La Fonera ====

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

http://160.80.103.99/~saverio/openwrt/fonera/
 
==== Linksys WRT54G ====

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

http://160.80.103.99/~saverio/openwrt/brcm/

==== x86 ====

Versione '''0.1-alpha''' testata solo su '''qemu'''e su '''alix'''

vedere OpenWrtOnQemu

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

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

vedi pure:AlixOpenWrt

==== adm5120 ====

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

Instruzioni:
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 80: 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 89: Linea 38:
Linea 90: Linea 40:
https://svn.ninux.org/ninuxdeveloping
Linea 92: Linea 41:
=== sorgenti ===

{{{https://svn.ninux.org/ninuxdeveloping/svn/openwrt-meta}}} - meta repository con i seguenti externals:
 * {{{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)
 * {{{https://svn.openwrt.org/openwrt/packages}}} --> {{{packages}}} - pacchetti di OpenWrt che verranno linkati dal comando {{{make package/symlinks}}}
 * {{{http://svn.berlios.de/svnroot/repos/xwrt/trunk/}}} --> {{{trunk/package/webif}}} - WebIf
 * {{{https://svn.openwrt.org/openwrt/trunk}}} --> {{{trunk}}} - il ramo di sviluppo principale di OpenWrt
 * altri externals per il ramo stable di OpenWrt
Vedere https://svn.ninux.org/ninuxdeveloping e SvnHowTo
Linea 106: Linea 46:
$ svn co http://svn.ninux.org/svn/ninuxdeveloping/openwrt-meta
$ cd openwrt-meta/trunk
$ make package/symlinks
$ make menuconfig (scegliere ninux-brcm e/o anche ninux-webiftheme in Administration)
$ 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

{{{
Linea 113: Linea 61:
=== documentazione ===
 * ["OpenWRTCompile"]
 * http://wiki.openwrt.org/BuildingPackagesHowTo
 * http://wiki.openwrt.org/BuildRoot
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

=== documentazione: ovvero link disordinati ===
 * [[OpenWRTCompile]]
 * http://wiki.openwrt.org/doc/devel/packages
 * http://wiki.openwrt.org/doc/howto/buildroot
Linea 118: Linea 125:
 * [[http://wiki.prplfoundation.org/wiki/Building_prplwrt|Building OpenWrt]] @ prlpWrt Wiki
Linea 119: Linea 127:
 * http://downloads.openwrt.org/docs/buildroot-documentation.html
 * http://downloads.openwrt.org/kamikaze/docs/openwrt.html
 * 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