<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>FirmwareNinux</title><revhistory><revision><revnumber>58</revnumber><date>2015-01-09 15:57:23</date><authorinitials>Stefanauss</authorinitials><revremark>Aggiunta guida compilazione OpenWrt per neofiti</revremark></revision><revision><revnumber>57</revnumber><date>2011-10-29 03:16:34</date><authorinitials>tor1.digineo.de</authorinitials><revremark>old links</revremark></revision><revision><revnumber>56</revnumber><date>2010-04-18 13:20:10</date><authorinitials>host140-221-dynamic.16-87-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>55</revnumber><date>2010-04-18 13:18:33</date><authorinitials>host140-221-dynamic.16-87-r.retail.telecomitalia.it</authorinitials><revremark>moving to backfire (saverio)</revremark></revision><revision><revnumber>54</revnumber><date>2010-01-12 13:01:38</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>53</revnumber><date>2009-10-23 18:06:17</date><authorinitials>2002:4f35:d73:1::1</authorinitials></revision><revision><revnumber>52</revnumber><date>2009-10-18 11:49:07</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>51</revnumber><date>2009-10-18 11:40:43</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>50</revnumber><date>2009-10-17 11:44:40</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>49</revnumber><date>2009-10-14 18:54:07</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>48</revnumber><date>2009-04-01 21:03:12</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>47</revnumber><date>2009-03-19 17:10:20</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>46</revnumber><date>2009-03-19 09:07:35</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>45</revnumber><date>2009-02-15 18:59:26</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>44</revnumber><date>2009-01-24 12:21:54</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>43</revnumber><date>2009-01-19 08:14:15</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>42</revnumber><date>2009-01-19 07:52:55</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>41</revnumber><date>2009-01-11 16:52:17</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>40</revnumber><date>2009-01-11 16:50:03</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>39</revnumber><date>2008-10-27 14:34:28</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>38</revnumber><date>2008-04-09 23:06:10</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>37</revnumber><date>2008-03-18 17:27:56</date><authorinitials>localhost</authorinitials><revremark>converted to 1.6 markup</revremark></revision><revision><revnumber>36</revnumber><date>2008-02-19 23:22:34</date><authorinitials>ZioPRoTo</authorinitials><revremark>questo comando non è più necessario</revremark></revision><revision><revnumber>35</revnumber><date>2008-02-17 23:34:23</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>34</revnumber><date>2008-02-17 21:45:15</date><authorinitials>213-140-21-227.fastres.net</authorinitials></revision><revision><revnumber>33</revnumber><date>2008-01-25 15:53:13</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>32</revnumber><date>2008-01-19 12:23:15</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>31</revnumber><date>2008-01-19 12:20:47</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>30</revnumber><date>2008-01-19 11:49:28</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>29</revnumber><date>2008-01-18 21:31:21</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>28</revnumber><date>2008-01-16 11:57:21</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>27</revnumber><date>2008-01-16 10:52:23</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>26</revnumber><date>2008-01-13 22:33:48</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>25</revnumber><date>2008-01-13 22:21:42</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>24</revnumber><date>2008-01-13 09:16:13</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>23</revnumber><date>2008-01-13 09:06:28</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>22</revnumber><date>2008-01-12 20:16:31</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>21</revnumber><date>2008-01-12 16:43:02</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>20</revnumber><date>2008-01-12 11:02:23</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>19</revnumber><date>2008-01-10 23:48:58</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>18</revnumber><date>2008-01-09 18:23:17</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>17</revnumber><date>2008-01-09 18:10:42</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>16</revnumber><date>2007-12-31 16:08:58</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>15</revnumber><date>2007-12-31 16:05:42</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>14</revnumber><date>2007-12-31 00:59:53</date><authorinitials>nino</authorinitials></revision><revision><revnumber>13</revnumber><date>2007-12-31 00:49:07</date><authorinitials>nino</authorinitials></revision><revision><revnumber>12</revnumber><date>2007-12-25 22:34:54</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>11</revnumber><date>2007-12-25 22:28:26</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>10</revnumber><date>2007-12-24 02:09:49</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>9</revnumber><date>2007-12-22 00:41:53</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>8</revnumber><date>2007-12-14 19:55:13</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>7</revnumber><date>2007-12-10 01:54:45</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>6</revnumber><date>2007-12-10 00:43:04</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>5</revnumber><date>2007-12-09 11:29:08</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>4</revnumber><date>2007-12-08 21:49:07</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>3</revnumber><date>2007-12-06 16:18:08</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>2</revnumber><date>2007-11-30 18:53:43</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>1</revnumber><date>2007-11-30 15:14:55</date><authorinitials>ClauzClauz</authorinitials></revision></revhistory></articleinfo><section><title>Firmware Ninux</title><section><title>progetto</title><para>Firmware <ulink url="http://www.nnx.me/FirmwareNinux/OpenWrt#">OpenWrt</ulink> con configurazione e grafica personalizzate ninux.org- E' in corso d'opera anche la realizazione di un firmware &quot;next generation&quot; <ulink url="http://www.nnx.me/FirmwareNinux/FirmwareNG#">FirmwareNG</ulink>. </para><section><title>features</title><itemizedlist><listitem><para>olsrd + plugins and mdns plugin ! </para></listitem><listitem><para>webif con grafica Ninux.org </para></listitem><listitem><para>Ninux Dynamic DNS </para></listitem><listitem><para>iproute2 </para></listitem><listitem><para>snmp </para></listitem><listitem><para>horst </para></listitem><listitem><para>tcpdump </para></listitem><listitem><para>wl (solo WRT54G) </para></listitem><listitem><para>file di configurazione quasi-pronti </para></listitem></itemizedlist></section><section><title>screenshots</title></section></section><section><title>Istruzioni generiche per tutti i routers!!!</title><para>Dopo che installate l'immagine: </para><itemizedlist><listitem><para>cambiate l'IP dell'IF Ninux in <code>/etc/config/network</code> </para></listitem><listitem><para>cambiate l'IP dell'interfaccia wired <code>/etc/config/network</code> </para></listitem><listitem><para>cambiate HNA di olsr opportunamente in <code>/etc/config/olsrd</code> </para></listitem></itemizedlist><para>Oppure le stesse modifiche fatele tutte da interfaccia grafica </para><para>Prendete indirizzi IP liberi ed usate questa pagina: <ulink url="http://www.nnx.me/FirmwareNinux/GestioneIndirizzi#">GestioneIndirizzi</ulink> </para></section><section><title>sviluppo</title><para>Vedere <ulink url="https://svn.ninux.org/ninuxdeveloping"/> e <ulink url="http://www.nnx.me/FirmwareNinux/SvnHowTo#">SvnHowTo</ulink> </para><section><title>compilare</title><screen><![CDATA[$ 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 ]]></screen><para>Nel menù: </para><itemizedlist><listitem><para>scegliere i pacchetti ninux-* in Administration </para></listitem></itemizedlist><screen><![CDATA[$ make]]></screen><para>Note: To build an full openwrt with all packages, ignoring the failing packages, add a <code>IGNORE_ERRORS=m</code> to the make call. This will let continiue the build, even if a single packed marked with “m” failed to build. </para><screen><![CDATA[$ make IGNORE_ERRORS=m]]></screen><para>Per compilare solo un pacchetto basta andare nella directory principale, fare un  </para><screen><![CDATA[make menuconfig]]></screen><para>e selezionare solo il pacchetto da compilare (selezionarlo come Modulo). </para><para>Per compilare il pacchetto poi basta lanciare (sempre dalla directory principale) il comando </para><screen><![CDATA[make package/NOMEPACCHETTO-compile]]></screen></section><section><title>How to Add a Netfilter Extension to the firmware</title><para>Some Netfilter Extension are not in the OpenWRT toolchain. </para><para>To add nome edit the file <code>include/netfilter.mk</code> </para><para>andare alla sezione <code>#extra</code> </para><para>Qui c'è una riga per ogni estensione di Netfilter che viene caricata nel firmware quando si seleziona il modulo kmod-netfilter-extra </para><para>In questo esempio abbiamo aggiunto il modulo di iptables <code>hashlimit</code>, abbiamo quindi aggiunto questa riga: </para><screen><![CDATA[$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit))]]></screen><para>Dove <code>CONFIG_NETFILTER_XT_MATCH_HASHLIMIT</code> è il simbolo del modulo del kernel che vogliamo aggiungere. Per trovarlo prendete i sorgenti di un Vanilla Kernel, andate nei menu con <code>make menuconfig</code> e quando il modulo che vi interessa è selezionato selezionate <code>help</code> e troverete una dicitura tipo <code>Symbol: NETFILTER_XT_MATCH_HASHLIMIT</code> </para><para>Per trovare cosa scrivere dove mettiamo <code>xt_hashlimit</code> dovete compilare il vostro vanilla kernel, poi andiamo in <code>net/netfilter</code> e vediamo come si chiama l'oggetto <code>.o</code> del modulo kernel che ci interessa, nel nostro caso il nome era <code>xt_hashlimit.o</code> </para><para>Quindi, aggiunta questa singola riga al file <code>include/netfilter.mk</code> controlliamo che vada tutto bene facendo: </para><screen><![CDATA[make menuconfig]]></screen><para>selezioniamo <code>iptables-mod-extra</code> che si trova dentro <code>base-system -&gt; iptables</code> selezioniamo <code>kmod-ipt-extra</code> che si trova dentro <code>kernel-modules -&gt; Netfilter Extensions</code> </para><para>Fatto questo proviamo a compilare i pacchetti per vedere se va tutto liscio </para><screen><![CDATA[make package/kernel-clean V=99
make package/kernel-compile V=99
make package/iptables-clean V=99
make package/iptables-compile V=99]]></screen><para>se non ci sono errori possiamo compilare tutto il firmware con <code>make</code> ed il nuovo firmware avrà dentro il modulo di Netfilter che abbiamo aggiunto </para></section><section><title>documentazione: ovvero link disordinati</title><itemizedlist><listitem><para><ulink url="http://www.nnx.me/FirmwareNinux/OpenWRTCompile#">OpenWRTCompile</ulink> </para></listitem><listitem><para><ulink url="http://wiki.openwrt.org/doc/devel/packages"/> </para></listitem><listitem><para><ulink url="http://wiki.openwrt.org/doc/howto/buildroot"/> </para></listitem><listitem><para><ulink url="http://forum.openwrt.org/viewtopic.php?pid=31794"/> (anche se un po' datata) </para></listitem><listitem><para><ulink url="http://wiki.prplfoundation.org/wiki/Building_prplwrt">Building OpenWrt</ulink> @ prlpWrt Wiki </para></listitem><listitem><para><ulink url="http://www.oesf.org/index.php?title=Pdaxrom:_Create_An_Ipk_Howto"/> </para></listitem><listitem><para><ulink url="http://downloads.openwrt.org/docs/buildroot-documentation.html"/> </para></listitem><listitem><para><ulink url="http://downloads.openwrt.org/kamikaze/docs/openwrt.html"/> </para></listitem><listitem><para>init.d Start Stop script di OpenWRT: <ulink url="https://forum.openwrt.org/viewtopic.php?id=11301"/> </para></listitem></itemizedlist></section></section><section><title>installazione da remoto</title><para>Try at yuor own risk!!!! (La procedura è stata testata solo su schede Alix) </para><para>E' possibile aggiornare il firmware da remoto con il seguente comando: </para><screen><![CDATA[ssh root@(indirizzo della scheda) 'dd of=/dev/hda bs=512'< openwrt.image]]></screen></section></section></article>