# `MMI-SW` is all software that is needed to configure, compile, deploy and test the embedded linux BSPs for the Ultratronik FLY- and MACH-platforms. It's a major part of the UX Eco-System. ![](https://i.imgur.com/DdQeJhs.png =200x) --- # `MMI-SW` consists of * an embedded linux buildsystem (buildroot ![](https://www.buildroot.org/images/logo.png =50x)) * the platform-specific bootloader and kernels * board- and external HW-configuration * demo images (console, Qt, edge2cloud) with sane defaults * testsuites and keyword-libraries for the automated test (robot-framework![](https://i.imgur.com/EwYKwGl.png =50x)) --- # `MMI-SW` development process * one major release a year (bump kernel/buildroot to lastest stable versions) * maintenance for one year (patch releases every 2~3 months) * continuous integration and automated test with Jenkins ![](https://jenkins.io/images/logos/jenkins/256.png =40x) --- # `MMI-SW.610` current versions: * `buildroot 2019.02.x` * `linux v4.19.y` (A9) and `v4.14.y` (A5) * `gcc 7.3.0`, `glibc 2.27`, `binutils 2.29.1`, `gdb 7.12.1` * `Qt 5.11.3` and `5.6.3`, soon `5.12|13` * `busybox 1.29.3`, `swupdate 2018.11`, `openssl 1.1.1.c`, ... --- ## Structure - Maintainability Buildroot allows for *externals*, similar to Yocto layers, which can be used to divide configuration in multiple repositories. Doing this for the different parts allows for highly flexible project setups, while sharing the bugfixes and improvements of all developments. ```graphviz digraph { compound=true rankdir=RL graph [ fontname="Source Sans Pro", fontsize=20 ]; node [ fontname="Source Sans Pro", fontsize=18]; edge [ fontname="Source Sans Pro", fontsize=12 ]; subgraph cluster1 { concentrate=true a [label="Upstream\nbuildroot.git"] [shape=box] b [label="Console Demo forks\nprojectX.git"] [shape=box] sync [label="UX generic\nplatform.git" shape=box ] b -> sync [dir="both"] sync -> a [dir="both"] label="MMI-SW" } } ``` --- ## Upcoming technologies * Optimize Update Transfer (binary diff integration) * Immutable rootfs (and more sec stuff) * More wireless module support (WLAN, cellular, BT) * Experiment with iwd (wpa_supplicant replacement) * Parallel Build (speedup buildroot) * [QBSP?](https://blog.qt.io/blog/2018/12/14/board-support-package-commercial-build-enablers-qt-partners/) --- # Thank you! Andreas Naumann Teamlead Embedded Platforms (EP)
{"metaMigratedAt":"2023-06-14T23:26:03.464Z","metaMigratedFrom":"YAML","title":"`MMI-SW`","breaks":true,"slideOptions":"{\"transition\":\"fade\",\"theme\":\"white\"}","contributors":"[{\"id\":\"77113446-a36c-4bbf-80e3-850cc5abeeb3\",\"add\":5508,\"del\":3007}]"}
    331 views