Linux kernel 在嵌入式设备上运行Linux内核所需的最小RAM量是多少?

Linux kernel 在嵌入式设备上运行Linux内核所需的最小RAM量是多少?,linux-kernel,embedded,kernel,linux-device-driver,embedded-linux,Linux Kernel,Embedded,Kernel,Linux Device Driver,Embedded Linux,在嵌入式设备上运行Linux内核所需的最小内存量是多少?在Linux-0.11中,对于80x86,加载内核数据结构和中断向量所需的最小RAM为2MB 当前Linux-3.18内核所需的最小RAM是多少?像x86和ARM这样的不同体系结构对引导所需的最小RAM有不同的要求吗?如何计算相同的值?有可能将其缩小到约600千磅。检查Intel的Tom Zanussi所做的工作。 和 更新。Tom发表了关于内核中不同子系统的内存使用的有趣文章。他在从事该项目期间进行了研究。建议: 最低限度的uClinux

在嵌入式设备上运行Linux内核所需的最小内存量是多少?在Linux-0.11中,对于
80x86
,加载内核数据结构和中断向量所需的最小RAM为
2MB


当前Linux-3.18内核所需的最小RAM是多少?像
x86
ARM
这样的不同体系结构对引导所需的最小RAM有不同的要求吗?如何计算相同的值?

有可能将其缩小到约600千磅。检查Intel的Tom Zanussi所做的工作。 和

更新。Tom发表了关于内核中不同子系统的内存使用的有趣文章。他在从事该项目期间进行了研究。

建议:

最低限度的uClinux配置可以从4mbram运行,不过 我们给客户的建议是,他们应该设计 至少16 MB的内存

如果您使用的是SDRAM,那么问题是以合理的体积成本和可用性获得小于16Mb的部件,所以这可能不是问题?然而,对于SRAM来说,这是一个庞大且相对昂贵的部件


eLinux.org对嵌入式内核大小、如何确定它以及如何最小化它有一个明确的定义。

您想实现什么?根据您试图将Linux压缩到的设备,我想您可能能够将其大部分分流到(闪存)ROM中。@doynax:我正在尝试将Linux移植到内存有限的嵌入式设备上。闪光灯是只读的。你的问题太模糊了。如果不需要,可以省略许多Linux内核特性,从而减少内存占用。所需的守护进程类型和应用程序还将规定内存要求。处理器体系结构和指令集影响内存需求(例如,对于ARM,内核可以在Thumb模式、16位指令下编译,以减少内核大小);它也是暂时的。这些值将随时间而变化;最终没有人会在意3.18。此外,最小配置可能无法满足您的需要。QEMU+buildroot 2017.02 x86_64下降到大约32MiB。可能任何更小的都需要补丁/是疯狂的。我在这两个链接中都看不到任何关于600KiB的建议。你能说得更具体些吗?这是运行时RAM占用的内核映像大小吗?显示了减少分布的各个阶段,每个阶段的分布越来越小,下降到1.6Mb,但在这一点上,它可能是如此残废,以至于几乎不值得这样做-所以它启动了,那么你能用它做什么呢!?1.6M是系统的RAM大小,除了内核之外,还必须有用于其他内容的RAM,比如init和/或shell。因此,600KiB是内核的RAM占用空间。但请注意,有些东西必须编译到用户空间程序中,如TCP/IP、IIRC。@Manav,是的,我知道这一点,但它听起来不像是一个生产就绪的解决方案:-)来自上面提供的链接:可引导的uClinux映像的大小,带有集成的initramfs,在2-3MB的范围内,能够从16MB内存运行的功能是值得的。解压时uClinux内核的大小是多少?