以前的uboot支持uImage格式的linux镜像,由于uImage的产生是经过多重压缩之后得到的,故,启动时,需要多次解压,造成的结果就是引导系统需要花费很长的时间,并且,这样引导的系统,在使用网络摄像头功能时会出现IE中看到的图片有花纹,或工作一段时间就停止了的情况,这个和uImage格式在解压时有关系;
而现在修正版本的u-boot支持zImage格式了,该格式的产生只经过了一次压缩,故,zImage格式的内核启动速度比uImage格式的快了3到4倍,同时,良好的解决了网络摄像头功能会出现花纹或不工作的情况。
为了生成zImage文件,请在配置完毕内核之后,改以前的“make sky2440”为“make zImage”,会在arch/arm/boot/目录下下面生成zImage文件,然后复制它,烧写到内核中即可。
另:关于网络摄像头出现花纹的分析:当uImage加载到内存中时,首先是加载到0x3200000的位置,然后再解压,最后才是放到0x30008000的位置,然后由uboot跳转到该位置启动linux内核;而使用zImage格式时,uboot直接把zImage格式的内核加载到0x30008000的位置,然后跳转启动linux。而同一个内核同样的配置单,编译出来的zImage格式和uImage格式的文件,在运行网络摄像头时,zImage不会出现花纹或不工作,而uImage就会,在根据上面的分析,个人觉得,问题出在0x32000000那次解压上面 |