制作DeviceTree裝置樹配置檔案
1、打開終端并進入devicetree工具目錄,即輸入以下指令:
cd linux-kernel/arch/arm/boot/dts/
2、編輯檔案digilent-zed.dts,修改SD卡啟動模式,輸入指令:
vim digilent-zed.dts
按照下圖所示修改,修改預設啟動為nfs啟動,并添加伺服器ip位址及nfs檔案系統的目錄和闆卡ip等資訊,修改後儲存并退出。
bootargs = "console=ttyPS0,115200
root=/dev/nfs rw
nfsroot=192.168.0.210:/nfsboot/rootfs ip=192.168.0.230:192.168.0.210:192.168.0.1:255.255.255.0::eth0:off";
3、關于digilent-zed.dts配置檔案中bootargs參數詳解:
在linux-kernels/Documentation/filesystems/nfs/檔案夾中,nfsroot.txt檔案是詳細說明文檔,輸入指令打開此檔案:
vim Documentation/filesystems/nfs/nfsroot.txt
4、nfsroot.txt檔案内容
5、bootargs詳解:
bootargs = "console=ttyPS0,115200
root=/dev/nfs rw
nfsroot=192.168.0.210:/nfsboot/rootfs ip=192.168.0.230:192.168.0.210:192.168.0.1:255.255.255.0::eth0:off";
分别解釋如下:
console :指定控制台的裝置以及波特率
root=/dev/nfs:制定/dev/nfs裝置為根檔案系統
rw: rw參數表示核心以讀寫方式加載根檔案系統。
ro參數表示核心以隻讀方式加載根檔案系統,以便進行檔案系統完整性檢查,比如運作fsck;
nfsroot=192.168.0.210:/nfsboot/rootfs:nfs根檔案系統的目錄: 192.168.0.210伺服器上的 /nfsboot/rootfs目錄
ip=192.168.0.230:192.168.0.210:192.168.0.1:255.255.255.0::eth0:off";:ip的值為:開發闆IP:主機伺服器IP:網關:子網路遮罩:開發闆用到的網卡:不使用自動配置
6、進入核心dts所在目錄
cd /linux-kernel/arch/arm/boot/dts
7、用dtc轉換裝置樹源檔案,生成裝置樹配置檔案
輸入指令:
dtc -I dts -O dtb -o devicetree.dtb digilent-zed.dts
8、複制裝置樹配置檔案到Zynq安裝目錄
輸入指令:cp devicetree.dtb /home/student/zynq/sdk/boot_image/boot