Où sommes nous ?

Premier contact

Y compris son installation dont la cross-compilation du kernel

Le RaspberryPI a lancé la mode des SBC (Single Board Computer) presque grand public et abordables, minuscules et très économes en énergie. Mais il a (pour moi) le gros inconvénient d'être faiblard niveau CPU et mémoire. De plus, si on souhaite utiliser un disque dur, on doit passer par l'USB ... dont la bande passante est partagée avec le réseau. Bref, bien pour bidouiller, moyen pour faire office de serveur.
Mais depuis quelques mois, la concurrence fait rage sur ce segment avec des machines qui ont gagné en puissance et en connectivité ... J'ai donc décidé de me laisser tenter par l'une d'entre elles : le BananaPI.

Au menu

Première prise en main

Après quand même 3 semaines, ma machine arrive de Chine (depuis, il y a un importateur français) : la boite a bien souffert de l'avion, mais la carte, son alimentation et les câbles sont très bien protégés, aucun dégât.

La carte présente bien, pas de strap ou de bidouille de dernière minute : de toutes façons, les composants sont maîtrisés (ce sont ceux que l'on retrouve dans la majorité des smartphones) et toutes ces cartes sont fabriquées plus ou moins sur les mêmes chaînes de fabrication.

Le premier boot

A l'heure où j'écris ces lignes, plus d'une dizaine d'images d'OS sont disponibles sur le site de la "communauté" ... Il y a un mois, lors de ma commande, il n'y en avait que 3. Même si le but était dès le départ d'y faire tourner Gentoo, j'ai acheté une carte avec Raspbian pré-installé ... juste histoire de pouvoir tester la carte à son arrivée.

Câble HDMI branché, carte insérée ... on branche l'alimentation. La LED rouge s'allume (témoin de mise sous tension), la LED verte s'allume aussi en fixe et les 2 pinguins habituels apparaissent en haut de l'écran (montrant par la même que ma TV n'est pas bien réglée : il manque au moins 1 cm de chaque coté), la LED verte se met à clignoter ... et rien. Jusqu'à ce que le bureau bien connu d'LXDE.

Cette première expérience sera somme toute un peu frustrante, car le bureau est réactif mais sans plus : en fait, jusqu'à présent, l'accélération matérielle n'est pas prise en charge ... On peut donc oublier (pour le moment) les vidéos fullHD, Youtube et autre Dailymotion. Mais la communauté travaille dessus.

Ca marche aussi sans disque dur !

Avec ces 1 Go de RAM, il est parfaitement possible de travailler uniquement ... avec la carte SD ! C'est ainsi que j'ai pu installer une grande partie de mon système avant l'arrivée du disque dur.

Il suffit de configurer /etc/fstab comme suit :

/dev/mmcblk0p1          /boot           auto            noauto,noatime  1 2
/dev/mmcblk0p2          /               ext3            noatime         0 1
#/dev/SWAP              none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      auto            noauto,ro       0 0
/dev/fd0                /mnt/floppy     auto            noauto          0 0

none                    /var/tmp        tmpfs           defaults        0 0
none                    /tmp            tmpfs           defaults        0 0

Comme tout le monde devrait le savoir, le gros problème avec les mémoires flash est l'usure en écriture et il est donc crucial d'éviter toute écriture inutile. C'est pourquoi :

Visualiser les accès à la carte

Le Banana contient 3 LEDs dont la fameuse verte qui clignote à la manière d'un coeur lorsque l'OS tourne (enfin, on en reparlera plus tard...). Mais contrairement aux 2 autres, son fonctionnement est programmable et est exposé à l'OS en tant que /sys/class/leds/green:ph24:led1/. Le fichier trigger présente ses mode de fonctionnement :

cat /sys/class/leds/green:ph24:led1/trigger
none battery-charging-or-full battery-charging battery-full battery-charging-blink-full-solid ac-online usb-online mmc0 timer [heartbeat] backlight gpio cpu0 cpu1 default-on

Avec entre crochet le mode actif. On notera le mmc0 qui correspond à l'activité de la carte mémoire ... en lecture comme en écriture. Le changement se fait par un :

echo 'mmc0' > /sys/class/leds/green:ph24:led1/trigger

Pour des tests plus précis, on utilisera la commande inotifywatch (packages sys-fs/inotify-tools) avec la commande suivante :

inotifywatch -e close_write --recursive /etc /lib /opt /sbin /usr/armv7a-hardfloat-linux-gnueabi/ /usr/bin /usr/include/ /usr/lib* /usr/local /usr/share/

La LED verte à l'aide des systèmes sans écran

Contrairement à ce que je disais ci-dessus, la LED verte ne se met pas à clignoter lorsque l'OS tourne mais ... lorsque le kernel est lancé. Différence subtile : à ce moment-là, le système n'est pas encore pleinement opérationnel, mais exécute les scripts de démarrages.

Comme il est pénible de devoir deviner lorsque l'on peut enfin se connecter à une machine qui démarre, j'ai créé le script suivant /etc/local.d/greenLed.start

echo 'mmc0' > /sys/class/leds/green:ph24:led1/trigger

Ce qui donnera le fonctionnement suivant :
1- LED alumée : le kernel est en cours de chargement
2- LED clignotante : le kernel fonctionne et les scripts de démarrages sont en cours d'exécution
3- LED éteinte : démarrage terminé, on peut s'y logger.

Lorsque je serais sûr de mon installation, je changerai le mode en cpu0 pour visualiser la charge système.

Conclusion

Attiré par sa très faible consommation (<10 watts en pleine charge et avec un disque dur), mon but était de remplacer mon serveur qui dirige mon réseau depuis la cave. Le manque actuel d'accélération graphique ne m'impacte donc pas ... au contraire, je vais même sans doute désactiver le GPU !

J'avais lu des commentaires assez négatifs sur le manque de puissance de ce genre de carte, venant souvent d'utilisateurs de RaspberryPI ... ben j'ai été très très agréablement surpris : le système est réactif, les compilations notablement plus rapide que sur mon Athlon 1.1 Ghz (le bruit en moins) et les accès disques et réseaux très satisfaisants. Comme je m'en doutais, les 1 Go de RAM sont très largement suffisant. On est loin d'un système au rabais comme on peut le lire ici ou là, mais au contraire un serveur très honorable pour une consommation lilliputienne.

Gentoo dans tout ça : comme d'habitude, il permet d'avoir un système très léger, tuné aux petits oignons. Le seul problème étant que l'architecture ARM une communauté forcément plus réduite que celle pour x86. Conséquence, beaucoup de packages sont encore marqués "instables" ce qui nécessite de jongler plus souvent que nécessaire avec portage.keywords

Bref, je suis conquis, et un nouvelle exemplaire le rejoindra sans doute bientôt pour faire des bidouilles plus électroniques.


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2017
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.