首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是zImage,rootfs

什么是zImage,rootfs
EN

Unix & Linux用户
提问于 2016-07-11 11:58:38
回答 2查看 23.4K关注 0票数 12

我对嵌入式Linux非常陌生。我们使用poky构建系统。我们只使用命令来构建内核。它生成一些文件zImage、rootfs、uboot和sdcard映像。我们只需复制sdcard映像并在自定义板上运行linux。我的问题是,rootfs和zImage实际上包含哪些内容??

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-07-11 12:40:47

要理解每个文件对您负责的是什么,应该了解MPU是如何启动的。

我从您的提问中了解到,您使用的是NXP (飞思卡尔) i.MX微处理器系列。它包括小型ROM加载程序,它将使基本的系统设置(内存接口、时钟树等)、搜索要引导的媒体(基于刻录的OTP位或GPIO)、在数据表中指定的确切地址中查找引导加载程序(在您的情况下为u引导),加载并启动它。use将插入更多的接口(例如以太网),查找应该传递给内核的参数(屏幕设置、控制台、网络设置(如果使用NFS)、将内核复制到DDR并传递所有参数。内核将加载所有驱动程序,并使用所有库、应用程序等搜索rootfs。在此之后,内核将启动init脚本,该脚本将插入所有系统并启动应用程序。

  1. U引导是在ROM引导加载程序之后首先启动的东西.如果您希望MPU在没有操作系统的情况下运行裸金属代码(比如微控制器),您可以用自己的代码替换它。
  2. zImage是自解压缩的Linux内核映像的压缩版本.
  3. rootfs是根文件系统,它包含所有应用程序、库,在大多数情况下包括主文件夹。
  4. sdcard映像就是上面提到的所有东西,可以复制到卡上( dd),复制后您将看到带有内核和设备树的FAT分区,以及具有rootfs的EXT分区,u引导位于FAT之前的未分区区域(如果您使用i.MX6,它是0x80000)。只是为了让你的生活更轻松。
票数 11
EN

Unix & Linux用户

发布于 2016-07-11 12:09:41

  • zImage是编译后的内核的实际二进制映像。这就是引导加载程序将加载并尝试执行的内容(我相信,在嵌入式linux上,它以某种方式直接写入引导扇区;有关说明,请参阅您的嵌入式linux发行版手册)
  • rootfs是所谓的INITial RamDisk (也称为initrd)映像,它包含内核引导到可以挂载实际根文件系统的状态所需的所有内容。
  • uboot是嵌入式linux使用的引导加载程序;它基本上告诉BIOS (基本输入输出系统)运行zImage,并提供告诉zImage在哪里找到根文件系统的选项,以便它知道如何启动。

如果我不得不猜测,我会冒险说,所有这些文件都是在生成实际SD卡映像的过程中创建的,即使不再需要手动将前三个文件添加到最终映像中。

票数 6
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/295131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档