Spoiler
Si ma vie ne vous intéresse pas, rendez-vous directement à la partie : « C’est là où je voulais en venir ».
Spoiler
La réponse est oui.
La première maison dans laquelle j’ai habité, mon père l’avait intégralement construite de ses mains. Il avait tout fait: maçonnerie, plomberie, électricité, etc. Du coup, au moindre problème, il savait parfaitement comment réparer…
J’ai longtemps cru que je n’avais pas hérité de son gène du bricolage, avant de me rendre compte que j’étais comme lui en ce qui concernait l’informatique. Lorsque j’installe un nouvel ordinateur, je ne me sens pas à l’aise s’il se passe des choses que je ne comprends pas. Il faut absolument que j’en peaufine les détails, que j’ajuste le noyau à l’utilisation que je vais faire, que je sélectionne les paquets que j’installe avec uniquement les options qui me serviront, etc.
C’est pour cette raison que j’aime beaucoup la distribution Linux Gentoo. Non, elle n’est pas accessible au premier noob venu, mais pour qui prend le temps de l’apprivoiser, elle permet d’installer un ordinateur de bureau, ou même un serveur, aux petits ognons (non, il n’y a plus de i dans ognon depuis 1990) !
Malheureusement, j’ai récemment décidé de déterrer des Raspberry Pi 2 B pour m’en servir de petit serveur Web. Je dis malheureusement, car avec Gentoo, on n’utilise pas de paquets binaires, mais on compile tout sur place. Or, ces petits ordinateurs n’ont plus la puissance nécessaire pour facilement mettre à jour un paquet comme, par exemple, gcc.
Lassé de bricoler des astuces pour réussir à faire tourner ces nano-ordinateurs correctement, j’ai décidé de me tourner vers la compilation croisée (cross-compilation) et vers la distribution Buildroot, spécialisée dans les systèmes embarqués.
C’est là où je voulais en venir
Buildroot aussi compile tout ce qui est nécessaire pour le système cible, sauf qu’il le fait sur un système hôte, en principe plus puissant, et gère, autant que possible, tous les problèmes liés à la compilation croisée.
C’est ainsi que j’en suis venu à faire un paquet pour Duniter, compilé depuis mon ordinateur portable (un x86-64) à destination du Raspberry Pi (armv7, 32 bits). Et, à ma grande surprise, je n’ai pas eu trop de difficultés à y parvenir. La preuve, le nœud ainsi créé fonctionne depuis maintenant plusieurs heures à l’adresse g1.neptura.org. Bon, il n’a pas encore calculé de nouveau bloc, mais je suppose qu’avec la faible puissance du RPi 2, je ne dois pas m’attendre à beaucoup contribuer à la chaine.
Si cela vous intéresse, j’ai créé ce que Buildroot appelle un « arbre externe » contenant le paquet. Il se trouve sur GitHub. Il vous permettra de faire des serveurs très léger, puisque ne contenant que le strict nécessaire.
D’ailleurs, j’ai même réussi à mettre dessus mon outil d’aide à l’animation de Ğeconomicus (installé actuellement en mode dégradé, il n’est pas possible de s’y inscrire, juste de consulter les quelques parties qui sont enregistrées).
Voilà, c’est tout ce que je voulais vous dire. Si vous avez des questions, n’hésitez pas, j’essaierai d’y répondre au mieux…