1

我想知道如何为存储在硬盘上的嵌入式 Linux 系统创建根文件系统。如果它在闪存卡上,这将是相同的程序吗?

4

2 回答 2

1

不,您的引导加载程序需要知道如何初始化硬盘驱动器。使用闪存卡,引导加载程序初始化为 MTD,并且可以理解文件系统。

您可能能够在引导加载程序中使用 IDE HD 和 IDE 支持取得进展。

在普通计算机(例如 PC)上,BIOS 负责初始化所有外围设备,例如主 HD。

于 2013-02-19T23:07:59.953 回答
0

通常 Linux 嵌入式系统不是直接在基于磁盘的文件系统中运行,而是使用一种机制将操作系统从持久存储(硬盘驱动器、闪存卡或内存等)加载到易失性内存空间 (RAM)。通常,这些操作系统的文件(通常称为固件)是内核映像文件和initrd(初始 RAM 磁盘)文件,initrd 文件包含根文件系统的文件和任何系统的相关文件,在启动时 initrd 将被解压缩并部署到 RAM基于tmpfs的文件系统,一旦完成,系统将像任何基于磁盘的文件系统(ext3,btrfs)一样使用 tmpfs 文件系统,例如运行init程序或脚本来进行系统初始化。嵌入式系统倾向于最小化持久存储上的 I/O,以获得一些优势:可靠性、速度和成本。

您可以通过了解如何创建和修改 initrd 文件的任何通用 Linux 发行版来了解如何完成此操作。

于 2013-12-03T02:37:05.683 回答