Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
nas:dockstar:boot:boot_sd-card [13 /07/2012 10:57] psolyca [Modification] - Ajout commandes et compilation 2011.12 |
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. |
+ | |||
+ | |||
+ | Commandes sur le Dockstar en liaison série : ''Marvell>>''\\ | ||
+ | Commandes sur le PC : ''>''\\ | ||
==== Compilation ==== | ==== Compilation ==== | ||
=== U-Boot 2010.09 === | === U-Boot 2010.09 === | ||
- | Je suis parti d'une [[ftp://ftp.denx.de/pub/u-boot/u-boot-2010.09.tar.bz2|version 2010.09 de U-Boot]].\\ | + | 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 quelques modifications de patchs trouvés dans les [[http://projects.doozan.com/uboot/build_uboot.htm|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 {{:dockstar:boot:2010.09-sdio.patch|celui-ci}}.\\ | Le patch complet (ajout support USB, MMC et configuration DockStar) à appliquer sur la version 2010.09 est {{:dockstar:boot:2010.09-sdio.patch|celui-ci}}.\\ | ||
Ligne 26: | Ligne 32: | ||
</code> | </code> | ||
- | J'ai modifié l'environnement précédent (installé pour l'USB) avec les commandes suivantes par la liaison série d'U-Boot : | + | Modification de l'environnement précédent (u-boot.kwb de Jeff Doozan) : |
<code> | <code> | ||
- | >>setenv mmc_device 0:1 | + | Marvell>>setenv mmc_device 0:1 |
- | >>setenv mmc_root /dev/mmcblk0p1 | + | Marvell>>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 | + | Marvell>>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 | + | Marvell>>setenv mmc_init mmc init\; run mmc_test |
- | >>setenv mmc_rootdelay 10 | + | Marvell>>setenv mmc_rootdelay 10 |
- | >>setenv mmc_rootfstype ext2 | + | Marvell>>setenv mmc_rootfstype ext2 |
- | >>setenv mmc_set_bootargs setenv bootargs console=\$console root=\$mmc_root rootdelay=\$mmc_rootdelay rootfstype=\$mmc_rootfstype \$mtdparts | + | Marvell>>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" | + | 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" |
- | >>setenv mmc_bootcmd run mmc_init\; run mmc_set_bootargs\; run mmc_boot | + | Marvell>>setenv mmc_bootcmd run mmc_init\; run mmc_set_bootargs\; run mmc_boot |
- | >>setenv usb_init usb start\; run usb_scan | + | Marvell>>setenv usb_init usb start\; run usb_scan |
- | >>setenv usb_bootcmd run usb_init\; run usb_set_bootargs\; run usb_boot | + | Marvell>>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 | + | Marvell>>setenv bootcmd run mmc_bootcmd\; run usb_bootcmd\; usb stop\; run openwrt_bootcmd\; reset |
</code> | </code> | ||
=== U-Boot 2011.12 === | === U-Boot 2011.12 === | ||
- | Voulant être un peu plus à jour, je suis passé sous un U-Boot plus récent, [[ftp://ftp.denx.de/pub/u-boot/u-boot-2011.12.tar.bz2|version 2011.12]].\\ | + | Avec une [[ftp://ftp.denx.de/pub/u-boot/u-boot-2011.12.tar.bz2|version 2011.12]] plus récente.\\ |
\\ | \\ | ||
- | J'ai appliqué un [[http://forum.doozan.com/read.php?3,6965,7162#msg-7162|patch trouvé]] sur le forum de Jeff Doozan {{:dockstar:boot:dockstar-uboot2011.12_dg.patch|créé par davygravy}} mais en enlevant la partie de configuration de l'environnement par défaut.\\ | + | 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 et [[http://forum.doozan.com/read.php?3,7477,7477#msg-7477|trouvétoujours sur le même forum]] permet la {{:dockstar:boot:kerma-kirkwood-mvsdio.diff|prise en compte de la carte SD}}.\\ | + | 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> | <code> | ||
>tar -xjf u-boot-2011.12.tar.bz2 | >tar -xjf u-boot-2011.12.tar.bz2 | ||
Ligne 63: | Ligne 69: | ||
==== Installation ==== | ==== Installation ==== | ||
- | Je commence par tester le chargeur : | + | **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> | <code> | ||
- | usb start | + | Marvell>>usb start |
- | ext2load usb 0:1 0x800000 uboot.mtd0.kwb | + | Marvell>>ext2load usb 0:1 0x800000 uboot.mtd0.kwb |
- | go 0x800200 | + | Marvell>>go 0x800200 |
- | </code> | + | U-Boot 2010.09 (Jul 07 2012 - 19:34:12) |
- | Si l'application se lance, je l'installe : | + | Marvell-Dockstar - MMC/SD |
- | <code> | + | |
- | usb start | + | |
- | ext2load usb 0:1 0x800000 uboot.mtd0.kwb | + | |
- | nand erase 0x0 0x80000 | + | |
- | nand write.e 0x800000 0x0 0x80000 | + | |
- | </code> | + | |
- | ==== Démarrage ==== | + | SoC: Kirkwood 88F6281_A0 |
- | + | DRAM: 128 MiB | |
- | Le log de démarrage : | + | 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> | <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) | U-Boot 2010.09 (Jul 07 2012 - 19:34:12) | ||
Marvell-Dockstar - MMC/SD | Marvell-Dockstar - MMC/SD | ||
Ligne 95: | Ligne 122: | ||
Marvell>> | Marvell>> | ||
</code> | </code> | ||
+ | Si le Dockstar ne se lance plus après ces commandes, passage par la [[nas:dockstar:case_jtag]]. | ||
- | ==== Problème uboot 2011.12 ==== | + | ==== Problème rencontré ==== |
- | J'ai bien les outils liés à la carte SD mais j'ai un petit soucis avec je ne sais quelle partie du pilote.\\ | + | Erreur avec le pilote SDIO ou la lecture de la carte SD pour les versions 2010.09 et 2011.12 :\\ |
- | J'ai le message suivant :\\ | + | |
<code> | <code> | ||
U-Boot 2011.12 (Jul 11 2012 - 19:03:43) | U-Boot 2011.12 (Jul 11 2012 - 19:03:43) | ||
Ligne 132: | Ligne 159: | ||
ERROR: can't get kernel image! | ERROR: can't get kernel image! | ||
</code> | </code> | ||
- | A voir mais la version debug du chargeur ne veut pas démarrer.\\ | + | |
+ | **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> | ||
+ | >cp debug-mv_sdio.diff u-boot-2011.12 | ||
+ | >cd u-boot-2011.12 | ||
+ | >patch -p1 < debug-mv_sdio.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> | ||
+ | </del> |