Image NAND stable de Debian pour Cubieboard2

Lors de mes premiers tests systèmes de la Cubieboard2 aux alentours d’octobre 2014, l’accès à la mémoire flash NAND intégrée ne fonctionnait pas avec le noyau et pilote à sources ouvertes. C’est corrigé depuis au moins la version 3.4.79 du noyau adapté par la communauté Linux-Sunxi. D’avantage d’optimisation importantes vont apparaître durant cet été (utilisation des DMA pour les transferts entres composants, utilisation de l’unité crypto/CRC pour le chiffrement, etc…).

Après avoir testé différentes images NAND, Cubian, lubuntu-desktop, etc… j’ai enfin trouvé l’image NAND d’un système stable, appelée Debieez cb2, basé sur Debian Wheezy (8.5, la dernière stable).

Elle est donc utilisable comme image pour un poste client léger (accélération matérielle gérée, outils de base), ou comme mini-serveur, à condition de stocker les données, si elles sont importantes, sur cartes micro-SD ou disque attaché en SATA, USB ou ethernet, car il ne reste moins d’1 Gio de libre en raison du partitionnement utilisé.

Elle a donc plusieurs défaut :
* elle n’utilise que 1 Gio sur les 4Gio disponible sur la flash. En plus limiter les outils installable ou le stockage, ça n’est pas bon pour la durée de vie les technologies flash, cela va accélérer l’usure prématurée.
* La partition de boot commence à l’octet 32768 au lieu de 2048 en général (la NAND commence par la table des partitions et des doublons de sauvegarde).
* Il se passe des choses étranges lorsqu’on essaie de modifier le partitionnement de la NAND avec l’outil nand-part (table effacée et impossible à réécrire ???).

Le blog de l’auteur de Debieez est en Iran, ce qui est à la fois intéressant sur la diversité des participant au domaine du libre, ce matériel étant sans doute plus abordable pour les pays émergent du G77 (ou « Groupe des 77 »), et en plus laisse espéré un certain détachement des contraintes qu’imposent les services de renseignement des États-Unis dans les pays de l’OTAN. Elle comporte cependant quelques failles NSA, aujourd’hui connues, et largement répandues. Ca sera le sujet d’un prochain article.

Pour pouvoir manipuler la NAND et faire mes tests, je me suis également installé un système sur carte micro-SD basé sur Debian+Linaro, cubiuntu_cb2_sd_1.11. Elle est également vraiment stable (aucun crash en plusieurs semaines d’utilisation), à l’avantage de bien arrêter l’alimentation lors d’un shutdown (commande d’arrêt du système), et de comporter pleins de petits patchs connus qui améliorent stabilité et efficacité du système.

J’ai donc d’abord pensé à prendre le temps d’adapter une image d’installation Debian avec un noyau Linux-sunxi et la gestion de la NAND pour l’installation automatisée, en ayant conscience que cela devrait prendre un peu de temps à réaliser, mais ne devrait pas être insurmontable.

Entre le début de la rédaction de cet article (le 17 juin) et aujourd’hui, j’ai :
* Beaucoup progressé sur la compréhension du fonctionnement de la NAND.
* Réussi à créer une NAND qui fonctionne à partir d’Arch Linux ARM, en bidouillant avec plusieurs images.
* Découvert qu’Arch Linux est réellement une distribution géniale. D’autant plus en version ARM, où elle est optimisée pour chaque plate-forme. Je publierais donc prochainement un article sur ce sujet et probablement une image SD pour l’installer automatiquement sur la NAND, avec le noyau 3.4.90, très stable et 3 Go de libre sur la NAND :).