User Tools

Site Tools


use_cases

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
use_cases [2014-08-20 14:29]
tbird20d
use_cases [2014-09-11 21:35] (current)
tbird20d
Line 1: Line 1:
 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. 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 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. 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 [http://barebox.org/ barebox ​project] ​(is this right?)+There are projects along these lines, such as the [[http://www.coreboot.org|coreboot ​project]], 
 +or [[https://​www.kernel.org/​pub/​linux/​kernel/​people/​geoff/​petitboot/​petitboot.html|petitboot]]
  
 === Requirements === === Requirements ===
-* want a small flash and ram footprint (how small?) +  ​* want a small flash and ram footprint (how small?) 
-* depending on the platform, may need to read the "​main"​ filesystem of the machine+  * 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 ==+===== 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.
  
-(someone ​should ​fill this part in...)+=== 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 === 
 +[[http://​www.emcraft.com/​|emcraft]] makes boards with these types of processors 
 + 
 +Also, see this article about using uClinux on Cortex-M3 devices: 
 +[[http://​electronicdesign.com/​embedded/​practical-advice-running-uclinux-cortex-m3m4|Practical Advice on Running uClinux on Cortex-M3/​M4]] 
 + 
 +===== 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 If the combination of kernel and program is small enough, it can avoid accessing main memory entirely. 
 + 
 +===== Linux entirely in on-chip memory ===== 
 +Here are some chips with on-chip memory that could run Linux with no external RAM: 
 +  * http://​linuxgizmos.com/​quad-core-cortex-a15-soc-features-6mb-on-chip-ram/​ TI quad-core ARM chip with 6 MB on-chip RAM 
 +  * Intel Quark - http://​en.wikipedia.org/​wiki/​Intel_Quark (512KB on-board SRAM)
use_cases.1408544966.txt.gz · Last modified: 2014-08-20 14:29 by tbird20d