Outils pour utilisateurs

Outils du site


nas:dockstar:boot:boot_sd-card

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
nas:dockstar:boot:boot_sd-card [07 /07/2012 21:20]
psolyca créée
nas:dockstar:boot:boot_sd-card [17 /11/2016 15:03] (Version actuelle)
psolyca ↷ Liens modifiés en raison d'un déplacement.
Ligne 1: Ligne 1:
-Liens de références ​:\\  +Liens de référence ​:\\  
-http://​projects.doozan.com/​uboot/​build_uboot.htm +http://​projects.doozan.com/​uboot/​build_uboot.htm\\  
-http://​forum.doozan.com/​read.php?​3,​1561+http://​forum.doozan.com/​read.php?​3,​1561\\  
 +http://​forum.doozan.com/​read.php?​3,​6965,​7162#​msg-7162\\  
 +http://​forum.doozan.com/​read.php?​3,​7477,​7477#​msg-7477 
  
 Après avoir installé une carte SD sur le DockStar, il faut réussir à démarrer dessus.\\ ​ Après avoir installé une carte SD sur le DockStar, il faut réussir à démarrer dessus.\\ ​
-Pour se faire, il faut modifier U-Boot avec une prise en charge de la carte SD.\\ +Pour se faire, il faut modifier U-Boot avec une prise en charge de la carte SD.
  
-==== Principe ==== 
  
-Je suis parti d'une version 2010.09 de U-Boot.\\  +Commandes sur le Dockstar en liaison série : ''​Marvell>>''​\\  
-ftp://​ftp.denx.de/​pub/​u-boot/​u-boot-2010.09.tar.bz2\\ ​+Commandes sur le PC : ''>''​\\  
 + 
 +==== Compilation ==== 
 +=== U-Boot ​2010.09 === 
 +En partant d'une [[ftp://​ftp.denx.de/​pub/​u-boot/​u-boot-2010.09.tar.bz2|version 2010.09 de U-Boot]].\\ 
 \\  \\ 
