cancel
Showing results for 
Search instead for 
Did you mean: 

Why did the linux kernel boot stop at mmc0?

DMårt
Lead

I have compiled tf-a, optee, kernel and u-boot inside STM32CubeIDE.

I have copy over the uImage from the linux build/arch/arm/boot/ and the .dtb file as well. They have been copied over to st-image-bootfs-openstlinux-weston-stm32mp1.ext4 file. I'm only changing the st-image-bootfs-openstlinux-weston-stm32mp1.ext4 file from the Starter Package form STM32MP1 series. The rest e.g st-image-weston-openstlinux-weston-stm32mp1.ext4, st-image-vendorfs-openstlinux-weston-stm32mp1.ext4 and st-image-userfs-openstlinux-weston-stm32mp1.ext4 are not changed.

The kernel is booting, no problem there. But the login promt does not appear. It seems that I got no errors at all, when I look at the full log. My thoughts is that what if bootfs not booting up the software such as command prompt?

The last snippet of the kernel boot log from UART4.

 

 

D/TC:0   pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: clear 0x10000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: clear 0x40000000 at offset 0xc
[    4.151879] stm32-usbphyc 5a006000.usbphyc: registered rev:1.0
[    4.164077] [drm] Initialized stm 1.0.0 20170330 for 5a001000.display-controller on minor 0
[    4.172909] dwc2 49000000.usb-otg: supply vusb_d not found, using dummy regulator
[    4.179380] dwc2 49000000.usb-otg: supply vusb_a not found, using dummy regulator
D/TC:0   pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc
[    4.202023] dwc2 49000000.usb-otg: EPs: 9, dedicated fifos, 952 entries in SPRAM
D/TC:0   pwr_scv_handler:56 PWR service: clear 0x10000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: clear 0x40000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc
D/TC:0   pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc
[    4.241950] ohci-platform 5800c000.usb: Generic Platform OHCI controller
[    4.247661] ohci-platform 5800c000.usb: new USB bus registered, assigned bus number 1
[    4.255209] ehci-platform 5800d000.usb: EHCI Host Controller
[    4.260801] ehci-platform 5800d000.usb: new USB bus registered, assigned bus number 2
[    4.269000] ohci-platform 5800c000.usb: irq 53, io mem 0x5800c000
[    4.275225] ehci-platform 5800d000.usb: irq 52, io mem 0x5800d000
[    4.287751] mmc0: new DDR MMC card at address 0001
[    4.292389] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    4.304665] ehci-platform 5800d000.usb: USB 2.0 started, EHCI 1.00
[    4.310916] hub 2-0:1.0: USB hub found
[    4.313642] hub 2-0:1.0: 2 ports detected
[    4.317706]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9
[    4.327652] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    4.333975] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    4.340047] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (244:0)
[    4.350948] hub 1-0:1.0: USB hub found
[    4.353356] hub 1-0:1.0: 2 ports detected

 

 

 

 

 

This is my FlasLayout for flashing the eMMC.

 

 

 

 

#Opt	Id	Name	Type	IP	Offset	Binary
-	0x01	fsbl-boot	Binary	none	0x0	arm-trusted-firmware/tf-a-stm32mp151a-stm32-computer-firmware-mx-usb.stm32
-	0x03	fip-boot	FIP	none	0x0	fip/fip-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.bin
P	0x04	fsbl1	Binary	mmc0	boot1	arm-trusted-firmware/tf-a-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.stm32
P	0x05	fsbl2	Binary	mmc0	boot2	arm-trusted-firmware/tf-a-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.stm32
P	0x06	metadata1	FWU_MDATA	mmc0	0x00080000	arm-trusted-firmware/metadata.bin
P	0x07	metadata2	FWU_MDATA	mmc0	0x00100000	arm-trusted-firmware/metadata.bin
P	0x08	fip-a	FIP	mmc0	0x00180000	fip/fip-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.bin
PED	0x09	fip-b	FIP	mmc0	0x00580000	none
PED	0x0A	u-boot-env	ENV	mmc0	0x00980000	none
P	0x10	bootfs	System	mmc0	0x00A00000	st-image-bootfs-openstlinux-weston-stm32mp1.ext4
P	0x11	vendorfs	FileSystem	mmc0	0x04A00000	st-image-vendorfs-openstlinux-weston-stm32mp1.ext4
P	0x12	rootfs	FileSystem	mmc0	0x05A00000	st-image-weston-openstlinux-weston-stm32mp1.ext4
P	0x13	userfs	FileSystem	mmc0	0x33A00000	st-image-userfs-openstlinux-weston-stm32mp1.ext4

 

 

 

 

 

Promt from U-boot

 

 

 

