2024-08-21 04:24 PM - edited 2024-08-21 04:49 PM
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.
[ 0.220154] NET: Registered PF_ALG protocol family
[ 0.220178] Key type asymmetric registered
[ 0.220188] Asymmetric key parser 'x509' registered
[ 0.220453] bounce: pool size: 64 pages
[ 0.220639] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.220652] io scheduler mq-deadline registered
[ 0.220662] io scheduler kyber registered
[ 0.250478] STM32 USART driver initialized
[ 0.311601] brd: module loaded
[ 0.339137] loop: module loaded
[ 0.367427] CAN device driver interface
[ 0.369554] pegasus: Pegasus/Pegasus II USB Ethernet driver
[ 0.369642] usbcore: registered new interface driver pegasus
[ 0.369717] usbcore: registered new interface driver asix
[ 0.369773] usbcore: registered new interface driver ax88179_178a
[ 0.369829] usbcore: registered new interface driver cdc_ether
[ 0.369901] usbcore: registered new interface driver smsc75xx
[ 0.369984] usbcore: registered new interface driver smsc95xx
[ 0.370041] usbcore: registered new interface driver net1080
[ 0.370096] usbcore: registered new interface driver cdc_subset
[ 0.370149] usbcore: registered new interface driver zaurus
[ 0.370274] usbcore: registered new interface driver cdc_ncm
[ 0.372577] usbcore: registered new interface driver usb-storage
[ 0.372814] usbcore: registered new device driver onboard-usb-hub
[ 0.396525] i2c_dev: i2c /dev entries driver
[ 0.399718] cpu cpu0: _of_add_opp_table_v2: no supported OPPs
[ 0.399794] cpu cpu0: OPP table can't be empty
[ 0.401458] sdhci: Secure Digital Host Controller Interface driver
[ 0.401472] sdhci: Copyright(c) Pierre Ossman
[ 0.401478] Synopsys Designware Multimedia Card Interface Driver
[ 0.401886] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.402742] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.403238] usbcore: registered new interface driver usbhid
[ 0.403251] usbhid: USB HID core driver
[ 0.427576] optee: probing for conduit method.
[ 0.427615] optee: revision 3.19 (8b208c98)
[ 0.465311] optee: dynamic shared memory is enabled
[ 0.519150] optee: initialized driver
[ 0.520469] NET: Registered PF_PACKET protocol family
[ 0.520493] can: controller area network core
[ 0.520783] NET: Registered PF_CAN protocol family
[ 0.520801] can: raw protocol
[ 0.520815] can: broadcast manager protocol
[ 0.520830] can: netlink gateway - max_hops=1
[ 0.534928] Key type dns_resolver registered
[ 0.535069] ThumbEE CPU extension supported.
[ 0.535093] Registering SWP/SWPB emulation handler
[ 0.535701] registered taskstats version 1
[ 0.535757] Loading compiled-in X.509 certificates
[ 1.503174] Freeing initrd memory: 6088K
[ 1.534254] Loaded X.509 cert 'Build time autogenerated kernel key: dc187794c8aef9363d5d46762595ec876c29812e'
[ 1.673887] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id:16
[ 1.674147] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled.
[ 1.674299] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0
[ 1.724431] sysfs: cannot create duplicate filename '/devices/platform/cpufreq-dt'
[ 1.724458] CPU: 0 PID: 33 Comm: kworker/u2:2 Not tainted 6.1.82 #1
[ 1.724480] Hardware name: STM32 (Device Tree Support)
[ 1.724492] Workqueue: events_unbound deferred_probe_work_func
[ 1.724549] unwind_backtrace from show_stack+0x10/0x14
[ 1.724585] show_stack from dump_stack_lvl+0x24/0x2c
[ 1.724623] dump_stack_lvl from sysfs_warn_dup+0x58/0x64
[ 1.724666] sysfs_warn_dup from sysfs_create_dir_ns+0xf4/0x104
[ 1.724706] sysfs_create_dir_ns from create_dir+0x1c/0x150
[ 1.724749] create_dir from kobject_add_internal+0xac/0x1f4
[ 1.724788] kobject_add_internal from kobject_add+0x60/0xc4
[ 1.724828] kobject_add from device_add+0xcc/0x6d4
[ 1.724867] device_add from platform_device_add+0x100/0x244
[ 1.724901] platform_device_add from platform_device_register_full+0x108/0x158
[ 1.724932] platform_device_register_full from stm32_cpufreq_probe+0xfc/0x19c
[ 1.724971] stm32_cpufreq_probe from platform_probe+0x5c/0xb0
[ 1.725003] platform_probe from really_probe+0xe0/0x40c
[ 1.725029] really_probe from __driver_probe_device+0x9c/0x130
[ 1.725051] __driver_probe_device from driver_probe_device+0x30/0xc0
[ 1.725074] driver_probe_device from __device_attach_driver+0xa8/0x120
[ 1.725098] __device_attach_driver from bus_for_each_drv+0x88/0xd4
[ 1.725130] bus_for_each_drv from __device_attach+0xa8/0x1ec
[ 1.725160] __device_attach from bus_probe_device+0x84/0x8c
[ 1.725191] bus_probe_device from deferred_probe_work_func+0x8c/0xd4
[ 1.725231] deferred_probe_work_func from process_one_work+0x1d0/0x4c8
[ 1.725271] process_one_work from worker_thread+0x21c/0x580
[ 1.725302] worker_thread from kthread+0xd8/0xf4
[ 1.725331] kthread from ret_from_fork+0x14/0x28
[ 1.725354] Exception stack(0xde8b1fb0 to 0xde8b1ff8)
[ 1.725368] 1fa0: 00000000 00000000 00000000 00000000
[ 1.725384] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.725397] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1.734602] kobject_add_internal failed for cpufreq-dt with -EEXIST, don't try to register things with the same name in the same directory.
[ 1.758445] random: crng init done
[ 1.814660] stm32-dma 48000000.dma-controller: STM32 DMA driver registered
[ 1.818463] 8<--- cut here ---
[ 1.818479] Unhandled fault: imprecise external abort (0x1c06) at 0xdeb10588
[ 1.818493] [deb10588] *pgd=c3488811, *pte=c349024f, *ppte=c349001f
[ 1.818533] Internal error: : 1c06 [#1] PREEMPT ARM
[ 1.818545] Modules linked in:
[ 1.818557] CPU: 0 PID: 9 Comm: kworker/u2:0 Not tainted 6.1.82 #1
[ 1.818572] Hardware name: STM32 (Device Tree Support)
[ 1.818581] Workqueue: eval_map_wq eval_map_work_func
[ 1.818610] PC is at update_event_printk+0x14c/0x1c0
[ 1.818636] LR is at update_event_printk+0x8c/0x1c0
[ 1.818657] pc : [<c01e2918>] lr : [<c01e2858>] psr: a0000053
[ 1.818666] sp : de831ee8 ip : 00000045 fp : 0000014c
[ 1.818675] r10: 000002d4 r9 : c13b9e28 r8 : 00000010
[ 1.818683] r7 : 00000000 r6 : c123f1f0 r5 : c0e4b56c r4 : c13a08ed
[ 1.818694] r3 : 0000004e r2 : c13a08ec r1 : c13a08ed r0 : ffffffff
[ 1.818705] Flags: NzCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none
[ 1.818717] Control: 10c5387d Table: c2848059 DAC: 00000051
[ 1.818724] Register r0 information: non-paged memory
[ 1.818738] Register r1 information: non-slab/vmalloc memory
[ 1.818751] Register r2 information: non-slab/vmalloc memory
[ 1.818762] Register r3 information: non-paged memory
[ 1.818772] Register r4 information: non-slab/vmalloc memory
[ 1.818783] Register r5 information: non-slab/vmalloc memory
[ 1.818793] Register r6 information: non-slab/vmalloc memory
[ 1.818804] Register r7 information: NULL pointer
[ 1.818814] Register r8 information: zero-size pointer
[ 1.818824] Register r9 information: non-slab/vmalloc memory
[ 1.818835] Register r10 information: non-paged memory
[ 1.818845] Register r11 information: non-paged memory
[ 1.818854] Register r12 information: non-paged memory
[ 1.818865] Process kworker/u2:0 (pid: 9, stack limit = 0x(ptrval))
[ 1.818876] Stack: (0xde831ee8 to 0xde832000)
[ 1.818893] 1ee0: 000001ae c124cc54 c13b9ddc c0d32eb4 c13513f0 c01e6c00
[ 1.818909] 1f00: de831f24 c124c598 c1a38880 c123c7fc c1803780 c142e560 c180f200 00000000
[ 1.818926] 1f20: c18cc200 c180f205 c1805400 c013dcb4 c1805444 c18cc200 c1805400 c1803780
[ 1.818942] 1f40: c1805400 c1803798 c1805418 c13468e0 c18cc200 00000088 c1805400 c013dff0
[ 1.818958] 1f60: de811ec0 c13468e0 60000053 c1896940 c1896e80 c18cc200 de811ec0 c013dfac
[ 1.818974] 1f80: c1803780 00000000 00000000 c01450f0 c1896940 c0145018 00000000 00000000
[ 1.818990] 1fa0: 00000000 00000000 00000000 c010014c 00000000 00000000 00000000 00000000
[ 1.819005] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.819020] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 1.819039] update_event_printk from trace_event_eval_update+0xb4/0xf8
[ 1.819078] trace_event_eval_update from process_one_work+0x1d0/0x4c8
[ 1.819112] process_one_work from worker_thread+0x44/0x580
[ 1.819144] worker_thread from kthread+0xd8/0xf4
[ 1.819174] kthread from ret_from_fork+0x14/0x28
[ 1.819197] Exception stack(0xde831fb0 to 0xde831ff8)
[ 1.819210] 1fa0: 00000000 00000000 00000000 00000000
[ 1.819226] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.819239] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1.819257] Code: e3530000 08bd81f0 e1a02004 e5f4c001 (e7d5300c)
[ 1.819267] ---[ end trace 0000000000000000 ]---
[ 1.819275] note: kworker/u2:0[9] exited with irqs disabled
[ 1.819420] stm32-mdma 58000000.dma-controller: STM32 MDMA driver registered
[ 1.826490] /soc/interrupt-controller@5000d000: bank0
[ 1.826525] /soc/interrupt-controller@5000d000: bank1
[ 1.826543] /soc/interrupt-controller@5000d000: bank2
[ 1.832135] stm32_rtc 5c004000.rtc: registered as rtc0
[ 1.832184] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01T00:00:12 UTC (946684812)
[ 1.832455] stm32_rtc 5c004000.rtc: Date/Time must be initialized
[ 1.832472] stm32_rtc 5c004000.rtc: registered rev:1.2
[ 1.835998] stm32-rproc 10000000.m4: wdg irq registered
[ 1.836284] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property
[ 1.836303] remoteproc remoteproc0: cannot get vq0 mbox
[ 1.836314] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property
[ 1.836324] remoteproc remoteproc0: cannot get vq1 mbox
[ 1.836334] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property
[ 1.836344] remoteproc remoteproc0: cannot get shutdown mbox
[ 1.836354] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property
[ 1.836363] remoteproc remoteproc0: cannot get detach mbox
[ 1.836505] remoteproc remoteproc0: m4 is available
[ 1.839953] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOA bank added
[ 1.840622] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOB bank added
[ 1.841257] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOC bank added
[ 1.841846] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOD bank added
[ 1.842570] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOE bank added
[ 1.843228] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOF bank added
[ 1.843980] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOG bank added
[ 1.844753] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOH bank added
[ 1.845437] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOI bank added
[ 1.845486] stm32mp157-pinctrl soc:pinctrl@50002000: Pinctrl STM32 initialized
[ 1.847216] stm32mp157-pinctrl soc:pinctrl@54004000: error -ENOENT: failed to get clk
[ 1.847240] stm32mp157-pinctrl: probe of soc:pinctrl@54004000 failed with error -2
[ 1.849770] stm32-usart 40010000.serial: interrupt mode for rx (no dma)
[ 1.849791] stm32-usart 40010000.serial: interrupt mode for tx (no dma)
[ 1.849822] 40010000.serial: ttySTM0 at MMIO 0x40010000 (irq = 33, base_baud = 4000000) is a stm32-usart
[ 3.721219] printk: console [ttySTM0] enabled
[ 3.731328] stm32-dwmac 5800a000.ethernet: IRQ eth_lpi not found
D/TC:? 1 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803
D/TC:? 1 tee_ta_close_session:451 csess 0xde04f070 id 2
D/TC:? 1 tee_ta_close_session:470 Destroy session
[ 3.756267] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42
[ 3.761872] stm32-dwmac 5800a000.ethernet: DWMAC4/5
[ 3.766913] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported
[ 3.774093] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported
[ 3.781486] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported
[ 3.788387] stm32-dwmac 5800a000.ethernet: Wake-Up On Lan supported
[ 3.794724] stm32-dwmac 5800a000.ethernet: TSO supported
[ 3.799887] stm32-dwmac 5800a000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.807857] stm32-dwmac 5800a000.ethernet: device MAC address ae:cd:0c:3c:fa:da
[ 3.815061] stm32-dwmac 5800a000.ethernet: Enabled L3L4 Flow TC (entries=2)
[ 3.822038] stm32-dwmac 5800a000.ethernet: Enabled RFS Flow TC (entries=10)
[ 3.829030] stm32-dwmac 5800a000.ethernet: TSO feature enabled
[ 3.834809] stm32-dwmac 5800a000.ethernet: Using 32/32 bits DMA host/device width
[ 3.876005] stm32f7-i2c 40012000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
[ 3.883992] stm32f7-i2c 40012000.i2c: STM32F7 I2C-0 bus adapter
[ 3.913021] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 3.923658] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 3.935632] i2c 1-0039: Fixed dependency cycle(s) with /soc/etzpc@5c007000/audio-controller@4000b000
[ 3.944876] i2c 1-0039: Fixed dependency cycle(s) with /soc/display-controller@5a001000
[ 3.954401] stpmic1 1-0033: PMIC Chip Version: 0x21
D/TC:0 pwr_scv_handler:56 PWR service: write 0x100 at offset 0x20
D/TC:0 pwr_scv_handler:56 PWR service: set 0x1 at offset 0x28
D/TC:0 pwr_scv_handler:56 PWR service: set 0x1 at offset 0x20
[ 3.977774] platform 5c002000.i2c:stpmic@33:regulators: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/stpmic@33/regulators/buck4
[ 3.989586] platform 5c002000.i2c:stpmic@33:regulators: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/stpmic@33/regulators/buck2
[ 4.034258] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033
[ 4.043273] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033
[ 4.053505] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033
[ 4.063726] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033
[ 4.074407] stm32f7-i2c 5c002000.i2c: STM32F7 I2C-1 bus adapter
[ 4.091449] mmci-pl18x 58007000.mmc: mmc0: PL180 manf 53 rev2 at 0x58007000 irq 45,0 (pio)
[ 4.104562] i2c i2c-1: Added multiplexed i2c bus 2
[ 4.110762] input: pmic_onkey as /devices/platform/soc/5c007000.etzpc/5c002000.i2c/i2c-1/1-0033/5c002000.i2c:stpmic@33:onkey/input/input0
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