Qui s'y connait en boot Linux sur ARM (u-boot)?

Bonjour à tous,

Mon problème n’a pas spécialement grand chose à voir avec Home Assistant (enfin de loin c’est pour faire tourner un Docker qui permettra de remonter les données d’un onduleurs type « Voltronic » vers HA, mais bref)

J’ai besoin d’une petite machine capable de faire tourner un Linux assez récent afin d’héberger un petit container docker.
J’aurais pu acheter un Rasbberry Pi et c’est clair que ça aurait été plus simple. Mais voilà, j’ai dans un tiroir qui traine depuis plus de 10 ans et qui n’a jamais servi à rien, une carte « Linksprite pcDuino3-nano »
https://www.linksprite.com/linksprite-pcduino3-nano/

Le fabricant à arrêté de supporter cette carte depuis longtemps, si bien que les systèmes disponibles sont obsolètes (ubuntu 14 au mieux) et ne permettent pas d’installer Docker (en tout cas j’ai pas réussit)
En plus certaines des images système fournie par le fabricant sont défectueuses (réseau non fonctionnel ou ce genre de choses)

Quelqu’un met à disposition des images toutes faites de système recent (Debian 11 ou 12) pour cette carte

Mais même si elles semblent fonctionner, a chaque fois que j’ai essayé de lancer une « grosse » installation par APT (python3 ou Docker), je me suis retrouvé avec un système de fichier corrompu.
Je ne sais pas si c’est un problème de carte SD de mauvaise qualité, ou un kernel bancal… j’ai passé un temps de dingue à essayer de booter depuis un SSD (c’est carte est équipée d’un port SATA) sans jamais y parvenir.

Sur le site de Debian, j’ai trouvé là aussi des images d’installeur tout fait
https://wiki.debian.org/InstallingDebianOn/Allwinner

Malheureusement ils ne fournissent pas le firmware pour la pcDuino3-nano, uniquement la pcDuino3 et même si le boot fonctionne et que l’installeur se lance, la partie réseau ne fonctionne pas.
ça fonctionne avec un adaptateur USB-Ethernet, mais c’est pas le but…

Je me prend la tête depuis hier soir à compiler moi-même une image de u-boot qui soit adapté à ma carte. Heureusement, on trouve toutes les ressources nécessaires pour le faire, cette carte étant encore plus ou moins supportée par la communauté.
Je passe les nombreux echecs (je ne sais pas du tout ce que je fais quand il est question de compiler ce genre de trucs, je me contente de trouver les quelques « tutos » que l’on trouve à sujet) mais après des heures et des heures de galère, j’ai enfin mon image u-boot et mon installeur Debian fonctionnel !

Je croyais naïvement que de passer par un installeur me permettrait d’installer le système sur un SSD et qu’il booterait dessus. Ce n’est pas du tout le cas !
Il s’installe très bien sur le SSD, mais au reboot ben il lance le système de base obsolète présent sur la mémoire NAND.
J’ai bien essayé de modifier (sans trop savoir ce que je fais) le fichier uEnv.txt du dossier /boot present sur le système de base, qui d’après le seul site que j’ai trouve à ce sujet, permet de faire ça. Mais ça n’a pas l’air d’être le cas…

Pour l’instant je ne suis donc pas beaucoup plus avancé.
L’installeur permet de mettre la partition de swap (et /home) sur le SSD, c’est toujours ça de gagné. Mais le système reste sur une SDcard alors que j’ai un port SATA…

Bon, voilà, désolé c’était un peu long…
Cette demande est un peu une bouteille à la mer. Je suis désolé si c’est pas le forum le plus adapté, mais comme il y a pas mal de bidouilleurs de Raspberry pi, je me dit que peut-être, si quelqu’un connait bien le fonctionnement de ces petites cartes ARM, il saura me dire comment bricoler tout ça.

Merci d’avance !

Salut

Je ne voudrais pas te décevoir mais à mon avis tu te lances dans un enfer sans fin ! Les vieilles cartes SBC qui ont jamais été correctement supportées à leur époque sont en général bonnes pour la poubelle mailheureusement :frowning: J’ai eu le soucis par le passé avec une carte Orange qui en fait n’a jamais pu être utilisée correctement faute de support du fabricant et de la clientèle trop restreinte !
Même dans les cartes vintage elle apparait pas sur armbian :frowning: Download - Armbian Tu as le process sinon pour construire une image mais après le soucis ça va être le driver du chipset réseau…

Bon courage,

Vincèn

