操作系统通过U-Boot启动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统通过U-Boot启动相关的知识,希望对你有一定的参考价值。
我最近开始了与电路板相关的项目imx6,我看到u-boot将用于所有项目。
在u-boot上做研究我在维基百科上开始了(https://en.wikipedia.org/wiki/Das_U-Boot#References)
如果它通过读取内核和任何其他相关数据(如dts文件)来声明u-boot启动操作系统,则它会使用适当的参数执行内核。然而,当我们加载图像时,我们只加载u-boot,内核和rootfs,那么u-boot如何启动操作系统呢?它是否已存在于板内存中?或者内核的运行实例是否称为操作系统?
您没有提供您正在使用的确切命令,但您可能因为加载了名为uImage
的文件(您将其称为u-boot内核映像)而感到困惑:
然而,当我们加载图像时,我们只加载u-boot内核和rootfs
如果是这种情况,请注意它不是u-boot映像(如果你可以使用bootm之类的命令,你已经在运行u-boot),而是使用u-boot映像格式创建的Linux内核映像。 u-boot mkimage
实用程序 - 请参阅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来启动系统的原因。
以上是关于操作系统通过U-Boot启动的主要内容,如果未能解决你的问题,请参考以下文章