由于uboot的不支持直接引导zImage内核镜像,所以寻思添加命令使其可以直接引导zImage,其实网上已有牛人早实现了,只是有些地方不太清除,所以这里也算是整理一下。
主要修改文件:
1、添加命令bootzImage,实现文件为cmd_bootzImage.c,位于common/目录下,内容为:
1 #include <common.h>
2 #include <command.h>
3
4 #ifdef CONFIG_CMD_BOOTZIMAGE
5
6 #define LINUX_PAGE_SHIFT 12
7 #define LINUX_PAGE_SIZE (1<<LINUX_PAGE_SHIFT)
8 #define LINUX_MACHINE_ID 1099//根据平台修改
9
10 void do_bootzImage(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
11 {
12 int i;
13 u32 addr;
14 char *cmdline = getenv("bootargs");
15 void(*run)(int zero, int arch);
16 struct param_struct *params = (struct param_struct *)0x20000100;//这里要注意根据平台的不同修改,