TRENTOS SDK – the TRENTOS development environment

Sebastian Eckl, Senior Software Engineer at HENSOLDT Cyber

This blog post marks the fourth article in a series of six and will explain briefly the content and structure of the TRENTOS® SDK. The SDK contains both the source code of the actual operating system and additional tooling that provides the respective build, test and deployment environment.

The TRENTOS SDK – More than just an operating system

With the TRENTOS SDK, HENSOLDT Cyber provides a complete development environment that equips a developer with all the tools required for building, testing and finally deploying TRENTOS-based systems to the real world. The SDK hereby contains the actual operating system (OS) source code, consisting of seL4®, CAmkES and TRENTOS, but also offers a collection of additional resources designed to make developer’s work easier by increasing efficiency and reducing complexity.

Content of the TRENTOS SDK

Of course, TRENTOS still marks the heart of the SDK. All the essential OS parts described in the previous blog post – the API, the libraries and the standard components – are bundled together with the underlying foundation consisting of the seL4 microkernel and the CAmkES framework. Nevertheless, for being able to build an actual TRENTOS system image out of the sources and to deploy it to a specific hardware platform, further resources are required.

In order to understand the overall idea of TRENTOS and for getting to know how to develop TRENTOS-based systems in general, the SDK includes an extensive documentation in form of the TRENTOS Handbook. All necessary aspects of the OS, like the API and the provided standard components, are explained in detail. To provide some kind of starting point for the development of custom applications, the SDK also includes a set of demo systems. These systems highlight specific parts of TRENTOS, starting from a very basic hello world application to the comprehensive IoT demo, which makes use of almost all TRENTOS components. Have a look at these systems before starting with your own TRENTOS idea.

Besides code and documentation, the SDK also provides all the tools required to build and run a custom TRENTOS-based system. In order to provide a stable development foundation, the SDK offers a suitable Docker-based working environment, containing a Linux system that provides all the tools required for development (e.g. a compiler toolchain) and testing (e.g. QEMU). Accompanying scripts also ease the build and test process, allowing a developer to create a complete, bootable TRENTOS system image. Nevertheless, in order to deploy this image to a physical hardware platform like the Raspberry Pi 3 B+, further resources (e.g. firmware and bootloader files) are required. The SDK already considers these dependencies and therefore includes the respective elements.

From theory to practice

Of course, dealing with the TRENTOS SDK in theory alone won’t be sufficient for becoming a skilled TRENTOS developer. Getting your hands on the actual source code and developing a first custom application is therefore strongly recommended. So, stay tuned for the concluding two blog posts, which will offer an interactive video tutorial that explains the structure of the SDK in more detail and demonstrates how to build and run your first secure TRENTOS system.

READ MORE
Share on facebook
Share on linkedin
Share on email
Share on whatsapp
Share on twitter
Share on reddit

Leave a Reply

Your email address will not be published. Required fields are marked *