STM32MP> mmc part

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

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00000400	0x000007ff	"metadata1"
	attrs:	0x0000000000000000
	type:	8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
		(8a7a84a0-8387-40f6-ab41-a8b9a5a60d23)
	guid:	df1c26fd-a193-41e9-bb1d-ceb52b8f49ba
  2	0x00000800	0x00000bff	"metadata2"
	attrs:	0x0000000000000000
	type:	8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
		(8a7a84a0-8387-40f6-ab41-a8b9a5a60d23)
	guid:	bd11de64-e9bb-457b-9d4a-b75987fe62ae
  3	0x00000c00	0x00002bff	"fip-a"
	attrs:	0x0000000000000000
	type:	19d5df83-11b0-457b-be2c-7559c13142a5
		(19d5df83-11b0-457b-be2c-7559c13142a5)
	guid:	4fd84c93-54ef-463f-a7ef-ae25ff887087
  4	0x00002c00	0x00004bff	"fip-b"
	attrs:	0x0000000000000000
	type:	19d5df83-11b0-457b-be2c-7559c13142a5
		(19d5df83-11b0-457b-be2c-7559c13142a5)
	guid:	09c54952-d5bf-45af-acee-335303766fb3
  5	0x00004c00	0x00004fff	"u-boot-env"
	attrs:	0x0000000000000000
	type:	3de21764-95bd-54bd-a5c3-4abe786f38a8
		(u-boot-env)
	guid:	1c380e98-da64-4fbe-88b4-a516167ea0a7
  6	0x00005000	0x00024fff	"bootfs"
	attrs:	0x0000000000000004
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	ab4be8bf-456c-4365-98cb-c21f48e19c92
  7	0x00025000	0x0002cfff	"vendorfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	8d2075a7-dfa6-446f-8852-c89e0819a204
  8	0x0002d000	0x0019cfff	"rootfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	e91c4e10-16e6-4c0e-bd0e-77becf4a3582
  9	0x0019d000	0x00e8fbff	"userfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	5ff28c0a-bc5f-4c0c-b116-a87c0221a7b2
STM32MP> 

 

 

 

 

So what should it stand here? I have tried mmcblk0p8 (the rootfs partition) without success.

 

 

 

# Generic Distro Configuration file generated by OpenEmbedded
MENU BACKGROUND /splash_landscape.bmp
TIMEOUT 20
LABEL OpenSTLinux
	KERNEL /uImage
	FDTDIR /
	INITRD /st-image-resize-initrd
	APPEND root=/dev/<what should it be here?> rootwait rw   console=${console},${baudrate} loglevel=7

 

 

 

 

Update:

It seems that the U-boot can read the eMMC very properly without any issues.

 

 

STM32MP> ext4ls mmc 0:8 /
<DIR>       4096 .
<DIR>       4096 ..
<DIR>      16384 lost+found
<DIR>       4096 bin
<DIR>       4096 boot
<DIR>       4096 dev
<DIR>       4096 etc
<DIR>       4096 home
<DIR>       4096 lib
<DIR>       4096 media
<DIR>       4096 mnt
<DIR>       4096 proc
<DIR>       4096 run
<DIR>       4096 sbin
<DIR>       4096 srv
<DIR>       4096 sys
<DIR>       4096 tmp
<DIR>       4096 usr
<DIR>       4096 var
<DIR>       4096 vendor


STM32MP> mmc part

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

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00000400	0x000007ff	"metadata1"
	attrs:	0x0000000000000000
	type:	8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
		(8a7a84a0-8387-40f6-ab41-a8b9a5a60d23)
	guid:	7c9ee4f6-c9b1-4ec0-b2c4-84d8db334642
  2	0x00000800	0x00000bff	"metadata2"
	attrs:	0x0000000000000000
	type:	8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
		(8a7a84a0-8387-40f6-ab41-a8b9a5a60d23)
	guid:	397e6b52-0f5d-4488-ad25-3273e24a6cc4
  3	0x00000c00	0x00002bff	"fip-a"
	attrs:	0x0000000000000000
	type:	19d5df83-11b0-457b-be2c-7559c13142a5
		(19d5df83-11b0-457b-be2c-7559c13142a5)
	guid:	4fd84c93-54ef-463f-a7ef-ae25ff887087
  4	0x00002c00	0x00004bff	"fip-b"
	attrs:	0x0000000000000000
	type:	19d5df83-11b0-457b-be2c-7559c13142a5
		(19d5df83-11b0-457b-be2c-7559c13142a5)
	guid:	09c54952-d5bf-45af-acee-335303766fb3
  5	0x00004c00	0x00004fff	"u-boot-env"
	attrs:	0x0000000000000000
	type:	3de21764-95bd-54bd-a5c3-4abe786f38a8
		(u-boot-env)
	guid:	70a63b54-4a77-433e-bffc-e9454419b234
  6	0x00005000	0x00024fff	"bootfs"
	attrs:	0x0000000000000004
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	645715cb-9814-455e-933c-9b7633de2b31
  7	0x00025000	0x0002cfff	"vendorfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	ee245663-6b56-4d5e-b3c6-797aec6a4f15
  8	0x0002d000	0x0019cfff	"rootfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	e91c4e10-16e6-4c0e-bd0e-77becf4a3582
  9	0x0019d000	0x00e8fbff	"userfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
		(linux)
	guid:	b9f750e0-aab5-422a-b9b0-1ee0d9f430f6
	
	
