Skip to main content
Explorer
May 22, 2024
Solved

Missing bootfs Partition in Yocto TSV Image Layout

  • May 22, 2024
  • 1 reply
  • 5553 views

Hi, I am trying to create an image for writing to NAND memory.

The problem is that when generating a TSV file using Yocto, I get a layout without a bootfs partition.
In this case, it is unclear how to load the Linux kernel and the DeviceTree.
Can someone explain to me why the bootfs is excluded from the image layout file (TSV) and how to handle this situation?

I can try to add this file to the image, but I am confused because this partition is missing even in the examples.
Maybe there's a reason for this that I'm not aware of.

I would greatly appreciate any help.

    This topic has been closed for replies.
    Best answer by Erwan SZYMANSKI

    Hello @Piratkin ,
    I just take back the files that are generated on OpenSTLinux v5, thanks to yocto, and just to compare with what you can see on your side : 

    The st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi generated and present in the TSV file is the analog of your test-image-stm32mp135d_nand_4_256_multivolume.ubi.

    When I check the content of this file :

     

    PC $> ubireader_extract_images ./st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi
    PC $> cd ubifs-root/
    PC $> cd st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi/
    PC $> ubireader_extract_files img-697060950_vol-boot.ubifs
    PC $> cd ubifs-root/
    PC $> ls
    
    Output :
    
    boot.scr.uimg stm32mp135f-dk.dtb stm32mp157c-ev1.dtb stm32mp157f-dk2-m4-examples.dtb
    mmc0_extlinux stm32mp157a-dk1.dtb stm32mp157c-ev1-m4-examples.dtb stm32mp157f-ed1.dtb
    mmc1_extlinux stm32mp157a-ev1.dtb stm32mp157d-dk1-a7-examples.dtb stm32mp157f-ev1-a7-examples.dtb
    nand0_extlinux stm32mp157c-dk2-a7-examples.dtb stm32mp157d-dk1.dtb stm32mp157f-ev1.dtb
    splash_landscape.bmp stm32mp157c-dk2.dtb stm32mp157d-dk1-m4-examples.dtb stm32mp157f-ev1-m4-examples.dtb
    splash_portrait.bmp stm32mp157c-dk2-m4-examples.dtb stm32mp157d-ev1.dtb uImage
    st-image-resize-initrd stm32mp157c-ed1.dtb stm32mp157f-dk2-a7-examples.dtb
    stm32mp135f-dk-a7-examples.dtb stm32mp157c-ev1-a7-examples.dtb stm32mp157f-dk2.dtb

     

    So it seems that all the information are well placed. I will check which part of Yocto do it so you can clearly compare with the normal situation.

    Kind regards,
    Erwan.

    1 reply

    Technical Moderator
    May 22, 2024

    Hello @Piratkin ,
    Can you precise us on which version of OpenSTLinux you are working on ? And also can you share us the TSV file that is generated on your side ? 

    Kind regards,
    Erwan.

    PiratkinAuthor
    Explorer
    May 22, 2024

    branch: mickledore

    layer: meta-openembedded
    commit: 75cf318cef3b4ee81fad2782cf063ecd69ba8842

    layer: meta-st-stm32mp
    commit 931b3f5be2c00f55d114c8f9122082a9d229b776

    layer: poky
    commit 2a553c39a03d88b7e24ea4d275c52d032c91159a

    Poky had to be downgraded a bit because there were some problems.

    I'm building an image on Ubuntu Linux:

    $ uname -a
    Linux 525396228a30 6.8.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 28 Apr 2024 15:59:47 +0000 x86_64 x86_64 x86_64 GNU/Linux

     
    TSV file:

    #Opt Id Name Type IP Offset Binary
    - 0x01 fsbl-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp135d-pcmd-usb.stm32
    - 0x03 fip-boot FIP none 0x0 fip/fip-stm32mp135d-pcmd-optee.bin
    P 0x04 fsbl1 Binary nand0 0x00000000 arm-trusted-firmware/tf-a-stm32mp135d-pcmd-nand.stm32
    P 0x05 fsbl2 Binary nand0 0x00080000 arm-trusted-firmware/tf-a-stm32mp135d-pcmd-nand.stm32
    P 0x06 metadata1 FWU_MDATA nand0 0x00100000 arm-trusted-firmware/metadata.bin
    P 0x07 metadata2 FWU_MDATA nand0 0x00180000 arm-trusted-firmware/metadata.bin
    P 0x08 fip-a1 FIP nand0 0x00200000 fip/fip-stm32mp135d-pcmd-optee.bin
    P 0x09 fip-a2 FIP nand0 0x00600000 fip/fip-stm32mp135d-pcmd-optee.bin
    PED 0x0A fip-b1 FIP nand0 0x00A00000 none
    PED 0x0B fip-b2 FIP nand0 0x00E00000 none
    P 0x10 ubifs System nand0 0x01200000 test-image-stm32mp135d_nand_4_256_multivolume.ubi


    Probably everything I need should be in the /boot directory, but unfortunately it is empty.

    ST_OSTL_COMPATIBILITY_VERSION_stm-st-stm32mp = "5.0"

     

    Technical Moderator
    May 22, 2024

    @Piratkin ,
    I do not see anything strange in your TSV. When you compare with the reference TSV for Nand Flash memory we give on the Wiki, it looks coherent : https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout#NAND_flash_memory

    Kind regards,
    Erwan.