打印
[i.MX]

imx6q 内核大小不能超过4M

[复制链接]
1736|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kqqnhzl|  楼主 | 2016-3-10 13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的imx6q 4 核  linux 内核为3.05 ,由于加上了内核** 导致内核超过了4M ,uboot引导内核失败。你们有解决的办法吗!

hzl@hzl-virtual-machine:imx6q_nfs$ du -sh uImage
4.2M    uImage
hzl@hzl-virtual-machine:imx6q_nfs$
//////////////////////////////////////
MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK
## Booting kernel from Legacy Image at 10800000 ...
   Image Name:   Linux-3.0.35
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4318996 Bytes =  4.1 MB
   Load Address: 10008000
   Entry Point:  10008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!


相关帖子

沙发
kqqnhzl|  楼主 | 2016-3-11 11:54 | 只看该作者
参考我博文:
xiaohuangzhilin的专栏
解决办法:

碰到这种情况,将 bootcmd加载空间扩大即可



原来的环境变量:
MYIMX6EK200 > pri
bootdelay=3
baudrate=115200
ipaddr=192.168.18.81
serverip=192.168.18.18
netmask=255.255.255.0
loadaddr=0x10800000
rd_loadaddr=(0x10800000 + 0x300000)
netdev=eth0
ethprime=FEC0
uboot=uboot-myimx6ek200-6q.bin
kernel=uImage-myimx6ek200
ethaddr=00:01:02:03:04:05
nfsroot=/home/myzr/srv/nfs/rootfs
bootargs_base=setenv bootargs console=ttymxc0,115200  video=mxcfb0:dev=ldb,LDB-1024X600,if=RGB666
bootargs_mmc=setenv bootargs ${bootargs} ip=none root=/dev/mmcblk0p1 rootwait
bootcmd_tftp=run bootargs_base bootargs_mmc; tftpboot ${loadaddr} ${kernel}; bootm
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=${ipaddr} nfsroot=${serverip}:${nfsroot},v3,tcp
bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm
bootcmd=run bootcmd_mmc
update_uboot=tftpboot ${loadaddr} ${uboot}; sf probe 1; sf erase 0 0x200000; sf write ${loadaddr} 0 0x80000
update_uImage=tftpboot ${loadaddr} ${kernel}; mmc dev 2; mmc write ${loadaddr} 0x800 0x2000
splashimage=0x30000000
splashpos=m,m
lvds_num=1
ethact=FEC0
bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 2; mmc read 0x10800000 0x800 0x2000; bootm
stdin=serial
stdout=serial
stderr=serial

Environment size: 1160/8188 bytes
修改 set bootcmd_mmc "run bootargs_base bootargs_mmc; mmc dev 2; mmc read 0x10800000 0x800 0x2500; bootm"
保存配置:
save


使用特权

评论回复
板凳
mini1986| | 2016-3-15 09:50 | 只看该作者
因为你读的内核不全,导致的吧......

使用特权

评论回复
地板
free_tend| | 2016-3-17 09:25 | 只看该作者
mmc read 0x10800000 0x800 0x2000
这里读取大小改成0x3000就可以了吧

使用特权

评论回复
5
kris_fei| | 2016-3-24 15:37 | 只看该作者
修改分区表试试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