Embedded Linux, maintained upstream since 2002
We maintain meta-freescale, the board support layer for NXP platforms in the Yocto Project. We build custom Linux systems for your hardware.
OSSRM_MAINT
- Width
- 32 bits
- Access
- Read only
- Reset value
- 0x9EDF_F7C7
Select a field to read it.
| Bit | Field | Value | Description | Public source |
|---|---|---|---|---|
| 31 | META_FSL | 1 | Otavio Salvador maintains meta-freescale, the board support layer for NXP i.MX platforms in the Yocto Project. The layer README names him, and no one else, as maintainer. | meta-freescale README |
| 30:19 | MFSL_MERGES | 987 | We performed 987 of the 992 merges in the history of meta-freescale, and all 160 merges made in the last year. Only the maintainer of a layer can merge into it. | meta-freescale git log |
| 18:14 | NIXPKGS | 31 | We are named in the maintainer field of 31 package definitions in nixpkgs, and we are the only maintainer of 24 of them. They are the embedded tools that we use every day, such as uuu, snagboot and oelint-adv. | nixpkgs maintainer entries |
| 13:11 | ZEPHYR | 6 | An engineer of the company maintains six areas of the Zephyr Project. One of them is the UpdateHub subsystem. | Zephyr Project MAINTAINERS file |
| 10:9 | UBOOT | 3 | The company holds three board maintainer entries in the mainline U-Boot tree. | U-Boot board maintainer files |
| 8:0 | OE_CORE | 455 | The company has 455 commits in OpenEmbedded-Core, the base layer that every Yocto Project build uses. That places it 14th of the 616 organizations that contributed to the layer. | openembedded-core git log |
Every field is read only. You can check each one in a public repository.
The Company
O.S. Systems started in 2002. At that time, few companies could customize operating systems or give specialized consultancy on open source software.
We adopted GNU/Linux for our products because open source systems give us stability, security and flexibility. We are a Yocto Project Participating Organization. Between 2014 and 2018 we cast votes in the Yocto Project Advisory Board. Those votes decided which layers earn the Yocto Project Compatible mark, and some of the layers belonged to other companies.
Our engineers maintain the software that other companies use. Otavio Salvador maintains meta-freescale, the layer that supports NXP i.MX platforms in the Yocto Project.
We send our customer work upstream. Our commits are in the Linux kernel, in U-Boot, in OpenEmbedded-Core and in the Zephyr Project. Your hardware support stays in the mainline tree.
We work as part of your development team, for the months that a board support package takes. Chapter 3 states what you can order, and chapter 4 gives the record that you can check.
Yocto Project Participating Organization
Functional Blocks
Where our work sits in your product, and the blocks that we build and maintain
We build and maintain thisYou own this
We build and maintain thisYou own this
2.1YOCTO
Yocto Project
We build custom Linux distributions with the Yocto Project. We contribute to OpenEmbedded-Core since 2011.
2.2BSP
Board Support Packages
We maintain meta-freescale, the BSP layer for NXP i.MX platforms. We also build BSPs for other hardware.
2.3KERNEL
Linux Kernel
We write kernel drivers and device trees. Our commits are in the mainline tree since 2007.
2.4UBOOT
Boot Loader
We port and configure U-Boot. We maintain three boards in the mainline U-Boot tree.
2.5ZEPHYR
Zephyr Project
We maintain six areas of the Zephyr Project, and the UpdateHub subsystem in it. We write this firmware in C and in C++, and we publish ZephyrBT, our behaviour tree framework.
2.6LANGS
C, C++, Rust and Go
We write device software in C, C++, Rust and Go. We reworked the Go support in OpenEmbedded-Core in 2017.
2.7RENODE
Simulation and automated tests
We run the firmware in Renode, so a test needs no board. Twister and Robot Framework then drive those tests in continuous integration, on every pull request. We maintain the renode package in nixpkgs.
Service Description
What you can order from us, and what each service delivers
- 3.1CONS
Consultancy and Migration
We move your product to the Yocto Project, and we review the build that you have now. Chapter 6 gives the platform that we use for release engineering and licence compliance.
Ask about this serviceIncludes
- Migration from Buildroot, LTIB or a hand-built system
- Review of your layers, your recipes and your build
- Release engineering, licence compliance and CVE handling
- Training for your team on the Yocto Project
- 3.2DEV
Board Support and Custom Development
We make your board boot and run: the boot loader, the kernel, the drivers and the distribution. We send the work upstream, so your hardware support stays in the mainline tree.
Ask about this serviceIncludes
- U-Boot port and board bring-up
- Kernel drivers and device trees
- A board support layer for the Yocto Project
- An SDK for your application team
- 3.3NIX
Nix and NixOS Engineering
We make your build reproducible with Nix, and we run your build machines on NixOS. Chapter 7 gives the public record.
Ask about this serviceIncludes
- Reproducible development shells
- NixOS build machines and CI
- Packaging in nixpkgs
- Migration from a hand-built host
- 3.4AI
AI-Assisted Engineering
We build the development system that lets your engineers work with coding agents. It lives in your repository, under version control. Chapter 8 gives the public record.
Ask about this serviceIncludes
- A versioned plugin, installed with one command
- Agents that read every pull request in your pipeline
- Your own systems recorded as skills
- Third-party skills pinned and credited
Upstream Positions
A project outside the company granted us the position in six of these twelve rows. In meta-freescale we performed 987 of the 992 merges, and all 160 merges made in the last year.
| Symbol | Project | Our position | Commits and years | Source |
|---|---|---|---|---|
| MFSL | meta-freescale | Maintainer of the layer | 1,981 · 2011–2026 | Layer README, git log |
| NIXPKGS | nixpkgs | Maintainer of 31 packages, and the only maintainer of 24 | 225 · 2020–2026 | Package maintainer fields |
| ZEPHYR | zephyr | Maintainer of six areas, and of the UpdateHub subsystem | 94 · 2018–2026 | MAINTAINERS.yml |
| ZEPHYRNIX | zephyr-nix | One of the two maintainers that nix-community names | 10 · 2024–2026 | Repository description |
| UBOOT | u-boot | Board maintainer for three boards | 211 · 2012–2020 | Board MAINTAINERS files |
| MBROWSER | meta-browser | One of three maintainers. We performed 91 of the 95 merges, to 2018 | 52 · 2012–2018 | OpenEmbedded layer index, git log |
| MUHUB | meta-updatehub | Maintainer of record for the layer of our own product, in the OpenEmbedded layer index | 394 · 2016–2026 | OpenEmbedded layer index |
| MSHUB | meta-shellhub | Maintainer of record for the layer of our own product, in the OpenEmbedded layer index | 81 · 2019–2026 | OpenEmbedded layer index |
| OECORE | openembedded-core | 14th contributing organization of 616 | 455 · 2011–2026 | openembedded-core git log |
| METAOE | meta-openembedded | 15th contributing organization of 495 | 385 · 2011–2023 | meta-openembedded git log |
| LINUX | linux | The elgin vendor prefix and the RV1108 board are in the mainline tree | 40 · 2007–2023 | Mainline Linux tree |
| OEORG | OpenEmbedded | Voting member of the organization, able to stand in the Yocto Project and OpenEmbedded elections. We hold no seat on the board and none on the technical steering committee | — | OpenEmbedded members roster |
We put a customer board in the mainline kernel, so the customer name is now in the vendor list of Linux. A gold row is a position that a project outside the company granted. The two layer index rows carry our own products, so we list ourselves there and the mark stays off. Every row comes from a public source. Filter a git log by our domain to check any row yourself.
Revision History
More than twenty years of upstream work
| Rev. | Date | Description of change |
|---|---|---|
| 0 | 2002 | Otavio Salvador starts the company |
| 1 | 2005 | Custom Debian systems for desktops, servers and clusters. One of them, Linux Educacional, later runs on 120,000 school machines for the Ministry of Education |
| 2 | 2008 | Our founder becomes the release manager of the Debian Installer. First contributions to OpenEmbedded |
| 3 | 2010 | First direct contributions to the Yocto Project |
| 4 | 2011 | We become the maintainer of the Freescale board support layer for the Yocto Project |
| 5 | 2012 | Work starts on O.S. Systems Embedded Linux, our own Yocto Project platform |
| 6 | 2014 | Our founder co-authors the first edition of a book about the Yocto Project |
| 7 | 2017 | First release of UpdateHub |
| 8 | 2019 | Development of ShellHub starts |
| 9 | 2020 | First reproducible build environment, and first packages that we maintain in nixpkgs |
| 10 | 2024 | The nix-community organization makes us a maintainer of zephyr-nix |
| 11 | 2026 | Fourth edition of the co-authored book, for Yocto Project 6.0 WrynoseRev. 11 · 08/2026 |
O.S. Systems Embedded Linux
Our own Yocto Project platform, in continuous development since 2012
A customer who ships a product line needs more than a build. That customer needs release engineering, licence compliance, and a record of what went into each image. O.S. Systems Embedded Linux is the platform that we built for this work, and we keep a branch of it for each Yocto Project release.
- 6.1HISTORY
Fourteen years of one platform
Company addresses account for 1,176 commits since 2012. We published the work on GitHub in 2020, but the history starts eight years earlier. The layer index of OpenEmbedded lists the layer on 23 branches, with a named maintainer.
- 6.2RELEASES
A branch for each release
We keep a branch for each Yocto Project release, from 1.6 Daisy in 2014 to 6.0 Wrynose in 2026. A product that starts on one release can move to the next release without a rewrite.
- 6.3SCOPE
No vendor lock in the platform
The platform carries no board support of its own. It uses the QEMU machines of OpenEmbedded-Core as its reference. Silicon support comes from meta-freescale, or from the layer that your board needs.
| Item | Count | Detail |
|---|---|---|
| Classes | 14 | Release bundles, licence manifests, CVE filters and factory defaults |
| Recipes | 21 | The base software of the distribution |
| Recipe extensions | 12 | Changes to recipes that OpenEmbedded-Core supplies |
| Distributions | 2 | oel, and oel-tiny for small images |
Reproducible Build Environments
The same build environment on every machine, from one pinned description
A new engineer must not lose a week on host tools. We give the team one description that puts the correct BitBake, the correct setup tools and the correct host tools on any machine. We have shipped this promise since 2020, first with Docker and then with Nix. Example 7-1 and Example 7-2 solve the same problem by the two routes. Both are public, and you select the one that fits your team.
yocto-env.nix
- Pinned releases
- master, 6.0 Wrynose, 5.0 Scarthgap, 4.0 Kirkstone
nix develop github:OSSystems/yocto-env.nixEnter a shell that carries kas, bitbake-setup, repo and every host tool, at pinned versions.
The build CI of our own layer runs in this shell. You get the environment that we use.
ossystems/yocto-env
- Ubuntu images
- 16.04, 18.04, 20.04, 22.04, 24.04
docker run ossystems/yocto-env:24.04 wrapper > ~/bin/yocto-envWrite the wrapper script. You do this one time.
chmod a+x ~/bin/yocto-envGive the script permission to run.
yocto-env 24.04Enter a container that carries the host tools. The argument selects the Ubuntu image.
The image solves the same problem as the Nix flake, and it solves it by the other route. Row 7.1.2 gives its record.
What your team runs
- 7.1.1YOCTOENV
yocto-env.nix
One Nix flake carries the host tools for four Yocto Project releases: master, 6.0 Wrynose, 5.0 Scarthgap and 4.0 Kirkstone. You select the release, and the flake pins the rest. The shell carries the three setup tools, bitbake-setup, kas and repo, so your project keeps the layout that it uses today. The build CI of our own layer runs in this shell.
- 7.1.2DOCKERENV
docker-yocto-env
Docker is the route for a team that does not use Nix. The image carries the host tools for a Yocto Project build on Ubuntu 16.04 to 24.04, and it writes its own wrapper script for you. We published the image in 2020, and Docker Hub reports more than 3,500 pulls.
- 7.1.3NIXACTIONS
nix-actions
Two GitHub Actions keep a Nix repository correct with no copied pipeline code. The first one runs nix flake check and nix build on each pull request. The second one opens a pull request that updates flake.lock. The repository is on the GitHub Marketplace, under an MIT licence.
Our position in the Nix ecosystem
- 7.2.1NIXPKGS
31 packages in nixpkgs
We are named in the maintainer field of 31 package definitions, and we are the only maintainer of 24 of them. Company addresses account for 225 commits in nixpkgs since 2020. Table 7-1 gives a sample.
- 7.2.2ZEPHYRNIX
zephyr-nix
The nix-community organization names one of our engineers as one of the two maintainers of zephyr-nix, which builds Zephyr Project firmware with Nix. An independent organization granted that role, and he merges the work of other contributors.
- 7.2.3NIXOSMOD
The ShellHub NixOS service module
We wrote services.shellhub-agent, the NixOS service module for our own product. It is in nixpkgs since November 2020, one month before the package itself. A NixOS user installs the ShellHub agent from the distribution, and not from us.
| Package | Our role | Purpose |
|---|---|---|
| uuu | Only maintainer | Writes an image to an NXP i.MX board over USB |
| snagboot | Only maintainer | Recovers and flashes boards over USB |
| oelint-adv | Only maintainer | Checks the style of OpenEmbedded recipes |
| renode | Only maintainer | Simulates a board, so tests run with no hardware |
| mcuboot-imgtool | Only maintainer | Signs firmware images for MCUboot |
| mcumgr-client | Only maintainer | Manages a microcontroller over SMP |
| git-repo | Co-maintainer | Manages the many repositories of a platform |
Seven of the 31 packages. Search the maintainer name in nixpkgs to see them all.
AI-Assisted Engineering
We build the system that lets your engineers work with coding agents
We do not sell models. We build the development system around them. That system lives in your repository, under version control, next to your code. Your engineers then ship the product with it. We started this work in 2025, and we now run it with teams in five industries.
We build the AI development system, and we hand it over.
Your engineers ship the product with it.
- A1Code quality
- A2Security
- A3Testing
- A4Go and TypeScript patterns
- A5Architecture and cross-repository
A separate agent then checks the result
This figure shows the review team of one product, so agent A4 reads Go and TypeScript. The method does not depend on the language. We run the same review on Rust, C and C++ code.
You can check this yourself
ShellHub is a public product with an Apache-2.0 licence and 2060 stars. We added an AI review workflow to it in February 2026. The workflow is public, and so is every review it wrote.
- 531
- public pull requests carry an AI review
- 5
- review agents run at the same time
- 6
- months of reviews, from February to August 2026
The 2060 stars belong to the product, which started in 2019. The review team started in 2026.
- 8.1PLUGIN
A plugin, not a prompt
We deliver a versioned plugin through a marketplace. Your team installs it with one command. A prompt in a chat window helps one person one time. A plugin helps every engineer, every day, and you can review it in a pull request.
- 8.2PINNED
One toolchain for the agent and the engineer
Chapter 7 pins your build environment with Nix. The agent runs inside that same environment. So it uses the compiler, the linter and the tests that your engineers use. An agent with different tools reports faults that do not exist.
- 8.3PARALLEL
Many small agents, and one that checks
We divide the work between specialist agents that run at the same time. A separate agent then checks what they found. Five small agents with one task each find more than one large agent with five tasks.
- 8.4DOMAIN
Your own systems, written as skills
We record how your systems work, and we give that record to the agent as a skill. The agent then knows your business rules, your hardware and your legacy interfaces. It does not know only the programming language.
- 8.5LICENCE
Third-party skills stay legal
We publish ai-plugin-vendor-tool. It copies a skill from a public source, pins the version in a lockfile, and credits the author in a NOTICE file. You then know what you use, and where it came from.
- 8.6PIPELINE
The agent runs in your pipeline
The agent reads every pull request in continuous integration. It does not run on one laptop only. This is how the 531 public reviews happened. A human still approves and merges the work.
The same method, in five industries
- Vehicle electrification and industrial robots
- Agricultural automation
- Financial technology
- Infrastructure software and SaaS
- Embedded Linux and the Yocto Project
We describe the industries, and not the customers. We name a customer only with that customer's written permission.
Supported Products
Open source products that O.S. Systems develops
- 9.1UHUB
UpdateHub
Over-the-Air (OTA) Update Management
A complete platform that updates embedded devices over the air.
Features
- Updates for Yocto Project and Zephyr Project devices
- Signature check on each update package
- Automatic rollback after a failed update
- A/B installation with U-Boot or GRUB
- 9.2SHUB
ShellHub
Remote Access for the Internet of Things (IoT)
A centralized SSH gateway that reaches your Linux devices in the field. The agent has more than 2.1 million pulls on Docker Hub.
Features
- SSH access to devices behind NAT and firewalls
- No public IP address, VPN or jump host
- Session recording and audit logs
- Firewall rules and multi-factor authentication
Related Documentation
Books and free material about the Yocto Project
| Year | Title | Yocto release | Kind |
|---|---|---|---|
| 2014 | Embedded Linux Development with Yocto Project | 1.6 Daisy | Book, Packt |
| 2017 | Embedded Linux Development using Yocto Projects, 2nd edition | 2.4 Rocko | Book, Packt |
| 2018 | Heading for the Yocto Project | — | Free, Creative Commons |
| 2023 | Embedded Linux Development Using Yocto Project, 3rd edition | 4.0 Kirkstone LTS | Book, Packt |
| 2026 | Embedded Linux Development Using Yocto Project, 4th edition | 6.0 Wrynose LTS | Book, Packt |
The books
Otavio Salvador co-authored four editions of the book, across twelve years. The fourth edition covers Yocto Project 6.0 Wrynose, the current long term support release. Daiane Angolini is the other author.
The booklet
Heading for the Yocto Project is a booklet of 43 pages by Otavio Salvador and Daiane Angolini. It answers the question that comes before the manual: why a team selects the Yocto Project, and what changes when it does. It is free content under a Creative Commons licence, and the source is public. The published file has 2,063 downloads.
Read the bookletOperating Principles
How we run an engagement, and what you can expect from us
- 11.1
We send the work upstream
We submit your board support to the mainline tree, and not only to your repository. The Elgin RV1108 board is in mainline Linux and in mainline U-Boot because we put it there. Your hardware support then survives the next release.
- 11.2
We work in the open
Our layers, our build environments and our packages are public. You can read the commit that changes your build. Chapter 4 lists the repositories where a person outside the company can check our record.
- 11.3
We stay after the release
A product lives longer than its first image. We keep our platform on a branch for each Yocto Project release, so your product moves to the next release without a rewrite. Chapter 6 gives the record.
Ordering Information
Contact us to discuss your project or to ask a question
Contact Information
Emailcontato@ossystems.com.brSocial Networks
Supplier
- Registered name
- O.S. SYSTEMS SOFTWARE LTDA
- Office
- Pelotas, Rio Grande do Sul, Brazil
Project inquiry