Utilisateur:ZFlorent
Je créée cette page pour logguer ma configuration et la partager avec d'autres que ça pourrait intéresser.
Actuellement, j'ai une SD Card Kingston de 4Go partitionnée comme suit : fdisk /dev/mmcblk0 p
Device Boot Start End Blocks Id System /dev/mmcblk0p1 1 245 7832 4 FAT16 <32M ==> boot (8Mo) /dev/mmcblk0p2 246 31496 1000032 83 Linux ==> debian (1Go) /dev/mmcblk0p3 31497 47122 500032 83 Linux ==> QtExtended (400Mo) /dev/mmcblk0p4 47123 120960 2362816 5 Extended /dev/mmcblk0p5 47123 83744 1171896 83 Linux ==> Hackable1 1.2Go /dev/mmcblk0p6 83745 117314 1074232 83 Linux ==> à venir : SHR (1.1Go) /dev/mmcblk0p7 117315 120960 116664 83 Linux ==> data (le reste!)
Ainsi, j'ai :
- Om2008.12 sur la mémoire principale, - Debian sur la partition 2 de ma SD Card mais qui ne s'est pas bien installée, donc ne marche pas --> à suivre... - Qtopia QtExtended sur la partition 3 de ma SD Card - Hackable1 sur la partition 5 : 1000MB n'était pas assez, je l'ai donc passé à 1200M via fdisk - la possibilité d'installer une autre distributions sur la partition 6 : en attente de SHR - une zone de données inter distribution
Pour booter dessus, j'ai modifié le u-boot_env grâce au script conf-u-boot.sh pour récupérer la config de départ et écrire la version modifiée. Et à uboot-envedit pour modifier la configuration modifiée. Cf http://openmoko-fr.org/forum/viewtopic.php?pid=3515#p3515
Ma config est donc la suivante : $ uboot-envedit -i env_modified.u-boot -p
boot_1=setenv bootargs ${bootargs_base} ${mtdparts}; nand read.e 0x32000000 kernel 0x200000; bootm 0x32000000
boot_2=setenv bootargs ${bootargs_base} rootfstype=ext3 root=/dev/mmcblk0p2 rootdelay=5 ${mtdparts} ; mmcinit; fatload mmc 1 0x32000000 ${sd_image_name}; bootm 0x32000000
boot_3=setenv bootargs ${bootargs_base} rootfstype=ext3 root=/dev/mmcblk0p3 rootdelay=5 ${mtdparts} ; mmcinit; fatload mmc 1 0x32000000 ${sd_image_name}; bootm 0x32000000
boot_4=setenv bootargs ${bootargs_base} rootfstype=ext3 root=/dev/mmcblk0p5 rootdelay=5 ${mtdparts} ; mmcinit; fatload mmc 1 0x32000000 ${sd_image_name}; bootm 0x32000000
boot_5=setenv bootargs ${bootargs_base} rootfstype=ext3 root=/dev/mmcblk0p6 rootdelay=5 ${mtdparts} ; mmcinit; fatload mmc 1 0x32000000 ${sd_image_name}; bootm 0x32000000
boot_menu_timeout=300
bootargs_base=rootfstype=jffs2 root=/dev/mtdblock6 console=ttySAC2,115200 console=tty0 loglevel=8 regular_boot
bootcmd=run boot_${default}
bootdelay=1
default=1
menu_1=Prompt menu 1 flash interne: run boot_1
menu_2=Prompt menu 2 SDCard partition 2: run boot_2
menu_3=Prompt menu 3 SDCard partition 3: run boot_3
menu_4=Prompt menu 4 SDCard partition 5: run boot_4
menu_5=Prompt menu 5 SDCard partition 6: run boot_5
menu_6=Reboot: reset
menu_8=Power off: neo1973 power-off
mtddevname=nor
mtddevnum=0
mtdids=nor0=physmap-flash,nand0=neo1973-nand
mtdparts=mtdparts=physmap-flash:-(nor);neo1973-nand:0x00040000(u-boot),0x00040000(u-boot_env),0x00800000(kernel),0x000a0000(splash),0x00040000(factory),0x0f6a0000(rootfs) partition=nor0,0
pcb_rev=0x001
pcf50633_int1=0x80
pcf50633_int2=0xaa
quiet=1
sd_image_name=uImage.bin
splashimage=nand read.e 0x32000000 splash 0x5000; unzip 0x32000000 0x8800000 0x96000
stderr=usbtty
stdin=usbtty
stdout=usbtty
usbtty=cdc_acm
Pour récupérer l'environement de boot initial :
sudo dfu-util -a u-boot_env -U env.u-boot
Pour modifier l'environnement de boot initial dans un fichier:
uboot-envedit -i env.u-boot -f env_modified.u-boot.txt -o env_modified.u-boot
avec env_modified.u-boot.txt un fichier tel que celui ci dessus (Cf résultat de la commande uboot-envedit -i env_modified.u-boot -p) : en gros, vous convertissez votre fichier actuel en texte, vous le modifiez, et vous le donnez en entrée à uboot-envedit
Pour modifier la config de boot dans le FreeRunner :
sudo dfu-util -a u-boot_env -D env_modified.u-boot
Pour booter sur cette configuration de boot, je boot en faisant : Power + 2s + AUX
En faisant AUX + Power, je tombe sur le menu de boot par défaut.
zFlorent