hman@hman
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“恩,学习了”
“zImage是ARM Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从uImage的0x40位置开始执行,zImage和uImage没有任何区别。另外, Linu…”
“这个是摘自uboot的do_bootm函数的,注释都写的是zImage。是不是uboot的版本不一样? #ifdef CONFIG_ZIMAGE_BOOT #define LINUX_ZIMAGE_MAGIC 0x016f2818 if (*(ulong *)(addr + 9*4) == LINUX_ZIMAGE_M…”
“恩? 不是吧,我的kernel编译出来就是zImage,你可以看看makefile的zImage目标。 zImage load到内存是自己解压缩的 【 在 ArmStrong 的大作中提到: 】 : bootm启动的是uImage,uImage是uboot把zImage打包,加了一个48字节的头,bootm的时候 : …”
“另外在uboot的do_bootm中有这么一句,是启动zImage的。 if (*(ulong *)(addr + 9*4) == LINUX_ZIMAGE_MAGIC) 我看了这个LINUX_ZIMAGE_MAGIC和head.S里面的0x016f2818一样。 但是我怎么也没算明白这个地址为什么要偏移addr + …”
“你是用go addr? 我是用bootm addr 你这个addr是怎么选定的?”
“ls的回答忒专业了点”
“还有, large page descriptor里面有四个 access permission bits, 为啥有四个啊? 到底看哪个呢? 这个ap就相当于x86里面的ring0 ring4之类的?”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。