2019.3.22[Zedboard上運行Linaro系統](三):編譯內核和設備樹

文章地址:http://blog.csdn.net/yake827/article/details/51980181

1.下載內核(建議直接下載xilinx-v15.2)

$ git clone https://github.com/Xilinx/linux-xlnx.git

$ cd linux

2.爲方便管理,內核版本統一使用xilinx-v15.2

$ git checkout -bxilinx-v15.2

3.配置編譯器環境

$ export ARCH=arm

$ export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

4.配置內核環境

$make xilinx_zynq_defconfig

5.編譯uImage內核程序,首先要把mkimage程序加載進去

$sudo apt-get install u-boot-tools

$ make uImage LOADADDR=0x00008000

編譯完成後生成的uimage就是我們需要的內核映像程序。

6.編譯設備樹device tree

首先在arch/arm/boot/dts/zynq-zed.dts(gedit arch/arm/boot/dts/zynq-zed.dts)中更改bootargs,改爲:

// bootargs =“console=ttyPS0,115200 root=/dev/ram rw initrd=0x1100000,33Mip=:::::eth0:dhcp earlyprintk”;

bootargs =“console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4rootwait devtmpfs.mount=0”;

完成這一步之後,linux就變爲從SD卡的第二分區中掛載根文件系統。

其次,設備樹進行卡一半內存作爲共享內存留給PL-PS交互,修改設備樹文件zynq-zed.dts,如下:
memory {
device_type = “memory”;
reg = <0x0 0x10000000>;

接下來在內核中編譯設備樹文件。

$./scripts/dtc/dtc –I dts –O dtb -o devicetree.dtb arch/arm/boot/dts/zynq-zed.dts

編譯出來的devicetree.dtb就是我們需要的設備樹文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章