I can't run sdboot on Apalis TK1

Hi ,
I have an Apalis TK1 for 2 days , and I’m trying to make it boot from my SDcard. When I go to the U-boot interface and I run sdboot after my run setupdate and run update are done. It prints me that :

Apalis TK1 # run sdboot
Booting from SD card in 8bit slot...
MMC: no card present
** Bad device mmc 1 **
MMC: no card present
** Bad device mmc 1 **

I dont know where the problem can come from because when i tap “df -h” the TK1 already sees my SD Card.
I would be grateful for any help.
Thanks

@Brahms which Apalis TK1 module version do you have and which carrier board are you using? Which Linux image version did you upgrade to? You may try entering env default -a & reset prior to attempting run sdboot

hi , thank you for the answer.
Im using an Apalis TK1 V1.1 A with the Ixora Carrier Board and Im upgraded to the Apalis_TK1_LinuxImageV2.7$
linux Image version.
I 've just tried to enter env default -a & reset and run sdboot but it still don’t recognize my SD card.
I’ve also tried to use my cellphone SD card (SanDisk 2GB FAT) but I got the same result again.

Out-of-the-box run sdboot currently only allows booting off the 8-bit MMC slot which is not available on Ixora V1.0A. The upcoming Ixora V1.1A will have this fixed as it used that same slot albeit in a 4-bit micro SD configuration. For the time being you may manually proceed as follows:

setenv sdargs 'ip=off root=/dev/mmcblk2p2 rw rootfstype=ext3 rootwait'
setenv sdboot 'run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} ${vidargs}; echo Booting from SD card in 8bit slot...; run sddtbload; load mmc 2:1 ${kernel_addr_r} ${boot_file} && run fdt_fixup && bootm ${kernel_addr_r} - ${dtbparam}'
setenv sddtbload 'setenv dtbparam; load mmc 2:1 ${fdt_addr_r} ${soc}-apalis-${fdt_board}.dtb && setenv dtbparam ${fdt_addr_r}

Thank you it does really launch now .
But I encounter another problem during the launch with the sdboot and i 've encountered the exact same with the USBboot too.

[    5.487304] ALSA device list:
[    5.492158]   #0: Toradex Apalis TK1 SGTL5000
[    5.498329]   #1: HDA NVIDIA Tegra at 0x70038000 irq 113
[    5.505799] Waiting for root device /dev/mmcblk2p2...
[   63.991605] tegra-xhci tegra-xhci: failed to init firmware from filesystem: egra_xusb_firmware

I dont know where this filesystem could be? or what kind of problem it could be knowing that I followed the "how to flash guide " in the toradex site for the copy of the Linux image on my USB key or SD card .
thanks

Well, how does your partitioning of the SD card look like (e.g. more interesting then the snipped you posted above would be the messages about what mmcblk devices it did actually find during boot)?

Hello,
I’ve partitionned my SD card in 2 parts . the first part has the differents folders with the images and the second part has the copy of the rootfs provided by the apalis TK1 folder.
!

![alt text][2] [2]: /community/storage/temp/417-partition-2.png

How can I find what mmcblk devices it did actually find during boot?

Thank you for the help we have finally resolved the problem by using your first suggestion with just one small change.

setenv sdargs 'ip=off root=/dev/mmcblk1p2 rw rootfstype=ext3 rootwait'

setenv sdboot 'run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} ${vidargs}; echo Booting from SD card in 8bit slot...; run sddtbload; load mmc 2:1 ${kernel_addr_r} ${boot_file} && run fdt_fixup && bootm ${kernel_addr_r} - ${dtbparam}'

setenv sddtbload 'setenv dtbparam; load mmc 2:1 ${fdt_addr_r} ${soc}-apalis-${fdt_board}.dtb && setenv dtbparam ${fdt_addr_r}'

the modification was toward the SDargs , instead of using root = mmcblk2p2 we did root = mmcblk1p2 but we kept the rest of configuration you gave us and it worked .

Best regards and thanks ,
Brahms

OK, but that would have been the default then.

Those would be the mmc2 related messages during boot e.g.

[    6.184324] mmc2: new ultra high speed SDR50 SDHC card at address 0007
[    6.184494] mmcblk mmc2:0007: Card claimed for testing.
[    6.184662] mmcblk1: mmc2:0007 SD4GB 3.70 GiB
[    6.185595]  mmcblk1: p1 p2

I have to admit I kind of expected it to allocate mmcblk2 here. Unfortunately that is not how Linux does allocate things during boot. The mmcblk0 is always used for the eMMC which is non removable however any of them removable ones (e.g. MMC/SD cards) are the following numbers meaning if just one card is inserted it gets mmcblk1 regardless of whether the first or second slot is used. However if two cards are inserted during boot then the first slot gets mmcblk1 and the second mmcblk2, first and second here meaning 8-bit MMC slot vs. 4-bit SD slot. Remember that Ixora V1.0A has the second slot while Ixora V1.1A will now use the first one.