====== Notes du Boot ======
* Des info sur la manière dont à été faite l'image Debian de base
* Des info sur les process de boot à la mode sunxi
de https://lite4.framapad.org/p/snhack-bar
===== Le Boot: =====
de: http://bricoles.du-libre.org/doku.php?id=olimex:kernels
C'est U-boot ( sunxi ) qui est utilisé
git clone -b sunxi https://github.com/linux-sunxi/u-boot-sunxi.git
cd u-boot-sunxi/
make A20-OLinuXino_MICRO_config
make CROSS_COMPILE=arm-linux-gnueabihf-
formater une SD en au moins 2 parties:
- vfat qui va contenir
- le masterboot record (sunxi-u-boot)
- le fichier de parametrage optionnel de commandes du boot uEnv.txt ou boot.cmd
- le fichier de configuration hardware script.bin
- le noyau linux de base uImage
- ext4 qui va contenir le systeme de fichier, cad le rootfs debian, avec les modules utilisé par le noyau
**Manipulation pour coller une image SD sur une SD :**
dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
ne pas oublier des possibles : [[olimex:kernels#ptits_trucs]]
j'ai extrais de ma derniere image SD pour 8G , 2 partitions, qui fonctionne par un dd de 4Mo :{{:olimex:debut_sd_8g.d.tar.gz|}}
à priori si on fait un dd if=debut_sd_8g.dd of=/dev/sdXX on récupérera une structure qui boot, il faut juste refaire la partition 2 .. gparted ou fdisk
**Ce qu'il se passe:**
u-Boot cherche script.bin et boot.cmd puis uEnv.txt
==== script.bin ====
script.bin s'écrit à partir des outils sunxi fex2bin, texte vers bin
ainsi:
* bin2fex script.bin script.txt , lire le bin pour en faire un texte
* fes2bin script.txt script.bin , lire le texte pour en faire un binaire
modifier script.bin pour prendre en compte le matériel ex:
pour prendre en compte le Giga net plutot que l'ehernet on trouve dans le script.txt
[gmac_para]
gmac_used = 1
gmac_rxd3 = port:PA00<5>
gmac_rxd2 = port:PA01<5>
gmac_rxd1 = port:PA02<5>
...
[emac_para]
emac_used = 0
emac_rxd3 = port:PA00<2>
emac_rxd2 = port:PA01<2>
...
====boot.cmd ou uEnv.txt====
boot.cmd pour le maximum de RAM et ne plus réserver de RAM pour la sortie graphique ( inutile pour un serveur )
setenv bootargs console=ttyS0,115200 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_ve_mem_reserve=0 root=/dev/mmcblk0p2 rootwait panic=10
fatload mmc 0 0x43000000 script.bin
fatload mmc 0 0x48000000 uImage
bootm 0x48000000
Mettre en dur dans boot.cmd
#apt-get install uboot-mkimage
mkimage -C none -A arm -T script -d boot.cmd boot.scr
ou moins dur avec uEnv.txt , qui est pris en dernier lieu comme un simple fichier texte
**uEnv.txt pour booter sur le disque sata**
https://www.olimex.com/forum/index.php?topic=2665.0
===== LIENS ET VRACS =====
* http://bricoles.du-libre.org/doku.php?id=olimex:lime_serveur
* http://bricoles.du-libre.org/doku.php?id=tek:snhack