Linux Board Support Package
We design BSP for embedded systems
If you need a board support package (BSP) for your electronic board, we can help you.
We have experience in adapting U-Boot for custom electronic boards. We initialize the components needed to boot the kernel. Where possible we rely on support for a board using the same processor as your board.
Then we develop U-Boot scripts to :
- Boot the Linux kernel
- Transfer files over the network
- Perform factory hardware tests
- Download factory firmware
- Manage boot options
Of course, we can also work on alternative bootloaders.
Linux kernel configuration: Pin Muxin and Device Tree
After the initialization, you have to start Linux. To do this, you have to describe the card you want it to support. This happens in two main steps:
1. The pin muxing which consists in configuring each of the processor contacts in relation to the tracks of your card.
2. Then, writing the device-tree gives the kernel the correspondence between the buses and the components of the card with drivers
At the end of this phase (also called bring-up) the kernel is able to use the hardware to boot, read, write, communicate and run embedded software.
Custom Linux drivers
Where necessary, Openest can develop custom device drivers for your board components. So your system will support new or specific components that are not yet available.
If you wish, we can even ensure their integration into the official kernel sources. Thus, you will have the assurance to remain compatible with future Linux versions and ease future maintenance.
Root filesystem pour board support package Linux
A BSP for Linux also requires a basic file system: a "rootfs". It contains the programs and libraries essential to the system.
These programs are in charge of :
- Managing the Ethernet or Wi-Fi network configuration
- Communicating with third-party microcontrollers
- Providing configuration tools to users
- Improving the security of the system
- Mount other partitions
- Download & apply updates
- Set and maintain system time