see*_*har 9 linux boot linux-kernel root-filesystem
我对嵌入式 Linux 非常陌生。我们使用 poky 构建系统。我们只是使用 bitbake linux-imx 命令来构建内核。它生成一些文件 zImage、rootfs、uboot 以及一个 sdcard 映像。我们只需复制 sdcard 映像并在我们的自定义板上运行 linux。我的问题 rootfs 和 zImage 实际上包含什么?
小智 10
要了解每个文件负责什么,您应该了解 MPU 是如何启动的。
正如我从您的问题中了解到的,您使用 NXP(飞思卡尔)i.MX 微处理器系列。它包括小型 ROM 加载程序,它将进行基本的系统设置(内存接口、时钟树等),搜索要从中启动的媒体(基于烧录的 OTP 位或 GPIO),在数据表中指定的确切地址,加载并启动它。U-boot 将初始化更多接口(例如以太网),找到应该传递给内核的参数(屏幕设置、控制台、网络设置,如果您使用 NFS),将内核复制到 DDR 并传递所有参数。内核将加载所有驱动程序,并搜索包含所有库、应用程序等的 rootfs。此后内核将启动 init 脚本,它将初始化所有系统并启动您的应用程序。
zImage是编译内核的实际二进制映像。这是引导加载程序将加载并尝试执行的内容(我相信在嵌入式 linux 上它以某种方式直接写入引导扇区;请参阅您的嵌入式 linux 发行版手册以获取说明)rootfs 是所谓的 INITial RamDisk(也称为 initrd)映像,它包含内核启动到可以挂载实际根文件系统的状态所需的一切。uboot是嵌入式linux使用的引导加载程序;它基本上告诉 BIOS(基本输入输出系统)zImage使用告诉zImage在哪里可以找到根文件系统的选项运行,以便它知道如何启动。如果我不得不猜测,我会冒险在生成实际 SD 卡映像的过程中创建所有这些文件,即使您不再需要手动将前三个文件添加到最终映像中。
| 归档时间: |
|
| 查看次数: |
18227 次 |
| 最近记录: |