# 建立 Zedboard petalinx系統 ## 調整編譯petalinux核心系統環境 電腦作業系統版本:Ubuntu 16.04 petalinux版本:[2018.3](https://www.xilinx.com/member/forms/download/xef.html?filename=petalinux-v2018.3-final-installer.run) vivado版本:[2018.3](https://www.xilinx.com/member/forms/download/xef-vivado.html?filename=Xilinx_Vivado_SDK_Web_2018.3_1207_2324_Lin64.bin) **使用以下指令在ubuntu中建立petalinux工作環境:** ```bash= #建立資料夾,以及改變讀取權限 mkdir -p /home/wonder-system/petalinux_pkg/ chmod a+w /home/wonder-system/petalinux_pkg/ #Installation of Packages sudo apt-get install -y flex bison build-essential libssh-dev gcc git make net-tools libncurses5-dev tftp-server zlib1g-dev libssl-dev bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib zlib1g:i386 screen pax gzip gawk #安裝下載的petalinux-v2018.3-final-installer.run sudo chmod a+x petalinux-v2018.3-final-installer.run ./petalinux-v2018.3-final-installer.run /home/wonder-system/petalinux_pkg/ #將shell設定為bash sudo dpkg-reconfigure dash->選擇No #到/home/wonder-system/petalinux_pkg/執行settings.sh source /home/wonder-system/petalinux_pkg/settings.sh ``` 參考文件: [Embedded Design Hub - PetaLinux Tools](https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug1144-petalinux-tools-reference-guide.pdf#nameddest=PetaLinuxToolsInstallationSteps) --- ## 建立系統資料夾 ```bash= # 從analogdevicesinc下載hdl的檔案 git clone https://github.com/analogdevicesinc/hdl.git git checkout 2019_r1 # 將hdl編譯工具加入環境變數 source /到vivado的路徑/2018.3/settings64.sh # 編譯hdl cd hdl/projects/adv7511/zed make ``` [Building HDL](https://analog-staging.dw1.cosmocode.de/resources/fpga/docs/build) ## 建立petalinux核心資料夾 ```bash= petalinux-create -t project -n petatest_hdmi --template zynq cd petatest_hdmi # 加入adv7511的硬體設定 cd project-spec git clone https://github.com/analogdevicesinc/meta-adi.git cd meta-adi #切到2019_R1分支 git checkout 2019_R1 #回到petatest_hdmi路徑下 # 將系統的硬體指定為analogdeicesinc提供的hdl,並且進入編譯選單 petalinux-config --get-hw-description=/到hdl資料夾的路徑/projects/adv7511/zed/adv7511_zed.sdk/ # 到選單的yocto settings裡面的user layers加入指定兩個路徑 # 1.到meta-adi/meta-adi-core的路徑 # 2.到meta-adi/meta-adi-xilinx的路徑 # 將/meta-adi/meta-adi-xilinx/recipes-bsp/device-tree/device-tree.bbappend裡面的KERNEL_DTB的值修改為zynq-zed-adv7511 #選單中選擇sd 卡為根檔案系統 #回到petatest_hdmi路徑下 petalinux-build # 之後產生的檔案"BOOT.BIN和image.ub,會在image/linux資料夾底下 ``` ## 建立開機檔案和系統檔案到sd卡上面 ```bash= # 產生開機的BOOT.BIN檔 petalinux-package --boot --format BIN --fsbl images/linux/zynq_fsbl.elf --fpga images/linux/system.bit --u-boot images/linux/u-boot.elf ``` 使用系統工具**gparted**切割將sd卡切割成兩個磁區 1. 檔案系統為fat32的BOOT磁區 2. 檔案系統為ext4的rootfs磁區 將BOOT.BIN和image.ub放在BOOT磁區 使用以下指令將rootfs.cpio複製到sd卡的rootfs磁區,並且解壓縮。 ```bash= sudo cp rootfs.cpio /sd卡的rootfs路徑/ sudo pax -rvf rootfs.cpio ``` **最後將sd插入zedboard並使用終端軟體(putty)透過UART孔連線進入linux開機程序。** 密碼:analog 參考文件: [Building with Petalinux](https://wiki.analog.com/resources/tools-software/linux-build/generic/petalinux) ###### tags: `交接` `zynq`