====== meta-ost ======
[[https://gitlab.ost.ch/tech/inf/public/yocto/meta-ost | meta-ost on gitlab ]]
meta-ost is a collection of [[software:linux:yocto:start | yocto/OpenEmbedded]] layers containing the following recipes and machines:
===== Layers =====
==== meta-ost ====
''meta-ost'' contains all recipes that are not dependent on any specific machine/layer.
^ users ^^^^
^ recipe ^ user ^ password ^description |
| ost-user | ost | ost | standard user with ''sudo'' privileges |
| - | root | - | default root user that comes with yocto |
**Note**: The root user login is disabled on production images (ssh & local), use ''ost-user'' instead.
^ images ^^
^ (recipe) name ^ description ^
| ost-image | base image containing OST specific customizations|
^ kernel modules ^^
^ recipe ^ description ^
| flink | [[ https://github.com/flink-project | flink ]] |
| fpga-loader | [[ https://github.com/ntb-ch/fpga_loader | fpga_loader ]] |
^ other ^^
^ recipe ^ description ^
| libeeros | [[ https://github.com/eeros-project/ | EEROS]] |
| libucl | [[ https://github.com/vstakhov/libucl | libucl]] |
| udhcpc-service | [[ https://wiki.archlinux.org/index.php/Systemd | SystemD]] service to bring up ethernet using udhcpc (dhcp client) |
==== meta-ost-toradex ====
''meta-ost-toradex'' contains all recipes that depend or are otherwise specific to toradex modules and their yocto layers.
^ kernels ^^^^
^ version ^ RT? ^ compatible machines ^ comment ^
| all | RT & nonRT | cb20 | appends ''linux-toradex'' & ''linux-toradex-rt'' |
^ other ^^
^ recipe ^ description ^
| u-boot-toradex | append ''u-boot'' to use cb20 device tree by default |
===== Machines =====
^ machines ^ layer ^ description ^
| x86-rt | meta-ost | [[ .:x86-rt | Generic x86 with RT kernel ]] |
| bblue | meta-ost | [[ .:bblue | Beaglebone Blue]] |
| cb20 | meta-ost-toradex | [[ .:cb20 | OST CB20 Board ]] |
===== Distros =====
^ Distros ^^
| ost-distro | distribution for production images |
| ost-devel | distribution for development images based on ''ost-distro'' |
==== ost-distro vs ost-devel - Development vs Production Images====
While ''ost-distro'' is intended to be used for production images and provides some base settings such as configuring SystemD as the init-System and ''.ipk'' as the package format of choice, ''ost-devel'' builds on ''ost-distro'' but modifies the configuration to be more amenable for images used during development.
The most notable difference between a development and production image is that the production image disables ''root'' login and ships with a read only filesystem for extra resilience in case of power cuts/improper shutdowns.
Images built with ''ost-devel'' allow for passwordless ''root'' login and mount the root filesystem as read/write.
Additionally, ''ost-devel'' adds ''ostdevel'' to ''OVERRIDES'' allowing recipes to easily change their behavior for development or production images.
For example:
MY_VAR = "default value used in production images (when not using ost-devel)"
MY_VAR:ostdevel = "value used when using ost-devel (i.e. in development images)"
For more information about bitbake overrides, check {{ https://www.yoctoproject.org/docs/3.1/bitbake-user-manual/bitbake-user-manual.html#conditional-syntax-overrides | the bitbake manual}}.
This is used in ''ost-image'' to include additional packages in the development image such as strace, usbutils and evtest.
For a full list of the additional packages, check {{https://gitlab.ost.ch/tech/inf/public/meta-ost/-/blob/main/meta-ost/recipes-images/base/ost-image-base.bb | ost-image-base.bb}}.
===== Status =====
^ Feature / Machine ^ cb20 ^ bblue ^
^ SDK | t | t |
^ RT | t | t |
^ RO-FS | t | t |
^ flink | t ^ ^
^ EtherCAT ^ ^ |
^ EEROS | t | t |
^ cyclictest | t | o |
^ ROS | o | o |
^ wlan ^ | t |
^ librobotcontrol ^ | t |
| t | (tested) confirmed working |
| u | untested, but should work |
| w | work in progress |
| o | open |
^ | not applicable |
==== Performance Tests ====
[[ .:cyclictest | Results for Yocto Images with Cyclictest]]