Configurare il source tree

A questo punto avremo la nostra bella mezza tonnellata di patch e script che compongono OpenWrt; è il momento di configurare il nostro source tree tramite make menuconfig che ci farà accedere ad una utility di configurazione molto simile a quella che si utilizza per configurare il source tree del kernel di linux:

blaxwan@fabbblnx ~/OpenWrtCompile $ cd trunk
blaxwan@fabbblnx ~/OpenWrtCompile/trunk $ make menuconfig   

menuconfig.png

In questa utility dovremo fare qualche modifica per configurare il sourcetree in modo da avere un'immagine di firmware che sia primaditutto compilata per la nostra piattaforma router, e che abbia poi perlomeno i tool di base per iniziare ad utilizzarla, compresa l'interfaccia grafica X-Wrt. Nella lista che segue si fa riferimento ad un firmware da compilare per una Fonera che è basata sul SOC (System on a chip) Atheros, nel caso possediate un router diverso, quella riga è la riga dove specificare la piattaforma di cui si dispone, le restanti impostazioni dovrebbero essere sufficienti per ogni router supportato in OpenWrt (possessori di altri router: please help!):

UPDATE 19 Maggio 2007 -> Il menu è un pochino cambiato nella versione dell'SVN attuale, quindi rispetto agli schemini qui sotto dovete andare a cercarvi un po le cose, che però ci sono tutte ;)

Target System (Atheros [2.6])  ---> 
Base System --->
        busybox --->
                Configuration --->
                        Networking utilities --->
                        [*] hostname
                        [*] httpd
                        [*]   Support reloading the global config file using hup signal
                        [*]   Enable -u <user> option
                        [*]   Enable Basic http Authentication     
                        [*]   Support Common Gateway Interface (CGI)
                        [*]     Enable support for running scripts through an interpreter 
                        
Network --->
        webif --->
                <*> webif........................ An HTTP administrative console for OpenWrt.
                < > webif-lang-ca........................... Catalan language file for webif.
                < > webif-lang-cz............................. Czech language file for webif.
                < > webif-lang-de............................ German language file for webif.
                < > webif-lang-dk............................ Danish language file for webif.   
                < > webif-lang-ee.......................... Estonian language file for webif.
                < > webif-lang-es........................... Spanish language file for webif.
                < > webif-lang-fr............................ French language file for webif.
                < > webif-lang-hr.......................... Croatian language file for webif.
                < > webif-lang-hu......................... Hungarian language file for webif.
                <*> webif-lang-it.......................... wItalian language file for webif.
                < > webif-lang-nl............................. Dutch language file for webif.
                < > webif-lang-no......................... Norwegian language file for webif.
                < > webif-lang-pl............................ Polish language file for webif.
                < > webif-lang-pt........................ Portuguese language file for webif.
                < > webif-lang-ru........................... Russian language file for webif.
                < > webif-lang-se........................... Swedish language file for webif.
                <*> webif-theme-xwrt............................. Original theme for webif^2.
                <*> webif-theme-zephyr............................. Zephyr theme for webif^2.
Utilities --->
                --- haserl............ A CGI wrapper to embed shell scripts in HTML documents

In questa utility, selezionando una voce (<*>) faremo in modo da includere il pacchetto relativo nell'immagine che andremo a creare, selezionando con "M" la stessa voce (<M>) faremo in modo che la compilazione non includa il pacchetto nell'immagine ma ne produca il pacchetto ipkg per poterlo installare successivamente nel router.

Impostati questi pochi flag potremo quindi uscire salvando la configurazione eseguita. A questo punto i nostri sorgenti sono pronti per essere compilati.