Démarrer sur la carte Micro SD
Attention, ce tutoriel peut être dangereux, faites attention. Car si vous faites une erreur : plus rien ! plus de uboot ! Alors à vos risques et périls!
Comme pas mal de monde, je me suis demandé ce que cela donnait quand on démarrait le Neo FreeRunner sur la carte SD.
La réponse c'est : pas mal de problèmes, si vous faites comme moi... Mais on finit par y arriver ! Si Si, je vous jure !
Alors je pense que tout le monde a vu le tutoriel sur le wiki officiel qui ne marche pas correctement. (PS: un volontaire pour le mettre à jour ?)
L'erreur vient du kernel qui n'est pas/plus fabriqué avec le support de ext2 ... Dommage! Enfin c'est cool, on met les mains dans le U-Boot!
Donc, il faut bien créer les deux partitions : une FAT16 et l'autre EXT3.
Dans la FAT on met le kernel (uImage) sous le noms: 'uImage.bin' -- Sans les ' ' '. Puis dans la EXT3 on met le rootFS (on le trouve sous la forme d'une archive tar.gz) avec un simple:
tar xvzf <Noms_rootfs>.tar.gz
Puis c'est là que l'on rentre dans le vif du sujet. Le U-Boot est une sorte de grub, mais pour l'embarqué (Embedded). Dans un premier temps il faut NeoCon. Bon, c'est ennuyeux mais il faut compiler ...
Puis vous démarrez sur la NAND (Power+_Sleep2s_+AUX), et la dans une console:
#: ./neocon -t 30 /dev/ttyACM0
Puis vous avez une invite de commande. Pour en savoir plus, cherchez uboot sur le Wiki ou faites help.
#: setenv menu_9 Boot from MicroSD(FAT+ext3): setenv bootargs \${bootargs_base} rootfstype=ext3 root=/dev/mmcblk0p2 rootdelay=5 \${mtdparts} ro\; mmcinit\; fatload mmc 1 0x32000000 \${sd_image_name}\; bootm 0x32000000
#: saveenv
Recopiez cette ligne dans l'invite, cette commande ajoute un menu et sauve dans le NAND
Redémarrez et vous voila avec un nouveau menu, sous le 'Power off' qui est compatible avec le ext3
PS: Un fix kernel permet de réutiliser l'ext2, alors tout dépend de votre noyau.
NB: Il est possible de charger le noyau Linux depuis une partition en ext2 (au lieu de FAT) avec les versions de u-boot supérieures à la 20080723 (les premiers FreeRunners vendus doivent donc mettre à jour u-boot). Dans cas, il faut utiliser la commande ext2load à la place de la commande fatload)