问题
What is the minimum amount of RAM
required to run Linux kernel on an Embedded device? In Linux-0.11 for 80x86
, the minimum RAM required was 2MB
to load the kernel data structures and interrupt vectors.
How much is the minimum needed RAM for present Linux-3.18 kernel? Does different architectures like x86
and ARM
have different requirements for minimum RAM required for booting? How does one calculates the same?
回答1:
It's possible to shrink it down to ~600 KiB. Check the work done by Tom Zanussi from Intel. Presentation from Tom and Wiki page about the topic.
UPDATE. Tom published interesting statistics about memory use by different subsystems in the kernel. He did research during that time when he was working on the project.
回答2:
This site suggests:
A minimal uClinux configuration could be run from 4MB RAM, although the recommendation we are giving to our customers is that they should design in at least 16 MB's worth of RAM.
If you are using SDRAM, the problem would be getting a part any smaller than 16Mb at reasonable volume cost and availability, so maybe it is a non-problem? For SRAM however, that is a large and relatively expensive part.
eLinux.org has a lot of information on embedded kernel size, how to determine it, and how to minimise it.
来源:https://stackoverflow.com/questions/27941775/what-is-the-minimum-amount-of-ram-required-to-run-linux-kernel-on-an-embedded-de