我正在开发一个嵌入式项目来优化minnowboard上的启动时间。 目前我正在使用u-boot。使用压缩内核 (bzImage)一切正常,我想检查性能 未压缩的内核(vmlinux)。
我读到u-boot不能支持原始vmlinux,我需要 使用u-boot工具生成uImage。
我尝试从vmlinux创建uImage - 但我没有 了解-a(加载地址)和-e(入口点)是什么 指着?我假设它与加载时使用的加载地址相同 从SD卡到RAM的内核映像。
uImage creation:
mkimage -A x86 -O linux -T kernel -C none -a 0x01000000 -e 0x01000000 -n Linux -d vmlinux uImage
Image Name: Linux
Created: Wed Jun 22 17:03:17 2016
Image Type: Intel x86 Linux Kernel Image (uncompressed)
Data Size: 21966248 Bytes = 21451.41 kB = 20.95 MB
Load Address: 01000000
Entry Point: 01000000
现在,在启动时,我发现内核没有运行,而且正在运行 以下错误消息,
reading uImage
21966312 bytes read in 481 ms (43.6 MiB/s)
Wrong Image Format for bootm command
ERROR: can't get kernel image!
bootcmd是
"bootcmd=fatload mmc 0:1 01000000 uImage ; bootm 01000000"
你知道为什么会这样吗?