Skip to main content
Associate
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.

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

Erwan SZYMANSKI
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.

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.
PiratkinAuthor
Associate
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"

 

Erwan SZYMANSKI
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.

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.