Pour à peine 80 euros, moins cher qu'un NSLU2 aujourd'hui, la Fonera 2.0n devient LA plateforme intéressante qu'on peut utiliser sous un système GNU/Linux comme OpenWRT. Elle à un switch 4 ports, un chipset WIFI et même si son CPU ne tourne qu'à 300MHz? c'est déja le top !
Les logiciels de base sur le firmware sont fait pour permettre à la communauté société Fon de vivre. Ce n'est pas notre but, non pas que nous travaillons contre, tout au contraire, mais nous recherchons autre chose: bâtir nos propres communautés et permettre à qui veut de le faire. Au lieu d'avoir besoin de serveur distant pour s'organiser, pour s'exprimer et échanger, nous prônons ici l'autonomie et l'auto-organisation.
Nous ne pouvons pas compter aujourd'hui sur les institutions pour organiser la vie numérique des citoyens (expérience de l'association CMS et de nantes-wireless), elles n'ont plus les capacités techniques, enlisées dans le besoin de contrôle, et se sont tournées vers une gestion identique à celle de l'entreprise, vers des visions à cours termes, dans d'unique souci de rentabilité, voir spéculatives. Ou elles sont bloquées par la peur d'une législation obscure et mal adaptée aux grand changement sociaux. Il y a des moyens de connexions partout en ville mais aucun partage autorisé, c'est la distopie d'Orwell qui se réalise.
Le temps des data-centers, du cloud computing à la microsoft est celui des dinosaures, lourds, immobilisant, anti-écologique, voir dangereux pour la liberté du citoyen.
Pensez que si vous faites héberger votre site sur une machine d'une ferme de site, non seulement vous participez à l'existence de milliers de Km de câbles, de routeurs, d'ordinateurs, de systèmes de climatisations, d'infra-structures utiles au seul fonctionnement, mais vous n'avez aucun mot à dire sur leurs installations et la pollution engendrée, voir sur l'éthique, le social, le profit. Bien sur l'ordinateur d'une ferme héberge souvent à lui seul plusieurs centaines voir milliers de sites, sont impacte ramené à votre usage est minime, mais quand même supérieur à celui d'un micro-tout-petit serveur à la maison.
Bien souvent les visites des sites qui participent à la vie locale sont…locales et la fréquentation ne dépasse pas 20000 visites par mois, c'est plutôt 1000/mois. Et dans le monde virtuel, point de distance… Utilisez des outils comme traceroute ou xtraceroute pour vous rendre compte du gâchis. De toute manière vous utilisez déjà une machine pour rester connecter, profitez de sa présence pour lui confier tout l'interfaçage à l'espace numérique et la gestion de vos données personnelles ou collectives, chez vous. On est jamais si bien servi que par soi même
Il y aura plusieurs niveau d'accès au TotemFon, un privé local, un ou plusieurs groupes (famille,potes etc), un publique. Chaque niveau privé/groupes/publique est étanches aux autres.
Destinations Internet:
Solutions envisagées:
Ainsi soit la page sur le TotemFon alpha, soit à la suite de notre petit atelier de fonosfera, montrant notre progression et nos problèmes avant de commencer la version alpha.
J'ai une fonera 2303a (2.0n) depuis ce matin.
On connecte la fiche internet au serveur de la maison qui lui est connecté à Internet, et un pc sur le switch, le dhcp de la fonera lui attribu l'ip 192.168.10.156
En suivant la documentation, laisser faire, repondre skip partout et aller dans Dashboard»Settings» System : Firmware Update
Je récupere sur mon pc le firmware DEV ici http://download.fonosfera.org/LATEST/fonera2.0n-FON2303/ afin d'avoir plus d'entrée sur la fon : un ssh
après 5 min j'ai un nouveau dashboard et un accès ssh par 192.168.10.1 :)))
ssh 192.168.10.1 Host '192.168.10.1' is not in the trusted hosts file. (fingerprint md5 75:02:64:77:3a:37:65:13:28:7a:c1:04:25:06:7a:98) Do you want to continue connecting? (y/n) yes root@192.168.10.1's password: BusyBox v1.11.1 (2009-08-24 09:46:24 CEST) built-in shell (ash) Enter 'help' for a list of built-in commands. _.--"""--, .' `\ .-""""""-. .' | / '. / .-._/ | `. | | \ \ .-._ | _ \ `""'-. \_.-. \ ` ( \__/ | ) '=. ., \ / ( \ / \ / /` `\ | / `' '..-`\ _.-. `\ _.__/ .=. | _ / \ '.-` `-.' / \_/ | | './ _ _ \.' '-' | / \ | | .-. .-. | \ / o| |o \ / | / \ | / `"` `"` \ / \ | '._.' \ | / | \ | | || _ _ / /|\ (_\ /_) / jgs \ \'._ ` '_.' `""` `"""` Elan the Elk -------- Fonera 20n Firmware (v2.3.0.0) ----------- * Based on OpenWrt - http://openwrt.org * Powered by FON - http://www.fon.com ---------------------------------------------------- root@Fonera:~#
Bon ,maintenant je fais le point et je vais parcourir http://trac.fonosfera.org/fon-ng
mkdir /usr/lib/opkg cp /etc/opkg.conf /etc/opkg.conf.origin echo " src snapshots http://flash.fonera.be/FON2303/packages/mipsel/ src snapshots2 http://downloads.openwrt.org/kamikaze/8.09.2/rb532/packages/ src snapshots3 http://downloads.x-wrt.org/xwrt/kamikaze/8.09/rb532/packages/ dest root / dest ram /tmp dest usb /opt lists_dir ext /var/opkg-lists " > /etc/opkg.conf opkg update opkg list
mv /etc/config/fstab /config/fstab.std echo " config mount option target /opt option device /dev/sda2 option fstype ext3 option options rw,sync option enabled 0 config swap option device /dev/sda1 option enabled 0 " > /etc/config/fstab echo "#!/bin/sh /etc/rc.common START=99 start() { # fstab, /etc/config/fstab => /dev/sda2 /opt ext noauto,rw,sync 0 0 mount /opt }">/etc/init.d/fini ln -s /etc/init.d/fini /etc/rc.d/S99fini
opkg install lighttpd lighttpd-mod-simple_vhost lighttpd-mod-status lighttpd-mod-cgi -d usb ln -s /opt/etc/default /etc/ ln -s /opt/etc/init.d/lighttpd /etc/init.d/ ln -s /opt/etc/lighttpd.conf /etc/ ln -s /etc/init.d/lighttpd /etc/rc.d/S99lighttpd mkdir -p /opt/www ln -s /opt/www /www echo " export LD_LIBRARY_PATH=/lib:/usr/lib:/opt/lib:/opt/usr/lib export PATH=$PATH:/opt/usr/sbin:/opt/usr/bin " >> /etc/profile export LD_LIBRARY_PATH=/lib:/usr/lib:/opt/lib:/opt/usr/lib export PATH=$PATH:/opt/usr/sbin:/opt/usr/bin
server.modules = ( # "mod_rewrite", # "mod_redirect", # "mod_alias", "mod_auth", "mod_status", # "mod_setenv", # "mod_fastcgi", # "mod_proxy", "mod_simple_vhost", "mod_cgi", # "mod_ssi", # "mod_usertrack", # "mod_expire" )
OK jusque la ça roule
opkg install -d usb php5-cgi opkg install -d usb php5-mod-gd php5-mod php5-mod-session php5-mod-pcre php5-mod-auth opkg install -d usb lighttpd-mod-fastcgi opkg install -d usb php5-mod-sockets # ? #php5-mod-mysql # vers mysql non , pas de server !
opkg install -d usb php5-mod-pgsql pgsql-server pgsql-cli
Recuperation de gcc4.4, il semble que ce soit le 4.2 qui soit utilise sur ma machine?
Et cf http://trac.fonosfera.org/fon-ng/wiki/build
svn co http://svn.fonosfera.org/fon-ng/trunk/ # defile le téléchargement # réponse en fin : Révision 1519 extraite. cd trunk chmod +x install.sh ./install.sh cd openwrt ./scripts/feeds update -a ./scripts/feeds install -a make menuconfig
j'ai trouve ça http://vivekian2.wordpress.com/2007/03/28/building-your-own-package-for-openwrt
1. Write the OpenWRT makefile : This is a special makefile which OpenWRT uses. The Makefile is listed and explained at the end of this post. Understanding how to write this makefile is the key to building packages on OpenWRT. 2. Copy this makefile in the appropriate folder : This should be package/<packageName>/Makefile within your buildroot system. 3. make menuconfig : Once the makefile has been placed in the appropriate directory, calling make menuconfig in the buildroot system should show the package in the appropriate section. The package should be selected. 4. make package/<package name>-compile V=99 : This does two things — downloads your package from the URL you specified and compiles the package as well. By default the compilation is done as per the “normal” makefile. You should be able to see the package source code in the dl folder and the compiled images in build_i386/<package-name>. 5. make package/<package name>-install V=99 : This should create the appropriate ipkg package in /bin/packages. Now you can go ahead and port the ipkg to your wrap board and install it using ipkg install <package name>
Faire attention à la documentation, le passage d'openwrt à la version 8 est aussi un changement de syntaxe des Makefile !!
Si vous lancer le make comme ça, prévoyez une occupation pour les prochains jours…
le lendemain
cà marche pô.. pb de compilation
Revenir au fichier fonosfera_GPL, trouvé par là :http://download.fonosfera.org/Elan/20090921_fonosfera_GPL_tar.bz2 voici par ICI
La première fois j'ai fais une fois decompresse qlq modifs
La 2eme fois pour la même manip ( apparemment …) ça a fonctionner directement . ensuite
./install.sh cd openwrt make menuconfig
C'est passé !, plus de 1 h de compilation sur ma petite jetway 1GHz .
J'ai une image bin/openwrt-fonera2n-squashfs.img et toute une floppé de paquets .ipk dans bin/packages
./scripts/feeds update -a ./scripts/feeds install -a
Puis j'ai suivi la doc http://wiki.fon.com/wiki/Fonera_Development poru compiler des paquets séparément
si ensuite le menumakeconfig donne :
tmp/.config-package.in:26106: invalid option tmp/.config-package.in:30136: invalid option tmp/.config-package.in:30238: invalid option tmp/.config-package.in:30240: invalid option tmp/.config-package.in:30374: invalid option
Il faut modifier le fichier tmp/.config-package.in aux lignes désignées et bricoler . J'y ai collé: select PACKAGE_libmysqlclient, select PACKAGE_libffi, select PACKAGE_pycairo, select PACKAGE_python-gtk, select PACKAGE_python-gtk en espérant ne pas en avoir besoin . Et pour que ca ne recommence plus les fichiers feeds/packages/hippo-canvas/Makefile
cd /usr/src cp -a openwrt-dev/kamikaze_8.09/package/libreadline fonosfera_2.3.0.0_GPL/openwrt/package/ cd fonosfera_2.3.0.0_GPL/openwrt ./scripts/feeds install libreadline make package/libreadline/compile V=99
comme j'ai déjà la toolchain teste export PATH=$PATH:/usr/src/fonosfera_2.3.0.0_GPL/openwrt/staging_dir/toolchain-mips_gcc4.1.2/bin pour lancer mipsel-linux-uclibc-gcc avec le make ?
bon aujourd'hui j'ai un php5 avec les lib qui vont et du coup fastcgi fonctionne, a tester dotclear …demain.
Un peu laborieux le machin, vient une idée: Le but est non pas d'utiliser absolument la fonera, mais d'avoir un système portable,ouvert,libre et tout, qu'on utilisera dans un premier lieu sur la fonera ensuite sur autre chose genre NSLU2 ou autre … Donc il semblerait plus logique de partir d'openwrt pour ajouter les spécificités selon le matériel. Ne pas partir du fonera…GPL mais s'en inspirer pour rester sur une base openwrt et utiliser le programme openwrt scripts/env
https://forum.openwrt.org/viewtopic.php?id=9180
./scripts/feeds update -a ; ./scripts/feeds install -a -p fon
On constate que la fonera est assez rapide, que l'environnement de cross compilation est aussi un environnement de complication…, nécessaire pour de petit processeurs, mais peut être plus pour la fon.
L'idée est d'installer un compilateur,make, autoconfig, etc directement sur la cleUSB sur la fonera.
Ainsi : plus de problème liée à la lourdeur de la cross-compilation, on retrouve une compilation plus simple et directe. tar configure make .
Ce sera un peu plus lent mais le jeu en vaut la chandelle
1ère constatation : il n'y a pas de paquet gcc. Doit on l'extraire de la chaîne de compilation ? ou le refaire ?
j'ai trouvé le fichier Makefile : https://dev.openwrt.org/browser/packages/devel/gcc/Makefile
On le colle dans le répertoire packages/gcc du SDK pour faire un make V=99
Revenons au 'classique' outil fonosfera gpl. but: installer et tester un serveur postegres avec dotclear.
On commence par la première solution. un make menuconfig en cochant dans base/busybox/ su, sudo,adduser,deluser,addgroup,delgroup,shadow passwd et ensuite make V=99 pour générer une image complète. et recuperer busybox dans le repertoire bin/package
d'un coté : scp busybox_1.11.1-1_mipsel.ipk root@192.168.10.1:/opt/tmp
de l'autre :
cd /opt/tmp opkg install ./busybox_1.11.1-1_mipsel.ipk opkg install -d usb pgsql-cli pgsql-server adduser postgres mkdir -p /opt/postgresql/data chown postgres /opt/postgresql/data su - postgres LC_COLLATE="C" initdb --pwprompt -D /opt/postgresql/data /etc/init.d/postgresql start /etc/init.d/postgresql enable
Le serveur postgres fonctionne, mais un top me dit que 3 processus occupent plus de 55% du CPU… a vide … peut être que l'idée de gérer une base de donnée n'est pas bonne
Nous pourrions nous contenter de dokuwiki avec quelques thèmes bien choisis et communiquer sur komposer ou amaya pour des pages statiques
Des trucs: