0、说明
? ? ? ? 之前通过使用petalinux构建ZYNQ Linux系统,依赖于对petalinux的理解,本节通过最原始的方法编译ZYNQ系统。即获取源码,然后对源码独立编译,打包后烧录。
1、环境
1.1硬件环境
1.2软件环境
- VM ubuntu 18.04
- windows 10
1.3资源下载准备
????????通过petalinux完成配置内核后,在工程的build/downloads目录下有git2_github.com.Xilinx.linux-xlnx.git.tar.gz,且完成编译后,在./build/tmp/work-shared/zynqmp-generic/kernel-source目录下有解压后的内核源码,这里使用后者作为源码。
????????下载poky-glibc-x86_64-meta-toolchain-aarch64-toolchain-2.3.3.sh,并设置环境变量。也可以使用官方的工具链。
????????https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842547/Install+Xilinx+Tools
编译内核
将源码路径独立维护
配置config
使用kernel下的./arch/arm64/configs/xilinx_zynqmp_defconfig配置
make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- xilinx_zynqmp_defconfig
编译
make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- ?-j 4
输出文件
????????内核:arch/arm64/boot/Image
????????DTS:arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dtb
打包内核
????????petalinux时将BOOT.BIN、image.ub、?boot.scr放置到了SD卡的第一个启动分区中。image.ub中包含内核。那么image.ub如何制作呢?
? ? ? ? 使用mkimage工具,通过its文件,打包。具体在通过its打包linux内核单独说明。
|