Update Kernel Modules - Linux Embedded systems

Using kernel modules lends a great amount of flexibility to the kernel. Kernel modules are essentially files containing relocatable object code linked into the kernel at runtime, much as a program uses a shared object. During development of the kernel, if it becomes apparent that some modules are subject to changes after the product is shipped, these should be put on the root file system as modules.

How does a module make itself apparent? Here are some factors to weigh when deciding if you should create a kernel module:

  • Problematic during development: Modules that caused grief when developed will likely continue being troublesome when released.
  • Works with new hardware: Code that enables new hardware is another good candidate, because the documentation for the hardware isn’t always clear or doesn’t fully describe how the deice works. Another indicator is hardware that is changed close to the shipping date, because you don’t have as much time to test it as desired.
  • Frequently changing hardware: In this case, the supported hardware on the device is sourced from several different and subject to change over the production run. LCD displays are a good example, because this component is subject to price fluctuations and the buyer is constantly looking for a good deal.
  • Expected upgrades: Any kernel functionality that is likely to be upgraded while the kernel remains running is a candidate, because these modules can be unloaded and updated and then new versions can be loaded.

If you can afford the time and space necessary to load kernel modules during the boot process, then use kernel modules, because they make updating the kernel a much easier process.


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

Linux Embedded systems Topics