我对嵌入式Linux非常陌生。我们使用poky构建系统。我们只使用命令来构建内核。它生成一些文件zImage、rootfs、uboot和sdcard映像。我们只需复制sdcard映像并在自定义板上运行linux。我的问题是,rootfs和zImage实际上包含哪些内容??
发布于 2016-07-11 12:40:47
要理解每个文件对您负责的是什么,应该了解MPU是如何启动的。
我从您的提问中了解到,您使用的是NXP (飞思卡尔) i.MX微处理器系列。它包括小型ROM加载程序,它将使基本的系统设置(内存接口、时钟树等)、搜索要引导的媒体(基于刻录的OTP位或GPIO)、在数据表中指定的确切地址中查找引导加载程序(在您的情况下为u引导),加载并启动它。use将插入更多的接口(例如以太网),查找应该传递给内核的参数(屏幕设置、控制台、网络设置(如果使用NFS)、将内核复制到DDR并传递所有参数。内核将加载所有驱动程序,并使用所有库、应用程序等搜索rootfs。在此之后,内核将启动init脚本,该脚本将插入所有系统并启动应用程序。
发布于 2016-07-11 12:09:41
zImage是编译后的内核的实际二进制映像。这就是引导加载程序将加载并尝试执行的内容(我相信,在嵌入式linux上,它以某种方式直接写入引导扇区;有关说明,请参阅您的嵌入式linux发行版手册)rootfs是所谓的INITial RamDisk (也称为initrd)映像,它包含内核引导到可以挂载实际根文件系统的状态所需的所有内容。uboot是嵌入式linux使用的引导加载程序;它基本上告诉BIOS (基本输入输出系统)运行zImage,并提供告诉zImage在哪里找到根文件系统的选项,以便它知道如何启动。如果我不得不猜测,我会冒险说,所有这些文件都是在生成实际SD卡映像的过程中创建的,即使不再需要手动将前三个文件添加到最终映像中。
https://unix.stackexchange.com/questions/295131
复制相似问题