-Après de multiples modifications et de patch divers et variésj'ai réussi à démarrer sur un U-Boot.\\  +Le patch complet (ajout support USBMMC et configuration DockStar) ​à appliquer sur la version 2010.09 est {{:​dockstar:​boot:​2010.09-sdio.patch|celui-ci}}.\\  
-Le patch à appliquer sur la version 2010.09 est {{:​dockstar:​boot:​2010.09_wmmc.patch|celui-ci}}.\\  + 
-L'​environnement par défaut ​a été modifié comme suit :\\ +<​code>​ 
 +>tar -xjf u-boot-2010.09.tar.bz2 
 +>cp 2010.09-sdio.patch u-boot-2010.09/​ 
 +>cd u-boot-2010.09 
 +>patch -p1 < 2010.09-sdio.patch 
 +>​codesourcery-arm-2009q3.sh 
 +>make distclean 
 +>make dockstar_config 
 +>make u-boot.kwb 
 +>dd if=u-boot.kwb of=u-boot.mtd0.kwb bs=512k conv=sync 
 +>exit 
 +</​code>​ 
 + 
 +Modification de l'​environnement précédent (u-boot.kwb de Jeff Doozan) : 
 +<​code>​ 
 +Marvell>>​setenv mmc_device 0:1 
 +Marvell>>​setenv mmc_root /​dev/​mmcblk0p1 
 +Marvell>>​setenv mmc_test if ext2load mmc \$mmc_device 0x800000 /​boot/​uImage 1\; then echo "Found bootable drive on SDCard"​\;​ fi\; done 
 +Marvell>>​setenv mmc_init mmc init\; run mmc_test 
 +Marvell>>​setenv mmc_rootdelay 10 
 +Marvell>>​setenv mmc_rootfstype ext2 
 +Marvell>>​setenv mmc_set_bootargs setenv bootargs console=\$console root=\$mmc_root rootdelay=\$mmc_rootdelay rootfstype=\$mmc_rootfstype \$mtdparts 
 +Marvell>>​setenv mmc_boot "mw 0x800000 0 1\; ext2load mmc \$mmc_device 0x800000 /​boot/​uImage\;​ if ext2load mmc \$mmc_device 0x1100000 /​boot/​uInitrd\;​ then bootm 0x800000 0x1100000\; else bootm 0x800000\; fi" 
 +Marvell>>​setenv mmc_bootcmd run mmc_init\; run mmc_set_bootargs\;​ run mmc_boot 
 +Marvell>>​setenv usb_init usb start\; run usb_scan 
 +Marvell>>​setenv usb_bootcmd run usb_init\; run usb_set_bootargs\;​ run usb_boot 
 +Marvell>>​setenv bootcmd run mmc_bootcmd\;​ run usb_bootcmd\;​ usb stop\; run openwrt_bootcmd\;​ reset 
 +</​code>​ 
 + 
 +=== U-Boot 2011.12 === 
 +Avec une [[ftp://​ftp.denx.de/​pub/​u-boot/​u-boot-2011.12.tar.bz2|version 2011.12]] plus récente.\\  
 +\\  
 +Application d'un patch {{:​dockstar:​boot:​dockstar-uboot2011.12_dg.patch|créé par davygravy}} mais en enlevant la partie de configuration de l'​environnement par défaut.\\  
 +Un autre patch issu des travaux de Gérard Kerma sur le driver SDIO avec {{:dockstar:​boot:​kerma-kirkwood-mvsdio.diff|prise en compte de la carte SD}}.\\  
 +<​code>​ 
 +>tar -xjf u-boot-2011.12.tar.bz2 
 +>cp dockstar-uboot2011.12_dg.patch u-boot-2011.12/​ 
 +>cp kerma-kirkwood-mvsdio.diff u-boot-2011.12/​ 
 +>cd u-boot-2011.12 
 +>patch -p1 < dockstar-uboot2011.12_dg.patch 
 +>patch -p1 < kerma-kirkwood-mvsdio.diff 
 +>​codesourcery-arm-2009q3.sh 
 +>make distclean 
 +>make dockstar_config 
 +>make u-boot.kwb 
 +>dd if=u-boot.kwb of=u-boot.mtd0.kwb bs=512k conv=sync 
 +>exit 
 +</​code>​ 
 + 
 +==== Installation ==== 
 +**Faire un test de l'​image u-boot.mtd0.kwb avant de l'​installer.**\\ 
 +Ce test en RAM ne fonctionne pas toujours, les différentes tests réalisés sont les suivants (à confirmer, résultats de mémoire) :\\ 
 +| ^  2010.09 ​ ^^  2011.12 ​ ^^ 
 +|Fichier|/​board/​Marvell/​dockstar/​config.mk||/​board/​Seagate/​dockstar/​config.mk((Fichier à créer))|| 
 +|Variable| ​ TEXT_BASE ​ ||  CONFIG_SYS_TEXT_BASE ​ || 
 +|Valeur| ​ 0x00600000 ​ |  0x00C00000 ​ |  0x00600000 ​ |  0x00C00000 ​ | 
 +|Résultat| ​ OK  |  OK  |  KO((OK sans SDIO)) ​ |  KO((OK sans SDIO)) ​ | 
 + 
 +Pour tester, pas besoin d'​installer un serveur TFTP (u-boot 2010.09 avec support USB ajouté et u-boot 2011.12 avec USB par défaut).\\ 
 +Copier les images u-boot.mtd0.kwb sur une clef USB.\\ 
 +<​code>​ 
 +Marvell>>​usb start 
 +Marvell>>​ext2load usb 0:1 0x800000 uboot.mtd0.kwb 
 +Marvell>>​go 0x800200 
 +U-Boot 2010.09 (Jul 07 2012 - 19:34:12) 
 +Marvell-Dockstar - MMC/SD 
 + 
 +SoC:   ​Kirkwood 88F6281_A0 
 +DRAM:  128 MiB 
 +NAND:  256 MiB 
 +In:    serial 
 +Out:   ​serial 
 +Err:   ​serial 
 +Net:   ​egiga0 
 +88E1116 Initialized on egiga0 
 +Hit any key to stop autoboot: ​ 0  
 +Marvell>>​ 
 +</​code>​ 
 +**!!ATTENTION Toute erreur dans les lignes suivantes peut entrainer la perte du Dockstar!!\\  
 +Bien vérifier les adresses avant de valider.**\\  
 +Si l'​application se lance à l'​étape précédente,​ installation de l'​image sur la NAND : 
 +<​code>​ 
 +Marvell>>​reset 
 +Marvell>>​usb start 
 +Marvell>>​ext2load usb 0:1 0x800000 uboot.mtd0.kwb 
 +Marvell>>​nand erase 0x0 0x80000 
 +Marvell>>​nand write.e 0x800000 0x0 0x80000 
 +Marvell>>​reset 
 +resetting... 
 +U-Boot 2010.09 (Jul 07 2012 - 19:34:12) 
 +Marvell-Dockstar - MMC/SD 
 + 
 +SoC:   ​Kirkwood 88F6281_A0 
 +DRAM:  128 MiB 
 +NAND:  256 MiB 
 +In:    serial 
 +Out:   ​serial 
 +Err:   ​serial 
 +Net:   ​egiga0 
 +88E1116 Initialized on egiga0 
 +Hit any key to stop autoboot: ​ 0  
 +Marvell>>​ 
 +</​code>​ 
 +Si le Dockstar ne se lance plus après ces commandes, passage par la [[nas:​dockstar:​case_jtag]]. 
 + 
 +==== Problème rencontré ==== 
 +Erreur avec le pilote SDIO ou la lecture de la carte SD pour les versions 2010.09 et 2011.12 :\\  
 +<​code>​ 
 +U-Boot 2011.12 (Jul 11 2012 - 19:03:43) 
 +Seagate FreeAgent DockStar - SD/MMC 
 + 
 +SoC:   ​Kirkwood 88F6281_A0 ​                                                             
 +DRAM:  128 MiB                                                                          
 +WARNING: Caches not enabled ​                                                            
 +NAND:  256 MiB                                                                          
 +In:    serial ​                                                                          
 +Out:   ​serial 
 +Err:   ​serial 
 +Net:   ​egiga0 
 +88E1116 Initialized on egiga0 
 +Hit any key to stop autoboot: ​ 0  
 +SD found. Card desciption is: 
 +Manufacturer: ​      0x03, OEM "​SD"​ 
 +Product name:       "​SU01G",​ revision 8.0 
 +Serial number: ​     15472313 
 +Manufacturing date: 9/2007 
 +CRC:                0x00, b0 = 0 
 +mmc block read error 
 +mmc1 is available 
 +No MMC card found 
 +syntax error 
 +mmc block read error 
 +bad MBR sector signature 0x3135 
 +** Bad partition 1 ** 
 +mmc block read error 
 +bad MBR sector signature 0x0000 
 +** Bad partition 1 ** 
 +Wrong Image Format for bootm command 
 +ERROR: can't get kernel image! 
 +</​code>​ 
 + 
 +**Brouillon**\\  
 +<​del>​ 
 +Passer le driver SDIO en mode debug avec modification du fichier drivers/​mmc/​mv_sdio.c.\\  
 +Le #define DEBUG est positionné au mauvais endroit dans le fichier mv_sdio.c, {{:​dockstar:​boot:​debug-mv_sdio.diff|patch à appliquer}}.\\ 
 <​code>​ <​code>​
-  arcNumber=2998 +>cp debug-mv_sdio.diff u-boot-2011.12 
-  ​mainlineLinux=yes +>​cd ​u-boot-2011.12 
-  console=ttyS0,​115200 +>patch -p1 < debug-mv_sdio.diff 
-  mtdparts=mtdparts=orion_nand:​1M(u-boot),​4M@1M(uImage),​10M@5M(rootfs),​-(rootfs_data) +>​codesourcery-arm-2009q3.sh 
-  ​mtdids=nand0=orion_nand +>make distclean 
-  ​partition=nand0,​2 +>make dockstar_config 
-  ​mmc_device=0:​1 +>make u-boot.kwb 
-  ​mmc_root=/​dev/​mmcblk0p1 +>​dd ​if=u-boot.kwb of=u-boot.mtd0.kwb bs=512k conv=sync 
-  ​mmc_test=if ext2load mmc $mmc_device 0x800000 /boot/uImage 1; then echo "Found bootable drive on SDCard";​ fi; done +>exit
-  ​mmc_init=mmc init; run mmc_test +
-  mmc_rootdelay=10 +
-  mmc_rootfstype=ext2 +
-  mmc_set_bootargs=setenv bootargs console=$console root=$mmc_root rootdelay=$mmc_rootdelay rootfstype=$mmc_rootfstype $mtdparts +
-  mmc_boot=mw 0x800000 0 1;ext2load mmc $mmc_device 0x800000 /​boot/​uImage; ​if ext2load mmc $mmc_device 0x1100000 /​boot/​uInitrd;​ then bootm 0x800000 0x1100000; else bootm 0x800000; fi +
-  mmc_bootcmd=run mmc_init; run mmc_set_bootargs;​ run mmc_boot +
-  usb_scan_list=1 2 3 4 +
-  usb_scan_1=usb=0:​1 dev=sda1 +
-  usb_scan_2=usb=1:​1 dev=sdb1 +
-  usb_scan_3=usb=2:​1 dev=sdc1 +
-  usb_scan_4=usb=3:​1 dev=sdd1 +
-  usb_device=0:​1 +
-  usb_root=/​dev/​sda1 +
-  usb_scan=usb_scan_done=0;​ for scan in $usb_scan_list;​ do run usb_scan_$scan;​ if test $usb_scan_done ​-eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done +
-  usb_init=usb start; run usb_scan +
-  usb_rootdelay=10 +
-  usb_rootfstype=ext2 +
-  usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts +
-  usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /​boot/​uInitrd;​ then bootm 0x800000 0x1100000; else bootm 0x800000; fi +
-  usb_bootcmd=run usb_init; run usb_set_bootargs;​ run usb_boot +
-  openwrt_root=/​dev/​mtdblock2 ro +
-  openwrt_rootfstype=jffs2 +
-  openwrt_set_bootargs=setenv bootargs console=$console root=$openwrt_root rootfstype=$openwrt_rootfstype $mtdparts +
-  openwrt_boot=nand read.e 0x6400000 0x100000 0x400000; bootm 0x6400000 +
-  openwrt_bootcmd=run openwrt_set_bootargs;​ run openwrt_boot +
-  led_init=green blinking +
-  ​led_exit=green off +
-  led_error=orange blinking+
 </​code>​ </​code>​
 +</​del>​
nas/dockstar/boot/boot_sd-card.1341688838.txt.gz · Dernière modification: 14 /11/2016 13:12 (modification externe)