Ceci est une ancienne révision du document !
Liens de références :
http://projects.doozan.com/uboot/build_uboot.htm
http://forum.doozan.com/read.php?3,1561
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.
Je suis parti d'une version 2010.09 de U-Boot.
Après quelques modifications de patchs trouvés dans les archives de Jeff Doozan et l'aide à la compilation, j'ai réussi à démarrer sur un U-Boot.
Le patch complet (ajout support USB, MMC et configuration DockStar) à appliquer sur la version 2010.09 est celui-ci.
>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
J'ai modifié l'environnement précédent (installé pour l'USB) avec les commandes suivantes par la liaison série d'U-Boot :
>>setenv mmc_device 0:1 >>setenv mmc_root /dev/mmcblk0p1 >>setenv mmc_test if ext2load mmc \$mmc_device 0x800000 /boot/uImage 1\; then echo "Found bootable drive on SDCard"\; fi\; done >>setenv mmc_init mmc init\; run mmc_test >>setenv mmc_rootdelay 10 >>setenv mmc_rootfstype ext2 >>setenv mmc_set_bootargs setenv bootargs console=\$console root=\$mmc_root rootdelay=\$mmc_rootdelay rootfstype=\$mmc_rootfstype \$mtdparts >>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" >>setenv mmc_bootcmd run mmc_init\; run mmc_set_bootargs\; run mmc_boot >>setenv usb_init usb start\; run usb_scan >>setenv usb_bootcmd run usb_init\; run usb_set_bootargs\; run usb_boot >>setenv bootcmd run mmc_bootcmd\; run usb_bootcmd\; usb stop\; run openwrt_bootcmd\; reset
Voulant être un peu plus à jour, je suis passé sous un U-Boot plus récent, version 2011.12.
J'ai appliqué un patch trouvé sur le forum de Jeff Doozan 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 et trouvétoujours sur le même forum permet la prise en compte de la carte SD.
>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
Je commence par tester le chargeur :
usb start ext2load usb 0:1 0x800000 uboot.mtd0.kwb go 0x800200
Si l'application se lance, je l'installe :
usb start ext2load usb 0:1 0x800000 uboot.mtd0.kwb nand erase 0x0 0x80000 nand write.e 0x800000 0x0 0x80000
Le log de démarrage :
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>>
J'ai bien les outils liés à la carte SD mais j'ai un petit soucis avec je ne sais quelle partie du pilote.
J'ai le message suivant :
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!
A voir mais la version debug du chargeur ne veut pas démarrer.