====== 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