第一天用fs2410从网络挂载linux内核和文件系统成功后,开始自己配置u-boot。
第二天配置自己的u-boot,可以把内核烧写在NAND Flash内存了。
第三天就是噩梦的开始,好事不过三。
早上编译好内核,用自己的u-boot,准备着通过网络下载内核和文件系统,在自己的ubuntu上已经确认了TFTP服务正常、NFS服务正常
一切都准备好了。就绪:打开开发板的终端,打开开发板的电源,终端显示u-boot工作正常,和我的ubuntu配合的很好。第二步工作:给u-
boot配置环境,设置IP,设置bootcmd 参数,设置 bootargs参数。好了,就最后一步了:重启开发板,成功与否就在这一按。板子重新工作
了,终端显示了一串的的“#”并完美的结束了,说明下载成功,噼噼啪啪的又打印了一行一行的文字最后停在了“Looking up port of RPC
100003/2 on 192.168.7.115”那里,等了好久好久,最后提示VFS失败,内核失败。
最初怀疑是NFS工作不正常,因为是在虚拟机使用ubuntu,听过老师傅说过在虚拟机下会有这种情况。以是我就找NFS的问题,但确定了
NFS工作正常。我该怀疑开发板的网卡了,换来别人的开发板,再次配置u-boot,启动正常,成功引导内核挂载了文件系统,但再换回了我的板
子就是不行。是不是听起来问题的答案就浮在了水面:开发板网卡坏了?
第三天就要结束了。问题就撂在那,等明天去换板。听起来还不错可以换新货了。
第四天,板子拿去别人那叫人换,先拿来一个可以的开发板。回来一上电,恩。。。也是不行?看来第一次怀疑是不对的。有拿回我的
板子,这次是把我的板子拿到别人的环境下测试,恩。。。,成功。还是我的开发环境问题。
好吧,那就慢慢来分析了。
先从虚拟的ubuntu开始,因为之前更新过,怀疑从此有问题只是还没发现,用新的ubuntu。依然不行。
开始考虑是不是VM虚拟机某个时候自动更新了,硬件不兼容啊,重装一遍。还是不行。
该去哪考虑呢?XP系统,与它有观点几率也太小了吧,但是问题已经到了如此地步,只好让XP复活一次了。这XP也够大了,都要大半
个钟,只好吃饭了。
几乎每次启动尝试我都是按照写好的配置复制到u-boot下,一天也要快过去了,这板子都要给我烧了一天。
吃完饭回来,有要重新安装VM了,配置好环境又一天过去了。
第五天,我已经做好的了最好的打算,主机。好,搬来一台主机,先配好所有的环境。结果到最后的那一按,还是出现最初的那个提
示。现在我这的好像找个地方哭去了。
老天真会眷顾人。
哦,也许这是我运气不够好,这开发板与我不合。好,那么东西都给你换了,我也真够意思的,最后连人也换了。这回我我叫来一个成
功“挂过”的家伙来。他来看了看我的整个过程,他就开始怀疑我的内核和u-boot不匹配,我也觉得有点道理,即使不是,我那内核文件从XP
到虚拟机来回拷也多少损了点吧,曾经有过坏过文件的经历。试过了换内核和换u-boot也是还不行。
最后就该了一下配置,恩。。。,启动成功?伙计说他也不确定。于是就这两个配置切换了一下,这是这该死的配置错了。
他在我的配置setenv bootargs root=nfs nfsroot=192.168.7.115:/source/rootfs init=/linuxrc console=ttySAC0,115200 后面加了ip=192.168.7.175
几十年的老师傅都搞不定,他来按几下键盘就让那开发板听他使唤了?我真不服气。
回头思考:就是因为“配置”这个关键的问题,导致了u-boot与内核参数传递不成功,因为u-boot下载内核使用TFTP协议,而内核挂载
文件系统的时候用到RPC协议,要指定自己的IP接受ubuntu的服务。我一开始没注意自己的参数的设置,只是懂得参数的作用,协议部分
我的不懂了,我看了那个IP跟前面的一样觉得多余就把人家的删了,结果就酿出祸来了。也因为问题的分析不够透彻就开始行动了,导致最后
浪费那么多精力。所以应该先把问题分成内部很外部来解决。