Outils pour utilisateurs

Outils du site


olimex:notes_du_boot

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:

  1. vfat qui va contenir
    1. le masterboot record (sunxi-u-boot)
    2. le fichier de parametrage optionnel de commandes du boot uEnv.txt ou boot.cmd
    3. le fichier de configuration hardware script.bin
    4. le noyau linux de base uImage
  2. 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 : ptits_trucs

j'ai extrais de ma derniere image SD pour 8G , 2 partitions, qui fonctionne par un dd de 4Mo :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><default><default><default>
    gmac_rxd2 = port:PA01<5><default><default><default>
    gmac_rxd1 = port:PA02<5><default><default><default>
    ...

    [emac_para]
    emac_used = 0
    emac_rxd3 = port:PA00<2><default><default><default>
    emac_rxd2 = port:PA01<2><default><default><default>
    ...

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

olimex/notes_du_boot.txt · Dernière modification: 2020/11/21 13:13 (modification externe)