配置編譯好內核之後,將生成的內核文件uImage拷貝到/tftpboot/下,通過tftp服務器將內核下載到開發板,使用命令:tftp 31000000 uImage.下載完成之後配置bootargs環境變量:setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.118:/home/rootfs,proto=tcp,nfsvers=3 ip=192.168.1.119:192.168.1.118:192.168.1.1:255.255.255.0::eth0:off
由於掛載nfs文件系統時默認使用udp協議,dm9000出現頻繁丟包(丟包率大於50%),將網絡協議改為tcp解決問題。
配置完啟動參數後運行bootm 31000000可啟動內核並掛載nfs系統。
但是將內核文件燒寫到nand flash並配置bootcmd命令:setenv bootcmd nand write 31000000 300000 300000\;bootm 31000000
重啟開發板發現內核成功啟動但是掛載根文件系統失敗:
錯誤信息提示找不到網卡,實驗發現,如果在bootm命令之前運行了tftp命令則系統可以掛載成功,如果沒有運行tftp命令則bootm不成功。在網上搜索發現開發板運行在uboot狀態時只有使用網絡命令才可以使能網卡,因而問題的原因可能是內核對應的網卡驅動沒有使能網卡導致。