This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

booting process stuck while waiting for mmcblk0p2

Other Parts Discussed in Thread: AM3517

Hi there,


Could some one explain to me the purpose of the folders  /dev/mmcblk0p1 and /dev/mmcblk0p2 and what should they contain? What's their role in the booting of the kernel?

Additionally while booting the AM 3517, the boot process gets stuck with the following minicom console output , any ideas as to what I am supposed to do to tackle this?

[    4.614166] Waiting for root device /dev/mmcblk0p2...                        
[    4.667419] usb 1-1.1: new high speed USB device using ehci-omap and address
3                                                                               
[    4.792907] usb 1-1.1: New USB device found, idVendor=0424, idProduct=2514   
[    4.800201] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber
=0                                                                              
[    4.812561] hub 1-1.1:1.0: USB hub found                                     
[    4.817138] hub 1-1.1:1.0: 4 ports detected                                  

Does this refer to partition 1 and 2 of the sd card or the folders in /media in the rootfs?

Thanks!

  • Siddharth Sharma2 said:
    Could some one explain to me the purpose of the folders  /dev/mmcblk0p1 and /dev/mmcblk0p2 and what should they contain? What's their role in the booting of the kernel?

    These are the partitions of your SD card. Usually mmcblk0p1 is /boot and mmcblk0p2 is /rootfs.

    How did you format your SD card? What file system type did you choose for the /rootfs partition?

    Best regards,
    Miroslav

  • Ah , okay. That's what I assumed. Well, I used sudo gparted to first clear out my SD card. Then I initially used the create-sdcard script from /bin folder to make the SD card but I found that the two partitions created had an unallocated space between them which was different from the SD card I got from TI which contained only two partitions with the boot partition of size 100 MiB. I then used sudo dd  to make a copy of the SD card image of the TI card and then transferred this image to my new card. Following which I deleted all the boot partition and rootfs files ad then replaced them which my own. 

    My boot partition is fat16 with flag boot and rootfs is ext2


    Thanks!

  • Does this error mean that the kernel cant find the rootfs? or there is some mismatch with the file system type of the rootfs partition. I changed the rootfs partition to ext 3 which I dont think should make any difference. But that didnt work as well.

  • By default the create-sdcard.sh script creates an ext3 file system partition, but my guess is that ext2 should also work. Can you confirm that you have ext2/ext3 support enabled in your kernel configuration?

    Can you try using the SD card right after the create-sdcard.sh script creates it?

    Best regards,
    Miroslav

  • Hey Miroslav,

    I went to the u-boot root directory ->include- >configs and checked the am3517_evm.h and it supports ext2 partition mentioned by the statement- #define CONFIG_CMD_EXT2        /* EXT2 Support            */

    is that where i am meant to be checking it?

    if so i ran the sd card with ext2 and no change.

    i also check in the kernel root directory ->arch->arm->configs->am3517_evm_defconfig

    #
    # File systems
    #
    CONFIG_EXT2_FS=y
    # CONFIG_EXT2_FS_XATTR is not set
    # CONFIG_EXT2_FS_XIP is not set
    CONFIG_EXT3_FS=y
    CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
    # CONFIG_EXT3_FS_XATTR is not set
    # CONFIG_EXT4_FS is not set

    It does support both partitions

  • This is related to the Linux kernel configuration, not the U-Boot config. Please check the Linux configuration.

    EDIT: Now I see you also checked that. When was the last time your board booted successfully? What software and SD card were you using?

    Best regards,
    Miroslav

  • My board boots fine with the SD card I received from TI but when I make one on my own , it always gets stuck at that point. I am using ti-sdk-05.07.00.00 and psp version 04.02.00.07

  • I'm sorry, I didn't get if it works when you use the create-sdcard.sh script and don't do any more modifications.

    Best regards,
    Miroslav

  • This may or may not help you, but I ran into this same problem on my board and the solution was editing the device tree for both MMC0 and MMC1 to include vmmc-supply regulator. Before, the lines"vmmc-supply = <&vmmcsd_fixed>;" were not there. After looking at several different am335x boards I found some that did this and tried it and it ended up booting correctly after.

    Here is the section

    &mmc1 {
        status = "okay";
        bus-width = <0x4>;
        pinctrl-names = "default";
        pinctrl-0 = <&mmc1_pins>;
        vmmc-supply = <&vmmcsd_fixed>;
    };

    &mmc2 {
        status = "okay";
        vmmc-supply = <&vmmcsd_fixed>;
        bus-width = <0x8>;
        pinctrl-names= "default";
        pinctrl-0 = <&emmc_pins>;
    };

    also, it should already be in the device tree, but this is the relevant vmmc section:

        vmmcsd_fixed: fixedregulator@0 {
            compatible = "regulator-fixed";
            regulator-name = "vmmcsd_fixed";
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
        };

  • Hey Anthony,

    Can you tell me as to where i can find the device tree file for mmc0?

    Thanks!

  • There is some AM335x specific device tree discussion here that might help you (I have not had a chance to try first hand or dig up my AM3517 EVM): http://e2e.ti.com/support/arm/sitara_arm/f/791/p/341322/1222121.aspx#1222121

  • Hey Siddharth,

    Assuming you are using SDK7, all device tree files are under board-support/linux3.12XXX/arch/arm/boot/dts

    I can't tell you which file to look in unless I know what board you are using or using as a reference. For my board the design is similar to the beaglebone, so the files to edit were am335x-bone-common.dtsi and am335x-bone.dts

    Also, the naming convention of device tree starts mmc0 off as mmc1, and mmc1 as mmc2 etc etc..