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.

Linux/AM3358: Last line we see is "Waiting for root device /dev/mmcblk0p2"

Part Number: AM3358


Tool/software: Linux

We have been stuck here for three days.  We have tried several patches and device tree settings per the Sitara Forum.  Supposedly looking for the root file system, but I don't know what specifically in the root file system it is looking for.  I think our boot log looks good it is attached to https://e2e.ti.com/support/arm/sitara_arm/f/791/t/579502  We have tried using an alternate SD Card Detect input (SDCD) and tying it low (and high) to no avail.

We have tried several root file systems:  using create_sdcard.sh, Umbuntu, a home grown one we built for an older board, etc. 

So what else could we try?  Possibly a different boot device? Is there a way to test the SD Card's ext4 root partition using U-Boot or in the kernel prior to this point?

Need some help.

Regards,

Brian Weir

  

  • Reference "Waiting for root device /dev/mmcblk0p2" not being able to boot to the SD Card Root File system, I am able to do file lists of the SD card ext partition using U-Boot commands: ext2ls mmc 0:2 or for a specific folder ext2ls mmc 0:2 /sbin

    For some reason when the kernel goes out to find the file system, it can't find it.

    Perhaps I am using the wrong file system type? should it be ext2 , ext3, ext4, other?

    Thanks, Brian
  • We have redirected uenv.txt to point the kernel to /dev/sda1 and boot to a usb stick that only contained the root file system. The u-boot, kernel, and device tree are still on the sd card. This seems to work correctly but the kernel is still unable to see the sd card /dev/.

    What have we missed in either the device tree or kernel configuration or....?

    Thanks, Brian
  • Hi Brian,

    Do you use AM335x TI PSDK? If yes, which version?

    In the latest PSDK, ext3 is used:

    ti-processor-sdk-linux-am335x-evm-03.02.00.05/bin/create-sdcard.sh

    processors.wiki.ti.com/.../Processor_SDK_Linux_create_SD_card_script
    processors.wiki.ti.com/.../Processor_SDK_Linux_Filesystem
    processors.wiki.ti.com/.../Sitara_Linux_SDK_Creating_a_SD_Card_with_Linux


    Regards,
    Pavel
  • Pavel, Thank you for the post.

    We did however find our problem yesterday, we are able to boot to the Root File System from the SD Card without the SD_CD line connected.

    it turned out to be a problem in the mmc device tree:

    This patch fixed it:
    &mmc1 {
    status = "okay";
    - vqmmc-supply = <&ldo3_reg>;
    - vmmc-supply = <&ldo4_reg>;
    + vmmc-supply = <&ldo3_reg>;
    bus-width = <0x4>;
    - pinctrl-names = "default"; /*, "sleep";*/
    - pinctrl-0 = <&sd_card_pins_default>;
    - /*pinctrl-1 = <&sd_card_pins_sleep>;*/
    - /*no-1-8-v;*/
    - /*broken-cd;*/
    - cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
    };

    I don't understand it though and would like an explanation of the line: vmmc-supply = <&ldo3_reg>;

    Is &ldo3_reg referring to the PMIC LDO3? LDO3 is a 1.8v supply. The SD Card is a 3.3v device, powered at 3.3v, so, I’m a little confused. Does this change suggest the SD Card MMC interface run at 1.8v?

    Thanks and Regards, Brian
  • Brian,

    Do you use AM335x TI PSDK? If yes, which version?

    From the HW side, MMCSD has Dedicated Power Rail for 1.8‐V or 3.3-V Operation.

    In AM335x TI PSDK we have:

    &mmc1 {
    vmmc-supply = <&vmmc_reg>;
    pinctrl-0 = <&mmc1_pins>;
    cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
    }

    &tps {
    regulators {
    vmmc_reg: regulator@12 {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    };

    Regards,
    Pavel