既然要使用網(wǎng)絡(luò)啟動開發(fā)板,那么雙方(開發(fā)板、ubuntu)就要確保網(wǎng)絡(luò)是聯(lián)通的,假設(shè) ubuntu 的 IP 為 192.168.1.16,開發(fā)板的 IP 為 192.168.1.30。 開發(fā)板 uboot 使用光盤資料中最新源碼,Net: eth1: ethernet@fe010000, eth0: ethernet@fe2a0000,iTOP-3568 開發(fā)板有倆個網(wǎng)口,都支持 uboot 網(wǎng)絡(luò),作者選擇使用 eth1,如下圖所示: ![]() 首先,在 U-boot 中設(shè)置開發(fā)板 IP 為 192.168.1.16,ubuntu 服務(wù)器 IP 地址為 192.168.1.30,設(shè)置網(wǎng)關(guān)的 地址為 192.168.1.1,這里的地址要根據(jù)自己的實際情況進行設(shè)置,如下所示: setenv ipaddr 192.168.1.16 setenv serverip 192.168.1.30 setenv gateway 192.168.1.1 然后,在 U-boot 中使用 ping 命令測試開發(fā)板與 NFS 服務(wù)器是否連通(出現(xiàn)“alive”就表示聯(lián)通): => ping 192.168.1.30 ![]() 最后,在 U-Boot 模式下輸入以下命令 我們輸入以下命令燒寫 boot.img 和設(shè)備樹文件,注意!!!設(shè)備樹的文件名字要根據(jù)實際的屏幕來設(shè) 置成對應(yīng)的設(shè)備樹文件。 setenv bootcmd "tftpboot 0x0027f800 boot.img ; tftpboot 0x08300000 rk3568-evb1-ddr4-v10-linux.dtb;bootm 0x0027f800 - 0x08300000" 我們再輸入以下命令掛載文件系統(tǒng),注意 nfs 掛載目錄要根據(jù)實際情況進行修改。 setenv bootargs "root=/dev/nfs root=/dev/nfs nfsroot=${serverip}:/home/topeet/ubuntu20desktop,v3 rw ip=${ipaddr} ![]() ![]() ![]() 然后我們輸入 saveenv 保存環(huán)境變量。 ![]() 最后輸入以下命令,等待網(wǎng)絡(luò)下載內(nèi)核和設(shè)備樹,然后掛載文件系統(tǒng)。 env run bootcmd ![]() 在開機內(nèi)核日志出現(xiàn)如下日志,說明已經(jīng)掛載上了網(wǎng)絡(luò)根文件系統(tǒng)。 ![]() 文件系統(tǒng)起來以后,在 ubuntu 的/home/topeet/ubuntu20desktop 目錄下新建一個文件,你會發(fā)現(xiàn)在開 發(fā)板也會有相同的文件,這樣可以方便調(diào)試。 更多內(nèi)容關(guān)注:北京迅為 |