User Tools

Site Tools


use_cases

This is an old revision of the document!


Different people want to reduce the size of the Linux kernel for different reasons. This page holds a few use cases for a small Linux kernel, as a means of illustrating some of the requirements and possibilities for this "feature" of the kernel.

Linux as a bootloader

Linux can be used on some devices at the primary bootloader. The size requirements on the first-stage bootloader are more stringent than for the ultimate running operating system.

There are projects along these lines, such as the coreboot project, or petitboot

Requirements

  • want a small flash and ram footprint (how small?)
  • depending on the platform, may need to read the "main" filesystem of the machine
  • faster booting than other bootloaders
  • re-use of Linux device drivers

Linux in the Internet of Things

There is currently a migration from 8-bit micro-controllers to 32-bit micro-controllers in the deeply embedded space. These types of processors are used in industrial automation, sensors, infrastructure, and more… Some of these devices may need to be powered for a long time on a coin cell battery, or be powered by ambient energy.

Requirements

  • ultra low-power solutions need to avoid DRAM completely. This usually means that the entire system should fit entirely in on-chip static RAM. Current size for this could be 256K or 512K

Notes

emcraft makes boards with these types of processors

Also, see this article about using uClinux on Cortex-M3 devices: Practical Advice on Running uClinux on Cortex-M3/M4

single-purpose program running entirely in L2 cache

A program may want to run at high performance entirely within the L2 cache of the processor it is on.

use_cases.1408649326.txt.gz · Last modified: 2014-08-21 19:28 (external edit)