Je sais bien. Même à l’époque où elle était commercialisée le support n’a jamais été bien présent. Et quasi pas de communauté autour donc c’était déjà limité. Elle s’est sans doute trop peu vendue.
En niveau enfer je suis déjà pas mal ! J’ai du passer déjà 6 jours complet dessus.

En fait le problème c’est pas tellement de trouver le système à mettre dessus. Le truc c’est juste qu’il tourne sur la carte SD et que je voudrais éviter.
J’ai regardé la datasheet du A20 et de toutes façons ils ne sait booter que par la mémoire NAND, la carte SD ou une mémoire flash en SPI (une carte SD quoi…)
Le boot par USB ou SATA je peux oublier, il sait pas faire.

Mais le truc que j’aimerais au moins réussir à faire, c’est booter sur la carte SD et avoir ensuite le rootfs sur SSD, et ça je sais pas faire.
De ce que j’ai compris jusqu’à maintenant c’est qu’il faut bricoler les variables d’environnement du u-boot, ou le fichier boot.src… ou les deux… et c’est plein de truc genre ${variable_au_nom_chelou} auquel je comprend rien. Les docs que j’ai trouvé qui expliquent les concepts de base restent malgré tout très floues.
Bref, si quelqu’un sait comment ça marche et qui aurait la patience de m’expliquer (ou qui a une doc sous le coude qui explique clairement à quoi tout ça fait référence) ça serait sympa.

Sinon question bonus :
Il y aurait quoi comme carte du même genre mais mieux supportée ?
J’ai pas besoin de beaucoup de puissance ni de ram.
Et niveau interface j’ai juste besoin d’un USB et de l’Ethernet. (éventuellement un UART TTL3.3V mais je peux faire sans). Par contre faut que le système puisse tourner sur un SSD (en sata ou en M.2)
J’ai trouvé la Radxa ROCK 3A qui semble bien supportée, mais ça me semble encore pas mal exotique…
Bref, entre le Raspberry Pi 5 à 250€ complètement overkill pour mon besoin et mon obscure pcduino du fond des âges, il doit bien y avoir une carte pas cher et bien supportée…

Salut

Tu peux trouver sur le boncoin des mini-pc type HP Prodesk ou Lenovo pour moins de 100€.

Ce ne serais pas plus facile ?

Des vieux PC d’occasion du style je peux en récupérer gratos, c’est pas le problème (j’en ai même déjà 2 au grenier). En ce moment au boulot on en change quasiment 1 par semaine et c’est généralement juste le SSD qui est mort (et le pc trop à la ramasse pour le logiciel qui tourne dessus…) (et je parie qu’il vont prendre la poussière pendant 1 an dans un coin de l’atelier avant de partir à la benne)
Mais bon, non un PC pour l’application prévue c’est juste trop gros (encombrant), trop gourmand et trop puissant. J’ai justement validé le concept avec un vieux PC. Si mon onduleur avait été à côté de mon serveur, j’aurais rien eu à ajouter (juste un conteneur Docker en plus à installer) mais c’est loin d’être le cas.
Il me faut un truc plus compact et moins gourmand qu’un PC
C’est bien pour ça que j’ai ressorti mon vieux pcduino, parce qu’il serait parfait pour ça !
Sinon une carte équivalente moins exotique à 30 balles.

Bon, je ne m’attendais pas que ce sujet intéresse beaucoup de monde, mais je fais un petit retour quand même.

J’ai installé ou essayé d’installer Debian sur mon PcDuino au moins une trentaine de fois. Quand j’installe sur la carte SD ça fonctionne… un certain temps. Je suis parvenu à installer Docker, le container que je voulais, et après un temps relativement court (environ 1h) ça crash.

J’ai tenté divers méthodes pour installer le système sur SSD, la seule chose que j’ai réussit à faire c’est d’avoir le swap sur le SSD, et le reste du système sur carte SD.
Mais toujours pareil, après un certain temps de fonctionnement ça crash.

J’ai essayé plusieurs alims (donc une 3A), plusieurs cartes SD, ça se finit toujours pareil.
Une fois sur 2 ça crash même pendant l’installation.
Ne sachant pas si c’est un problème hardware ou software, j’ai laissé tombé.

J’ai craqué et j’ai commandé un Radxa Rock3A 4Go (avec une eMMC de 16Go) qui est plutôt bien supporté par Armbian. C’est un peu plus que 30 balles (quasiment 70 avec le module eMMC) mais ça semble une bonne carte (sans doute trop puissante pour mon besoin, mais je voulais pas un modèle trop obsolète pour pas me retrouver avec le même problème).
Pour l’instant tout roule.