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
View more

 

 

 

 

 

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>
View more

 

 

 

 

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>
View more

 

 

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