程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用Uboot啟動內核並掛載NFS根文件系統,ubootnfs

使用Uboot啟動內核並掛載NFS根文件系統,ubootnfs

編輯:關於C語言

使用Uboot啟動內核並掛載NFS根文件系統,ubootnfs


配置編譯好內核之後,將生成的內核文件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狀態時只有使用網絡命令才可以使能網卡,因而問題的原因可能是內核對應的網卡驅動沒有使能網卡導致。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved