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.

SK-AM62P-LP: FALCON MODE

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: AM62P,

Tool/software:

MPU: AM62P

SDK: 10.0

EVK: SK-AM62P-LP

URL: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/10_00_00_14/exports/docs/api_guide_am62px/TOOLS_BOOT.html#LINUX_APPIMAGE_GEN_TOOL

Dear supporter,

In Chap 4.1.10.4, where should "output" be located? In our case, we use OSPI flash. And what path should we give to CONFIG_INITRAMFS_SOURCE? We met "can't open blockdev".

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.6.32-rt29-gc76373e447c9-dirty (wilson@virtual-pc) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 13.3.1 20240614, GNU ld (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 2.42.0.20240614) #2 SMP PREEMPT Wed Sep 25 13:02:37 CST 2024
[    0.000000] KASLR disabled due to lack of seed
[    0.000000] Machine model: Texas Instruments AM62P5 SK
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: legacy bootconsole [ns16550a0] enabled
[    0.104912] omap-mailbox 29020000.mailbox: no available mbox devices found
[    0.112000] omap-mailbox 29030000.mailbox: no available mbox devices found
[    0.205184] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[    0.205243] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[    0.231715] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[    0.231745] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[    0.249741] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[   0.249769] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[    0.251664] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
[    0.251686] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
[
[    0.283631] /dev/root: Can't open blockdev
[    0.283663] VFS: Cannot open root device "" or unknown-block(0,0): error -6
[    0.283667] Please append a correct "root=" boot option; here are the available partitions:
[    0.283683] List of all bdev filesystems:
[    0.283685]  ext3
[    0.283686]  ext4
[    0.283688]  ext2
[    0.283690]
[    0.283694] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    0.322891] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.6.32-rt29-gc76373e447c9-dirty #2
[    0.330963] Hardware name: Texas Instruments AM62P5 SK (DT)
[    0.336520] Call trace:
[    0.338956]  dump_backtrace+0xa0/0xe0
[    0.342617]  show_stack+0x18/0x24
[    0.345924]  dump_stack_lvl+0x48/0x60
[    0.349580]  dump_stack+0x18/0x24
[    0.352886]  panic+0x2fc/0x350
[    0.355933]  mount_root_generic+0x250/0x320
[    0.360110]  mount_root+0x170/0x334
[    0.363589]  prepare_namespace+0x6c/0x2a4
[    0.367589]  kernel_init_freeable+0x234/0x274
[    0.371935]  kernel_init+0x24/0x1dc
[    0.375417]  ret_from_fork+0x10/0x20
[    0.378984] SMP: stopping secondary CPUs
[    1.450506] SMP: failed to stop secondary CPUs 1,3
[    1.455286] Kernel Offset: 0x80000 from 0xffff800080000000
[    1.460755] PHYS_OFFSET: 0x80000000
[    1.464230] CPU features: 0x0,00000008,00000000,1000420b
[    1.469528] Memory Limit: none
[    1.472572] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---

 

Thanks.

