Cannot boot on SD when SD is present on mmc0 slot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Cannot boot on SD when SD is present on mmc0 slot

3,623 Views
francoisrey
Contributor III

Hi,

 

I try to boot Linux version 3.0.35-ts-armv7l with U-Boot 2013.07.

If I put the sd (with linux image and rfs) on mmc0 slot, linux boot crash with the error "VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1)". If I put the sd on mmc1 slot it works.

I can see that linux detect the mmc0 before trying to open root device, but not mmc1.

Here is the console files of each configuration.

Have you a solution to boot on a SD on mmc0 slot ?

Original Attachment has been moved to: mmc0.txt.zip

Original Attachment has been moved to: mmc1.txt.zip

Labels (3)
0 Kudos
6 Replies

1,704 Views
edison_fernande
Contributor III

Hi francoisrey,

When your board is booting you should see something like this in the boot log:

mmc1: new high speed SDHC card at address b368

mmcblk0: mmc1:b368 3.73 GiB

mmcblk0: p1 p2

In this case, it is a SD card with 2 partitions, in my case, with the rootfs in p2 (mmcblk0p2)  so the bootargs fort this specific case should looks like:

root=/dev/mmcblk0p2

In your case you should:

1. Put your SD wherever you want to boot from.

2. Take a look at the boot log to see the appropriate device.

3. Reboot and stop at u-boot and edit your bootargs to match your device.

something like:

     editenv bootargs

4. boot with the new bootargs.

     bootm

Hope this helps.

Regards,

Edison

0 Kudos

1,704 Views
francoisrey
Contributor III

Hello,

I see that :

mmc0: new high speed SDHC card at address 0007

mmcblk0: mmc0:0007 SD08G 7.42 GiB (ro)

mmcblk0: p1

I have the rootfs in the partition 1

My bootargs containts that :

root=/dev/mmcblk0p1

but the error is that :

VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1)

Please append a correct "root=" boot option; here are the available partitions:

If I put the sd in slot mmc1 it works with the same arg and I can see that when it boot.

mmc1: new high speed SDHC card at address 0007

mmcblk0: mmc1:0007 SD08G 7.42 GiB

mmcblk0: p1

0 Kudos

1,704 Views
edison_fernande
Contributor III

It seems like something is wrong either with your hardware or with your software. To discard your hardware could you try this image:

http://www.ridgerun.com/demos/imx6-boundary-devices-nitrogen6x-demo/imx6-boundary-devices-nitrogen6x...

It basically uses kernel version 3.0.35-4.0.0 from Boundary devices.

The kernel image is going to be in partition 0 and the rootfs in partition 2 so you should use something like "root=/dev/mmcblk0p2" in order to boot. If with this image you are getting the same results something is wrong with your hardware, if it works it is something in your software.

Let me know if this helps.

Regards,

Edison

0 Kudos

1,704 Views
francoisrey
Contributor III

Thanks for your reply,

it seems to be an hardware bug.

But I don't understand which one, because when I boot on mmc 1 it works and I can read and write data on mmc 0 without problems.

0 Kudos

1,704 Views
alejandrolozan1
NXP Employee
NXP Employee


Hi,


Have you tried to play with the bootargs?

For Example:

mmc dev 0


Regards,

Alejandro

0 Kudos

1,704 Views
francoisrey
Contributor III

I tried to play with the bootargs : root=/dev/mmcblk0p1

if there is a SD in slot mmc 0 the first partition of this SD take the address /dev/mmcblk0p1, and the first partition of the SD in slot mmc 1 take the address /dev/mmcblk1p1.

if there is no  SD in slot mmc 0, the first partition of the SD in slot mmc 1 take the address /dev/mmcblk0p1.

0 Kudos