cancel
Showing results for 
Search instead for 
Did you mean: 

Minimal OpenSTLinux

PGE
Associate III

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

8 REPLIES 8
Eldam
Senior
PGE
Associate III

Ok thank you !

What about the multiple fs ? This is specific to OpenSTLinux or generic to Yocto ?

Eldam
Senior

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:

https://www.blaess.fr/christophe/yocto-lab/index.html

PGE
Associate III

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)

Eldam
Senior

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!

PatrickF
ST Employee

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'

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.
PGE
Associate III

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

Eldam
Senior

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é!