Brinkhaus-OS (BOS) is an operating system template that can be used to equip an embedded PC with a real-time operating system used as standard for Brinkhaus projects.
The PC to be set up with BOS must be connected to the Internet via DHCP. Before it is supplied with voltage, a USB stick provided by Brinkhaus must be inserted.
If you connect the PC to voltage, you can follow the automatic installation. After that you will have a standardized Edge PC set up as described below.
BOS is based on Debian 10. The system is automatically set up and recorded as described below. A minimal configuration - without graphical user interface - is performed.
The installed kernel was recompiled on the basis the standard Debian kernel sources with the option “PREEMPT”. It thus offers all standard interfaces, but additionally supports the creation of apps with stably reproducible timing. For programmers to achieve this, they must move their real-time tasks to suitable schedulers (in particular SCHED_FIFO).
There are no protections in the system beyond the standard Debian ones. In particular, there is no separation of apps into individual protection areas. Apps, so that they can access hardware, are run as user “root”.
By default, there are two users: root and bos.
Both have the password “bos1234!”. You can log in to the system via SSH. It is not possible to log in directly via SSH as root. Instead you have to login as user bos. After that you can switch to a root shell via su.
In each of the directories under /var/bos there is one APP_NAME directory per app with APP_NAME as the name of the app.
Under /var/bos/bin there are three scripts which are relevant for service activities.
Containers can be a BOS app. For this it is recommended to export the container as a tar file. The tar file should then be placed in the app directory with the Dockerfile. The first step in run.sh is to execute a “docker load -i” on the tar file. Then you can start the container via “docker-compose up”.
Apps can be written and exchanged directory by directory via SFTP. Also their settings. Using the above scripts, the run-sh of apps can be raised to the status of SystemD services.