cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP153C root partition doesn't exist or does not contain a /dev

JMD
Associate III

Hello, 

Happy new year !

I create my custom board with STM32MP153C I try to boot but I have an issue. 

Starting systemd-udevd version 255.17^
root '/dev/disk/by-partuuid/e91c4e10-16e6-4c0e-bd0e-77becf4a3582' doesn't exist or does not contain a /dev.

[   14.557600] platform 5a006000.usbphyc: deferred probe pending
[   14.561992] platform 5800c000.usb: deferred probe pending
[   14.567427] platform 50001000.pwr: deferred probe pending
[   14.572778] platform 49000000.usb-otg: deferred probe pending
[   14.578559] amba 58005000.mmc: deferred probe pending
[   14.583629] platform 5800d000.usb: deferred probe pending

I change SD card I change some settings in device tree of kernel vqmmc-supply but I don't undestand in UBOOT I can explore my sd card 

Hit any key to stop autoboot:  0
STM32MP> mmc list
STM32 SD/MMC: 0 (SD)
STM32MP> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
STM32MP> part list mmc 0

Partition Map for MMC device 0  --   Partition Type: EFI

Part    Start LBA       End LBA         Name
        Attributes
        Type GUID
        Partition GUID
  1     0x00000022      0x00000221      "fsbl1"
        attrs:  0x0000000000000000
        type:   8da63339-0007-60c0-c436-083ac8230908
                (8da63339-0007-60c0-c436-083ac8230908)
        guid:   9bd69a8b-034d-41cd-a42f-fa0956fdedea
  2     0x00000222      0x00000421      "fsbl2"
        attrs:  0x0000000000000000
        type:   8da63339-0007-60c0-c436-083ac8230908
                (8da63339-0007-60c0-c436-083ac8230908)
        guid:   63d55a44-39fc-4810-9f85-5e4b286705f4
  3     0x00000422      0x00000621      "metadata1"
        attrs:  0x0000000000000000
        type:   8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
                (8a7a84a0-8387-40f6-ab41-a8b9a5a60d23)
        guid:   c32752c0-5952-480c-a189-44523d881c36
  4     0x00000622      0x00000821      "metadata2"
        attrs:  0x0000000000000000
        type:   8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
                (8a7a84a0-8387-40f6-ab41-a8b9a5a60d23)
        guid:   46718867-6ba7-482c-9a52-6aeed98c9102
  5     0x00000822      0x00002821      "fip-a"
        attrs:  0x0000000000000000
        type:   19d5df83-11b0-457b-be2c-7559c13142a5
                (19d5df83-11b0-457b-be2c-7559c13142a5)
        guid:   4fd84c93-54ef-463f-a7ef-ae25ff887087
  6     0x00002822      0x00004821      "fip-b"
        attrs:  0x0000000000000000
        type:   19d5df83-11b0-457b-be2c-7559c13142a5
                (19d5df83-11b0-457b-be2c-7559c13142a5)
        guid:   09c54952-d5bf-45af-acee-335303766fb3
  7     0x00004822      0x00004c21      "u-boot-env"
        attrs:  0x0000000000000000
        type:   3de21764-95bd-54bd-a5c3-4abe786f38a8
                (u-boot-env)
        guid:   e8a675a8-6afa-45b1-b971-a440d27439e4
  8     0x00004c22      0x00024c21      "bootfs"
        attrs:  0x0000000000000004
        type:   0fc63daf-8483-4772-8e79-3d69d8477de4
                (linux)
        guid:   7da5b0a6-8797-4573-9702-94939bb1f755
  9     0x00024c22      0x000c7fde      "rootfs"
        attrs:  0x0000000000000000
        type:   0fc63daf-8483-4772-8e79-3d69d8477de4
                (linux)
        guid:   e91c4e10-16e6-4c0e-bd0e-77becf4a3582

 Do you have any idea to help me ?

STM32MP> ext4ls mmc 0:9 /
<DIR>       1024 .
<DIR>       1024 ..
<DIR>      12288 lost+found
<SYM>          7 bin
<DIR>       1024 boot
<DIR>       1024 dev
<DIR>       2048 etc
<DIR>       1024 home
<SYM>          7 lib
<DIR>       1024 media
<DIR>       1024 mnt
<DIR>       1024 proc
<DIR>       1024 run
<SYM>          8 sbin
<DIR>       1024 srv
<DIR>       1024 sys
<DIR>       1024 tmp
<DIR>       1024 usr
<DIR>       1024 var
STM32MP> ext4ls mmc 0:9 /dev
<DIR>       1024 .
<DIR>       1024 ..
STM32MP>

Thank your so much.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
JMD
Associate III

Hello,

I fixed the issue by correctly configuring the secure peripherals (mainly I2C4).

The clocks were unavailable, and most peripherals would not start. This was not an eMMC issue.

Starting systemd-udevd version 255.17^
root '/dev/disk/by-partuuid/e91c4e10-16e6-4c0e-bd0e-77becf4a3582' doesn't exist or does not contain a /dev.

[   14.557600] platform 5a006000.usbphyc: deferred probe pending
[   14.561992] platform 5800c000.usb: deferred probe pending
[   14.567427] platform 50001000.pwr: deferred probe pending
[   14.572778] platform 49000000.usb-otg: deferred probe pending
[   14.578559] amba 58005000.mmc: deferred probe pending
[   14.583629] platform 5800d000.usb: deferred probe pending

 

