2021-07-09 12:00 AM
We are building a custom embedded system based on STM32MP1 using customised OpenSTLinux. We are currently using the st-image-core as a starting point but we found it already heavy.
Is there any option or other images providing a smaller image ?
Also how can we merge the output images in a single fs. Currently there is bootfs, rootfs, userfs and vendorfs ?
Is there any documentation ressources about this topics ?
Thanks in advance
2021-07-09 12:49 AM
Hello,
Maybe you could use:
https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_distribution
part 3.5 ?
2021-07-09 02:34 AM
Ok thank you !
What about the multiple fs ? This is specific to OpenSTLinux or generic to Yocto ?
2021-07-09 02:47 AM
Hello,
Well i don't think its tied to Yocto.
I think Its tied to STµ way of doing OpenSTlinux distribution
By multiple fs:
you're thinking about one big (ext4/raw/iso) file to write to µSD card / emmc
or your thinking about worrying about multiple partitions "schématics"
By using multpiple partitions, its easier to modify the software concerned in "the good place" (sorry for my crappy english)
/boot --> boot related thing
/rootfs --> Main linux related thing
/userfs --> (maps to /usr/local) your "personnals" software
/vendorfs --> µST things
We use these way, and we are almost happy with it.
Nb: by using st-image-core you could have better support from STµ
Another link, sorry it's in french, but rather cool to ease yocto maze:
2021-07-09 03:02 AM
Thanks Eldam for the feedback,
About the big (ext4/raw/iso) file to write to µSD card I think I can use the FlashLayout_sdcard_stm32mp157c-*.raw file so this not worry me that much (expected the size of this file).
I am more worrying about multiple partitions "schematics" for maintenance and update of the devices in the field. I am used of having one read only fs with all the systems (boot, vendor and rootfs) and one RW fs with /var for log and data storage. So when we perform target update we update only the first partition.
I am used to buildroot with a single rootfs less than 100MB, here we are speaking multiple fs with a size almost in GB
You said you "are almost happy with it" why only "almost" ? May I ask you how do you perform update on the field ?
Thanks for the link I will read it (le français n'est pas un problème pour moi)
2021-07-09 03:18 AM
Hello.
Update on the fields:
Our custom board have USB (host) connector, and button (µSD(initial debug) +emmc (boot on emmc).
So i've made another very simple rootfs (readonly). If we push the button at startup (uboot.scr monitoring this gpio event ) we boot to recover partition,
a script will monitor USB plug-in event, if detected , we launch another copy script for copying usbkey to filesystem (can copy ext4 partition or single files)
It work, i'm happy with it.
Its a home made update system, i know there is another (Linux,professional and so on) ways to do , but my linux experience is (unfortunately)limited.
almost happy with it: bad expression, don' mind.
Have a nice weekend!
2021-07-09 04:41 AM
In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'
2021-07-22 11:38 PM
I found In st-machine-common-stm32mp.inc the following definition which seems to be perfectly what I needed. I tried to define them all 3 to "0" in my own config. This resulted in the generation of a single root image. Unfortunately this single image do not contain files from BOOTFS, VENDORFS and USERFS.
Any idea how I can redirect these files in root partition ?
# Enable use of extra partition(s)
ST_BOOTFS ?= "1"
ST_VENDORFS ?= "1"
ST_USERFS ?= "1"
More generally speaking is there any documentation about all the ST layer on top of Yocto ? There is a lot of ST_* variable and other customization which are completely different than "normal" yocto.
Thanks in advance
2021-07-23 12:04 AM
Hello,
No real idea, we don't use "create your own machine part" (doc too confusing for me)
No more hint for this subject,
désolé!