OpenWRT : Compilation et Installation – Part 2
Cet article est la suite de OpenWRT : Compilation et Installation – Part 1
On part du principe que la borne est (bien) flashé. Et on continue !
Avant toute chose, une petite note à propos de « * » et de « M » lors du make menuconfig pour la compilation
- « M » : il va compiler le paquet binaire qui sera dans bin/atheros/packages (dans mon cas)
- « * » : il va compiler le paquet binaire qui sera dans bin/atheros/packages (dans mon cas) MAIS aussi dans l’image à flasher, comme bin/atheros/openwrt-atheros-root.jffs2-64k par exemple (toujours dans mon cas).
Reprenons :
On veut que notre jeune et jolie borne WiFi aille chercher ses Mises à Jour (MàJ) sur un serveur et non sur internet, comme ça elle pourra avoir les paquets compilé par nos soins. Pour cela, il faut évidemment un serveur (qui peut être n’importe quel ordinateur sur le même réseau que la/les borne(s)) et on va lui installer un serveur http (il y en a beaucoup, nous allons utiliser ici « mini-httpd« ).
$ apt-get install mini-httpd
puis une légère configuration :
- dans /etc/default/mini-httpd, il faut passer le « no » à « yes«
# Start daemon? # 0 = yes # 1 = yes START=1
- dans /etc/mini-httpd.conf, il faut modifier les lignes suivantes :
# On which host mini_httpd should bind? # host=localhost (il faut commenter la ligne (#))
data_dir = /var/wwwcharset=utf8
Puis on va dans /var/www et on crée un lien vers le dossier d’openWRT
$ cd /var/www $ ln -s /home/skhaen/openwrt
C’est bon ? Ça marche ? Normalement si vous tapez votre adresse IP dans votre navigateur vous arrivez sur mini_httpd avec une ligne « openwrt », si vous l’avez pas, c’est que vous avez dû vous trompez quelque part.
On va attaquer la borne maintenant ? Prêt ?
- Si c’est votre première connexion, il faut d’abord se connecter en telnet, entrer un nouveau mot de passe et APRÈS on pourra se connecter en SSH
- n’oubliez pas de changer l’adresse IP de la borne dans /etc/config/network (pour moi en défaut c’est 192.168.1.1)
- dans /etc/opkg.conf, il va falloir changer la première ligne pour avoir quelque chose comme ceci :
src/gz snapshots http://192.168.1.200/openwrt/bin/atheros/packages
Ainsi, la borne ira chercher ses MàJ sur le serveur à l’adresse 192.168.1.200 et dans /openwrt/bin/atheros/packages
Si ça marche, vous devriez avoir cela en tapant « opkg update » :
root@OpenWrt:/# opkg update Downloading http://192.168.1.200/openwrt/bin/atheros/packages/Packages.gz. Inflating http://192.168.1.200/openwrt/bin/atheros/packages/Packages.gz. Updated list of available packages in /var/opkg-lists/snapshots.
A ce moment là on a eu quelques petits problèmes :
- Si le serveur web (de la borne) n’est pas activé par défaut, il faut aller dans /etc/rc.d, et taper les commandes suivante :
$ ln -s ../init.d/uhttpd S50uhttpd$ /etc/init.d/uhttpd start (ou effectuer un reboot)
Choix du protocole (qu’on ne fera pas ici), installation et configuration
Le choix est (très) simple, on va utiliser le protocole OLSR (plus d’infos ici, ici ou encore ici), je compte écrire un article sur les différents protocoles un peu plus tard.
On va relancer une compilation avec les paquets nécessaires pour OLSR, on relance donc la commande « make menuconfig » et il faut que txtinfo, nameservice et olsrd_dyn_gw_plain soient en *M* ou en « * » (txtinfo est sélectionné par défaut il me semble). Vous pouvez les trouvez dans Luci > Freifunk > olsrd-Luci.
Puis sur la borne on fera un :
$ opkg install olsrd-luci-mod-dyn-gw-plain olsrd-luci-mod-txtinfo olsrd-luci-mod-nameservice
Puis (toujours sur la borne), faudra aller dans /etc/config/network et rajouter (à modifier selon vos envies, c’est un exemple):
config 'interface' 'mesh' option 'proto' 'static' option 'ipaddr' '10.0.0.1' option 'netmask' '255.255.255.0'
dans /etc/config/wireless et rajouter
config wifi-iface option device wifi0 option network mesh option mode adhoc option ssid nom_de_votre_reseau option bssid nom_de_votre_reseau option encryption none
config 'olsrd' option 'IpVersion' '4' option 'FIBMetric' 'flat' option 'LinkQualityAlgorithm' 'etx_ff' option 'NatThreshold' '0.75' config 'Interface' # option 'ignore' '1' option 'interface' 'mesh' config 'LoadPlugin' option 'library' 'olsrd_dyn_gw_plain.so.0.4' config 'LoadPlugin' option 'library' 'olsrd_nameservice.so.0.3' option 'suffix' '.olsr' option 'hosts_file' '/var/etc/hosts.olsr' config 'LoadPlugin' option 'library' 'olsrd_txtinfo.so.0.1' option 'accept' '127.0.0.1'
-
config ‘interface’ ‘mesh’
-
option ‘proto’ ’static’
-
option ‘ipaddr’ ‘10.0.0.1′
-
option ‘netmask ‘255.255.255.0′
-
config ‘interface’ ‘mesh’
-
option ‘proto’ ’static’
-
option ‘ipaddr’ ‘10.0.0.1′
-
option ‘netmask ‘255.255.255.0′