View solution in original post

9 REPLIES 9
Eldam
Senior

Hello

Ive got these message.

you should check a file "extlinux.conf"in /boot or (boot.scr.cmd file)

this file contain : APPEND root=/dev/mmcblk2p6 rootwait rw console=ttySTM0,115200 (example)

if u have a custom board, with someting else on mmc0/1/2 interface (like wifi module), the mmcXX number will shift, and this line reflects no more the target sdcard. you should modify it in order to boot on the parition containning the rootfs.

 

You should post entire boot log, and explain what you have on mmc interface (sd card/emmc/wifi)

Ive done this a long time ago, maybe no more in use.

good luck

 

JMD
Associate III

Hello Eldam,

 

Thank  you for your answer.

I have SDcard on SDMMC1, eMMC on SDMMC2 and WIFI/BLE on SDMMC3. 

Uboot detect my SDcard on MMC0 

extlinux.conf in /boot contain UID

JMD_1-1768393301993.png

Thank you.
Best regards

OK,

the partuuid should corresond to the uuid find in your uboot.

Uuid is a bit unreadable for us, human-trying-to-understand-linux-boot, and mmcblk speaks to me.

root=/dev/mmcblk0p10 rootwait rw console=ttySTM0,115200

root=/dev/mmcblk1p10 rootwait rw console=ttySTM0,115200

The 0/1 in bold reflects the mmc id. 10 the partition id (my rootfs)

Regarding your boot cmd log, the uuid :xxx3582 should be something like mmcblk0p9 or 1p9, worth a try.

My boot log:

append: root=/dev/mmcblk0p10 rootwait rw console=ttySTM0,115200


[ 2.649738] mmc0: new high speed SDHC card at address 0007
[ 2.655299] mmcblk0: mmc0:0007 SD16G 14.4 GiB

[ 2.656707] mmc1: new high speed MMC card at address 0001
[ 2.665357] mmcblk1: mmc1:0001 004GA1 3.69 GiB
[ 2.673426] mmcblk1boot0: mmc1:0001 004GA1 2.00 MiB
[ 2.680055] mmcblk1boot1: mmc1:0001 004GA1 2.00 MiB
[ 2.685832] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11
[ 2.686840] mmcblk1rpmb: mmc1:0001 004GA1 512 KiB, chardev (244:0)

 

SDMMC1, eMMC on SDMMC2 and WIFI/BLE on SDMMC3--> same as me.

good luck

JMD
Associate III

Thank you but I don't see any mmc init like you so maybe I missing some kernel option ? Do you have specific one ?

Starting systemd-udevd version 255.17^
root '/dev/mmcblk0p9' doesn't exist or does not contain a /dev.

[   14.571902] platform 5a006000.usbphyc: deferred probe pending
[   14.576296] platform 5800c000.usb: deferred probe pending
[   14.581698] platform 50001000.pwr: deferred probe pending
[   14.587053] platform 49000000.usb-otg: deferred probe pending
[   14.592831] amba 58005000.mmc: deferred probe pending

JMD,

Regarding kernel option, no I dont think so.

Your boot log is quite "not so long" did you get boot log via RS232 console? it should be longer.

btw my board is using SDK2.0 Openstlinux, l'eau a coulé sous les ponts depuis...

so things surely evolved since, hope so...

JMD
Associate III

Thanks anyway for the help. I will try to increase my kernel logging since yes, yes these are the logs from the serial connection. It bothers me because U-Boot sees my SD card. It is really frustrating to be so close to the goal...

JMD
Associate III

Hello,

I fixed the issue by correctly configuring the secure peripherals (mainly I2C4).

The clocks were unavailable, and most peripherals would not start. This was not an eMMC issue.

Starting systemd-udevd version 255.17^
root '/dev/disk/by-partuuid/e91c4e10-16e6-4c0e-bd0e-77becf4a3582' doesn't exist or does not contain a /dev.

[   14.557600] platform 5a006000.usbphyc: deferred probe pending
[   14.561992] platform 5800c000.usb: deferred probe pending
[   14.567427] platform 50001000.pwr: deferred probe pending
[   14.572778] platform 49000000.usb-otg: deferred probe pending
[   14.578559] amba 58005000.mmc: deferred probe pending
[   14.583629] platform 5800d000.usb: deferred probe pending

 

Eldam
Senior

Hi,

Glad you overcome these (first) issue!

As a summary, you modified dts file(s) containing clock definition for I2C4 and so on (hse,lse,lsi)? or I2C4 pmic voltage attribution? These clock definition weren't created by cubemx ?

good luck for the next issue!

 

JMD
Associate III

Hi,

Thank you, the main issue was _NSEC missing for I2C4

&pinctrl_z {
	/* USER CODE BEGIN pinctrl_z */
	i2c4_pins_z_mx: i2c4_mx-0 {
		pins {
			pinmux = <STM32_PINMUX_NSEC('Z', 4, AF6)>, /* I2C4_SCL */
					 <STM32_PINMUX_NSEC('Z', 5, AF6)>; /* I2C4_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};
	/* USER CODE END pinctrl_z */
};

In boot log, I have so many warning (one for each peripheral) about Z4 and Z5 pin (I2C4) and it's for this reason that some peripherals are defered

I/TC: WARNING: apply pinctrl for secure pin Z4 that is non-secure
I/TC: WARNING: apply pinctrl for secure pin Z5 that is non-secure

 Best regards