The Big Picture - Linux Embedded systems

Getting a system ready for production means gathering the files to be deployed and preparing them so they can be placed on the device prior to shipping. Along with the root file system contents, the design and deployment entails selecting the right root file system and boot-up method for the device. The kernel must be prepared as a step in the process, along with any additional files needed to support the application running on the device. Going one level back, the boot loader is also a necessary component; some work is involved in getting it configured so the boot loader passes the right parameters to the kernel at boot time, if necessary. When you’ve completed all these steps, you have what’s necessary to deploy Linux on the target.

For many embedded systems, the manufacturing (or production) takes place at a contract manufacturing company that performs the actual deployment of Linux. The company doing the fabrication of the device just knows that file X should be placed in the flash on the target device; it doesn’t know or care about the contents of the file, just that it has the file, can verify its integrity, and understands where to put in on the device. Depending on the relationship with the manufacturer and the requirements of the project, a company may ask for a way to test that the software has been loaded on the device and that it’s functioning correctly. Such a test is usually more detailed than “it boots” and likely includes a small smoke test1 to ensure that the peripherals, such as the touch screen and any external buttons or lights, are working as expected.

This chapter covers the following steps:

  • Configuring the boot loader and kernel: The boot loader and the kernel are intertwined at this point. How the kernel is built largely depends on the needs of the boot loader.
  • Selecting the root file system: Many developers work on a file system that’s been mounted over a network or are using what happens to work with the board. Now, you need to select the root file system type for the production builds. This affects the kernel, because the driver necessary to access the file system must be built into the kernel.
  • Deploying your application: This is the process of getting your application in the root file system along with any dependencies. Because you built your application, you should be aware of the dependencies; nevertheless, this section has some simple checks to validate your assumptions.
  • Configuring the system: An embedded Linux system is like a desktop system in that is has some system requirements that need to be met in order for it to work correctly. Plus, depending on the application, you may want to use some of the security features found on bigger Linux systems.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Linux Embedded systems Topics