STM32MP> mmc info
Device: STM32 SD/MMC
Manufacturer ID: 11
OEM: 0
Name: 008GB0 
Bus Speed: 52000000
Mode: MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 7.3 GiB
Bus Width: 8-bit
Erase Group Size: 512 KiB
HC WP Group Size: 4 MiB
User Capacity: 7.3 GiB WRREL
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH
Boot area 0 is not write protected
Boot area 1 is not write protected


STM32MP> ext4ls mmc 0:8 /sbin
<DIR>       4096 .
<DIR>       4096 ..
<DIR>       4096 .debug
           42992 agetty
<SYM>         19 arp
           18072 badblocks
<SYM>         22 blkid
           71844 blkid.util-linux
<SYM>         25 blockdev
           42896 blockdev.util-linux
           91156 bridge
           68208 cfdisk
            3581 check-gpu
           22252 ctrlaltdel
          137980 debugfs
<SYM>         17 depmod
<SYM>         11 depmod.kmod
           22308 dumpe2fs
            9780 e2freefrag
          232568 e2fsck
          232568 fsck.ext2
          232568 fsck.ext3
          232568 fsck.ext4
           38864 e2image
           22308 e2mmpstatus
           13928 e2undo
           13908 e4crypt
           22136 e4defrag
<SYM>         22 fdisk
           97000 fdisk.util-linux
           13840 filefrag
<SYM>         21 fsck
           34768 fsck.util-linux
<SYM>         23 fstrim
           43020 fstrim.util-linux
<SYM>         12 getty
<SYM>         14 halt
<SYM>         19 hdparm
           92924 hdparm.hdparm
<SYM>         24 hwclock
           51164 hwclock.util-linux
<SYM>         19 ifconfig
<SYM>         19 ifdown
<SYM>         19 ifup
<SYM>         22 init
<SYM>         17 insmod
<SYM>         11 insmod.kmod
<SYM>         17 ip
          454560 ip.iproute2
<SYM>         19 klogd
          489044 ldconfig
<SYM>         19 loadkmap
<SYM>         19 logread
            9756 logsave
<SYM>         24 losetup
           67668 losetup.util-linux
<SYM>         15 lsmod
<SYM>         19 mdev
<SYM>         22 mke2fs
           96760 mke2fs.e2fsprogs
           96760 mkfs.ext2.e2fsprogs
           96760 mkfs.ext3
           96760 mkfs.ext4
<SYM>         25 mkfs.ext2
            5612 mklost+found
<SYM>         23 mkswap
           67612 mkswap.util-linux
<SYM>         18 modinfo
<SYM>         11 modinfo.kmod
<SYM>         19 modprobe
<SYM>         11 modprobe.kmod
            2387 mount-copybind
            4304 mount-partitions.sh
<SYM>         20 nologin
            5580 nologin.shadow
            9808 nologin.util-linux
<SYM>         27 pivot_root
            9740 pivot_root.util-linux
            2460 populate-extfs.sh
<SYM>         14 poweroff
<SYM>         14 reboot
            3238 resize-helper
           47136 resize2fs
<SYM>         21 resolvconf
<SYM>         16 rmmod
<SYM>         11 rmmod.kmod
<SYM>         19 route
           66500 rtmon
<SYM>         14 runlevel
<SYM>         19 setconsole
<SYM>         14 shutdown
             484 shutdown-stm32mp1-m4.sh
            2080 st-m4firmware-load-default.sh
            4364 stm32_usbotg_eth_config.sh
             261 stm32mp-coredump-sysfs.sh
<SYM>         24 sulogin
           34704 sulogin.util-linux
<SYM>         24 swapoff
           13964 swapoff.util-linux
<SYM>         23 swapon
           34700 swapon.util-linux
<SYM>         28 switch_root
            9804 switch_root.util-linux
<SYM>         19 sysctl
           18044 sysctl.procps
<SYM>         19 syslogd
<SYM>         16 telinit
<SYM>         12 udevadm
<SYM>         26 udevd
<SYM>         19 udhcpc
            4260 userfs-cleanup-package.sh
<SYM>         17 vigr
<SYM>         11 vigr.shadow
<SYM>         17 vipw
           35768 vipw.shadow
<SYM>         19 watchdog
STM32MP> 

 

 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer
1 ACCEPTED SOLUTION

Accepted Solutions
Olivier GALLIEN
ST Employee

Hi @DMårt 

Reading Working custom board for STM32MP151 - Found the so... - STMicroelectronics Community I understand you might have solved this issue by yourself right ? 

Can you share solution ? 

Thx

Olivier 

 

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

2 REPLIES 2
Olivier GALLIEN
ST Employee

Hi @DMårt 

Reading Working custom board for STM32MP151 - Found the so... - STMicroelectronics Community I understand you might have solved this issue by yourself right ? 

Can you share solution ? 

Thx

Olivier 

 

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

@Olivier GALLIEN 

My solution is to NOT destroy the working queue for STM32MP151 series. Then everything will work. Ethernet, USB, HDMI, eMMC, PMIC.

I think the best way for ST is to build my custom bord and try it. ST can learn alot of it.

There are alot of custom boards of STM32P151 series, but non of them seems to work, from what I have seen in this forum.

 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer