1. 程式人生 > >u-boot 2015tftp及nfs

u-boot 2015tftp及nfs

首先在ubuntu上面安裝tftp,明遠的ubuntu已經配置好,就不重新下載安裝了
片描述

把核心檔案及裝置樹檔案拷貝到tftp目錄
在這裡插入圖片描述

再看看nfs需要注意的地方,ubuntu裡相應的目錄要設定屬性
在這裡插入圖片描述

明遠的核心及u-boot
在開發板u-boot命令配置環境變數
3.14.52:
setenv ipaddr 200.200.4.234
setenv serverip 200.200.4.233

//有init=/linuxrc
setenv netargs setenv bootargs console=ttymxc0,115200 ip=200.200.4.234:200.200.4.233:200.200.4.1:255.255.255.0::eth0:off init=/sbin/init root=/dev/nfs rw nfsroot=200.200.4.233:/my-imx6/05_rootfs/rootfs/myzr-rootfs/3.14.52/rootfs-qt5 v3,tcp
saveenv

這四條命令依次執行後,然後ping 200.200.4.233確保能ping通虛擬機器

//本次從tftp,nfs啟動
setenv bootcmd tftpboot 0x12000000 zImage-myimx6a9;tftpboot 0x18000000 myimx6ek200-6u.dtb;run netargs;bootz 0x12000000 - 0x18000000 && run bootcmd
這調對環境變數設定的命令之所以不儲存到flash是因為,並非每次都會選擇從tftp下載核心,nfs啟動根檔案系統,需要除錯的時候再用就行了

//一直從tftp,nfs啟動
setenv bootcmd tftpboot 0x12000000 zImage-myimx6a9;tftpboot 0x18000000 myimx6ek200-6u.dtb;run netargs;bootz 0x12000000 - 0x18000000
saveenv

恢復從mmc啟動
setenv bootcmd mmc dev ${mmcdev}; if run loadimage; then run mmcboot; else run netboot; fi;

//tftp下載核心,nfs啟動yocto的檔案系統
setenv ipaddr 200.200.4.234
setenv serverip 200.200.4.233

setenv netargs setenv bootargs console=ttymxc0,115200 ip=200.200.4.234:200.200.4.233:200.200.4.1:255.255.255.0::eth0:off init=/sbin/init root=/dev/nfs rw nfsroot=200.200.4.233:/my-imx6/05_rootfs/rootfs/yocto/rootfs-qt5 v3,tcp
saveenv

只從tftp,nfs啟動一次
setenv bootcmd tftpboot 0x12000000 zImage-myimx6a9;tftpboot 0x18000000 myimx6ek200-6u.dtb;run netargs;bootz 0x12000000 - 0x18000000 && run bootcmd

//一直從tftp,nfs啟動
setenv bootcmd tftpboot 0x12000000 zImage-myimx6a9;tftpboot 0x18000000 myimx6ek200-6u.dtb;run netargs;bootz 0x12000000 - 0x18000000
saveenv

恢復從mmc啟動
setenv bootcmd mmc dev ${mmcdev}; if run loadimage; then run mmcboot; else run netboot; fi;

注:若在3.14.52裡面按照上述方式配置了tftp及nfs啟動,需要重新燒錄一次3.14.52系統或者將環境變數恢復為預設,然後才能燒錄3.0.35的系統