Wilson

  • Hello Wilson,

    The thread owner is out of office for the rest of September. Feel free to ping the thread in early October if you do not get a response.

    Regards,

    Nick

  • Hi Wilson

    1. What is the boot flow? Are you doing SBL facon boot or SPL?

    2. I see your logs do not have the "root" parameter. How are you passing the Kernel command line, usually this is done by the chosen node in the DTS.

    Regards

    Karan

  • Hi,Karan,

    Nice to hearing from you.

    1. Yes, we are bootin from SBL OSPI Falcon. Earlier today, boot from SBL OSPI was fine. 

    2. To enable Falcon mode,

        a. make linux_appimage

    $ make -s BOARD=am62px-sk all FALCON_MODE=1

        b. Build a smaller kernel

    $ make ARCH=arm64 CROSS_COMPILE=~/ti/arm-gnu-toolchain-13.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- defconfig ti_arm64_prune.config ti_early_display.config
    
    Modify CONFIG_CMDLINE in knerel config:
    - CONFIG_CMDLINE="console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 quiet"
    
    $ make ARCH=arm64 CROSS_COMPILE=~/ti/arm-gnu-toolchain-13.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- Image -j64

        c. Reducing userspace boot time: (but have no idea how to deal with this output folder)

    $ cd ~/projects/am62p/linux-10.00.07.04/filesystem/am62pxx-evm
    $ mkdir output
    $ cd output
    $ cpio -idv < ../tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio 
    
    - Remove startup scripts from the tiny filesystem
    - package manager, console logo and add /dev/null in the filesystem

        d. Flashing the application (in Linux box):

    $ make DEVICE=am62px -sj (Build all the binaries)
    $ cd tools/boot
    $ python3 uart_uniflash.py -p /dev/ttyUSB0 --cfg=/home/wilson/projects/am62p/mcu_plus_sdk_am62px_10_00_00_14/tools/boot/sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_falcon_hs_fs.cfg

    Here a completed log msg is

    [BOOTLOADER_PROFILE] Boot Media       : FLASH
    [BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
    [BOOTLOADER_PROFILE] Boot Image Size  : 218 KB
    [BOOTLOADER_PROFILE] Cores present    :
    wkup-r5f0-0
    [BOOTLOADER PROFILE] System_init                      :      38264us
    [BOOTLOADER PROFILE] App_waitForMcuPbist              :          3us
    [BOOTLOADER PROFILE] Board_init                       :          0us
    [BOOTLOADER PROFILE] Drivers_open                     :          0us
    [BOOTLOADER PROFILE] SBL Drivers_open                 :        154us
    [BOOTLOADER PROFILE] Board_driversOpen                :         10us
    [BOOTLOADER PROFILE] SBL Board_driversOpen            :       1246us
    [BOOTLOADER PROFILE] App_loadSelfcoreImage            :       5339us
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :      45019us
    
    Image loading done, switching to application ...
    Starting 2nd stage bootloader
    [BOOTLOADER_PROFILE] Boot Media       : FLASH
    [BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
    [BOOTLOADER_PROFILE] Boot Image Size  : 15166 KB
    [BOOTLOADER_PROFILE] Cores present    :
    hsm-m4f0-0
    mcu-r5f0-0
    a530-0
    [BOOTLOADER PROFILE] System_init                      :       2284us
    [BOOTLOADER PROFILE] Board_init                       :          3us
    [BOOTLOADER PROFILE] FreeRtosTask Create              :        301us
    [BOOTLOADER PROFILE] SBL Drivers_open                 :        828us
    [BOOTLOADER PROFILE] SBL Board_driversOpen            :        132us
    [BOOTLOADER PROFILE] App_loadImages                   :       3666us
    [BOOTLOADER PROFILE] App_loadMCUImages                :       4198us
    [BOOTLOADER PROFILE] App_loadLinuxImages              :     135095us
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :     146510us
    
    Image loading done, switching to application ...
    Starting linux and RTOS/Baremetal applications
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.6.32-rt29-gc76373e447c9-dirty (wilson@virtual-pc) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 13.3.1 20240614, GNU ld (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 2.42.0.20240614) #2 SMP PREEMPT Wed Sep 25 13:02:37 CST 2024
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Texas Instruments AM62P5 SK
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: legacy bootconsole [ns16550a0] enabled
    [    0.104912] omap-mailbox 29020000.mailbox: no available mbox devices found
    [    0.112000] omap-mailbox 29030000.mailbox: no available mbox devices found
    [    0.205184] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.205243] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.231715] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.231745] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.249741] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [   0.249769] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.251664] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.251686] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [
    [    0.283631] /dev/root: Can't open blockdev
    [    0.283663] VFS: Cannot open root device "" or unknown-block(0,0): error -6
    [    0.283667] Please append a correct "root=" boot option; here are the available partitions:
    [    0.283683] List of all bdev filesystems:
    [    0.283685]  ext3
    [    0.283686]  ext4
    [    0.283688]  ext2
    [    0.283690]
    [    0.283694] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [    0.322891] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.6.32-rt29-gc76373e447c9-dirty #2
    [    0.330963] Hardware name: Texas Instruments AM62P5 SK (DT)
    [    0.336520] Call trace:
    [    0.338956]  dump_backtrace+0xa0/0xe0
    [    0.342617]  show_stack+0x18/0x24
    [    0.345924]  dump_stack_lvl+0x48/0x60
    [    0.349580]  dump_stack+0x18/0x24
    [    0.352886]  panic+0x2fc/0x350
    [    0.355933]  mount_root_generic+0x250/0x320
    [    0.360110]  mount_root+0x170/0x334
    [    0.363589]  prepare_namespace+0x6c/0x2a4
    [    0.367589]  kernel_init_freeable+0x234/0x274
    [    0.371935]  kernel_init+0x24/0x1dc
    [    0.375417]  ret_from_fork+0x10/0x20
    [    0.378984] SMP: stopping secondary CPUs
    [    1.450506] SMP: failed to stop secondary CPUs 1,3
    [    1.455286] Kernel Offset: 0x80000 from 0xffff800080000000
    [    1.460755] PHYS_OFFSET: 0x80000000
    [    1.464230] CPU features: 0x0,00000008,00000000,1000420b
    [    1.469528] Memory Limit: none
    [    1.472572] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---

    BRs,

    Wilson

  • Hi Wilson,

    Please use the following steps:

    c. Reducing userspace boot time: (but have no idea how to deal with this output folder)

    Please refer to step 2 under 4.1.9.4. Reducing userspace boot time. Go to Processor SDK under <PSDK>/board-support/ti-linux-kernel-6.1.83+gitAUTOINC+c1c2f1971f-ti. Use menuconfig to update initramfs address as shown in the above link and the build kernel as shown in step 3.

    Place the generated 'Image' at <PSDK>/board-support/ti-linux-kernel-6.1.83+gitAUTOINC+c1c2f1971f-ti/arch/arm64/boot in <PSDK>/board-support/prebuilt-images. [You may save default Image with another name for backup].

    a. make linux_appimage

    Repeat this step by first cleaning earlier appimage and again building:

    make -s BOARD=am62px-sk clean
    make -s BOARD=am62px-sk all FALCON_MODE=1

    Flash appimage using:

    cd tools/boot
    python3 uart_uniflash.py -p /dev/ttyUSB0 --cfg=<MCUSDK>/tools/boot/sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_falcon_hs_fs.cfg

    Regards

    Divyansh

  • Hi, Divyansh,

    Thank you very much. We are able to boot into Falcon SBL OSPI.

    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Texas Instruments AM62P5 SK
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.108818] omap-mailbox 29020000.mailbox: no available mbox devices found
    [    0.115984] omap-mailbox 29030000.mailbox: no available mbox devices found
    [    0.204782] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.213293] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.233055] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.241613] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.252432] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.260860] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.271677] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.280061] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.294103] Warning: unable to open an initial console.
    
    am62xx-evm login: root
    login
    am62xx-evm login:

    Do you know login user ID and password?

    BRs

    Wilson

  • Hi Wilson,

    Please try running:

    sudo chmod -vR 777 <filesystem>/*

    for tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio and then rerun the previous steps.

    Login user ID will be same as root, no password will be needed.

    Regards

    Divyansh