我按照u-boot的PDF文档设置了bootcmd,也将uImage烧写到了nand中,但是将uImage加载到81000000地址后,bootm 810000000时能够将uImage解压,但是打印了boot kernel后就无下文了,应该是内核解压成功了,但是内核无法正常运行啊,请高手指点指点
puxian tian:
回复 Sheng Liu1:
您好,这个加载问题确实是bootargs的问题,现在倒是解决了。我按照手册上的指示设置了bootargs,能够正常启动kernel,但是在挂载NFS时候不能正常挂载,超级终端打印为:
VFS:Unable to mount root fs via NFS,trying floppy
VFS:cannot open root device "nfs" or Unknown – block(2,0)
Sheng Liu1:
回复 puxian tian:
NFS启动你需要两方面检查:
EVM板:bootargs参数设置,主要检查NFS设置路径,Serverip配置,EVM板IP设置
PC:PC上有你的NFS目录,你要检查nfs服务是否打开,在/etc/exports下的nfs目录设置是否正确,共享文件夹的权限(最好777),你电脑的防火墙是否关闭等。
puxian tian:
回复 Sheng Liu1:
关于宿主机的NFS设置应该是没有问题的,我用另一个虚拟机都能够正常挂载宿主机上的NFS目录。目前我的设置跟要求上的设置唯一区别点就是我没有使用DHCP获取IP,而是在u-BOOT命令行直接设置的ipaddr,serverip,netmask,gatewayip。启动参数设置为
setenv bootcmd 'run addip;tftp 81000000 uImage;bootm'
而addip设置与参考手册上的设置一样,只不过不同的是我在设置这些结束后在后面
setenv ipaddr 192.168.235.47
setenv serverip 192.168.235.46
setenv gatewayip 192.168.235.1
setenv netmask 255.255.255.0
我的计算机端的linux ip 为192.168.235.46
能够正常获取uImage,在获取的时候能够使用宿主机ping 目标机
但是在tftp结束后就永远也ping不通了,是否是网络上设置的问题啊?
puxian tian:
回复 puxian tian:
启动参数问题是用SDK目录下的setup.sh脚本文件生成的,但是它生成的参数是用DHCP获取的IP地址,我的这边网络无法动态获取IP,将ip=dhcp部分是用静态ip代替了就好了,具体格式是
ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off
以及将生成Bootcmd的dhcp去掉即可
总之感谢shengliu的回复
alvin lu:
可能是串口配置的问题,建议你看下我写的关于 常见内核引导失败的问题及解决办法。blog.csdn.net/…/7338465
我最近也在搞DM8168.
alvin lu:
还有TI的uboot分nand ,nor,spi,sd。其中你最好关注下你有没有弄错。