我最近在imx6上启动了一些与board up相关的项目,我看到所有项目都会使用u-boot。
我在维基百科( https://en.wikipedia.org/wiki/Das_U-Boot#References )上开始研究u-boot
其中声明u-boot通过读取内核和任何其他相关数据(如dts文件)来引导操作系统,然后使用适当的参数执行内核。然而,当我们加载镜像时,我们只加载u-boot、kernel和rootfs,那么u-boot如何引导操作系统呢?它是否已经存在于电路板内部存储器中?或者内核的运行实例被称为操作系统?
发布于 2019-03-21 20:53:57
您没有提供所使用的确切命令,但是您可能会因为加载了一个名为uImage的文件(您所指的是u-boot内核映像)而感到困惑:
但是,当我们加载映像时,我们只加载u-boot内核和rootfs
如果是这种情况,请注意,它不是u-boot映像(如果可以使用bootm等命令,您已经在运行u-boot ),而是使用u-boot mkimage实用程序创建的u-boot映像格式的Linux内核映像-请参阅here。
uImage实际上是Linux内核映像本身,它是由u-boot实用程序mkimage使用特殊的u-boot格式转换为文件的。
从Linux内核zImage文件创建uImage的典型命令如下:
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d arch/arm/boot/zImage uImage。uImage确实包含Linux操作系统,这就是为什么您能够通过将系统与rootfs一起加载来引导系统。
https://stackoverflow.com/questions/55275034
复制相似问题