引言:作为新手,第一次移植Linux操作系统,走了许多弯路。为了整理成果,特写下本条博客,待日后查看。
1. 工具准备
- 安装交叉编译器 arm-xilinx-linux-gnueabi.bin
-
linux内核源码(可从Xilinx或Digilent的GitHub中下载):
- Xilinx linux-xlnx
- Digilent linux-Digilent-Dev
本文使用的为Digilent GitHub中的Linux-4.4.0内核源码 点此前往
注:其实从github.com/Digilent/linux-Digilent-Dev中的Forked from Xilinx/linux-xlnx,我们可以看出linux-Digilent-Dev是folk(派生)自Xilinx,下同。
- U-Boot源码:
- Xilinx u-boot-xlnx
- Digilent u-boot-Digilent-Dev
- 文件系统
2. U-Boot的制作
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zed_defconfig
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-
3. Linux内核编译(包含添加RTL8192CU和Webcam驱动)
编译内核
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- xilinx_zynq_defconfig
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- uImage UIMAGE_LOADADDR=0x02080000
4. 设备树文件介绍及制作过程
由dts生成dtb文件
dtc -I dts -O dtb -o devicetree.dtb devicetree.dts
由dtb生成dts文件
dtc -O dtb -I dts -o devicetree.dts devicetree.dtb
5. 制作文件系统
mount ramdisk8M.img /mnt