我试图了解不同的Linux内存设计选择。我正在开发嵌入式ARM / Linux平台(初学者)。
固件加载到包含内核和rootfs的闪存上。…
通常,flash可用于具有引导程序,内核映像和rootfs。大多数Linux是从RAM而不是Flash运行的,因为从RAM运行时通常会更快。因此,在引导过程中,内核tt通过U-Boot从Flash复制到RAM中。另一个选项是引导加载程序将压缩内核从闪存中提取到SDRAM中,然后内核挂载rootfs。
大多数嵌入式系统使用intramfs,因为内存是嵌入式系统中的约束。有关详细信息,请参阅此链接 https://unix.stackexchange.com/questions/27309/how-do-i-have-linux-boot-with-a-rootfs-in-ram
除此之外,大多数发行版使用压缩的ext2文件系统映像,而其他像Debian 3.1使用cramfs以便在内存受限的系统上启动。 cramfs图像不需要额外的空间来进行解压缩。