此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。
目录
一. 单独编译UBoot
2.1.拷贝源码
2.拷贝配置文件
3.编译
二. 单独编译内核源码
2.1 复制内核源码
2.2 复制配置文件( 根据芯片,32位复制到arch/arm/configs, 64位到arch/arm64/configs)
2.3 复制.its文件,用于生成image.ub, 可复制到linux源码顶层目录,和Makefile同级
2.4 Makefile 配置芯片架构以及编译工具链
2.5 使能配置
2.6 移植设备树文件
2.7 生成镜像
一. 单独编译UBoot
当Uboot源码使用默认配置,从网络下载时,需要进行步骤2.1,若使用本地源码,可跳过步骤2.1
2.1.拷贝源码
在工程目录:build/tmp/work/zynqmp_generic-xilinx-linux/u-boot-xlnx/v2020.01-xilinx-v2020.1+git999-r0/u-boot-xlnx-v2020.01-xilinx-v2020.1+git999/source目录下拷贝源码
2.拷贝配置文件
在工程目录:build/tmp/work/zynqmp_generic-xilinx-linux/u-boot-xlnx/v2020.01-xilinx-v2020.1+git999-r0/u-boot-xlnx-v2020.01-xilinx-v2020.1+git999
拷贝.config文件到源码的configs目录下备用
3.编译
make alinx_config_done_defconfig
make menuconfig
取消u-boot.itb镜像文件生成,否则报错
make -j12 编译,编译完成,可将生成的uboot.bin和uboot.elf拷贝到petalinux工程中,生成BOOT.bin启动文件
二. 单独编译内核源码
当Linux源码使用默认配置,从网络下载时,需要进行步骤2.1,若使用本地源码,可跳过步骤2.1
2.1 复制内核源码
2.2 复制配置文件( 根据芯片,32位复制到arch/arm/configs, 64位到arch/arm64/configs)
2.3 复制.its文件,用于生成image.ub, 可复制到linux源码顶层目录,和Makefile同级
2.4 Makefile 配置芯片架构以及编译工具链
/tools/Xilinx/Vitis/2022.1/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-
2.5 使能配置
make xilinx_petalinux_defconfig
2.6 移植设备树文件
将petalinux工程下相应文件设备树移植到linux源码中相应目录下
复制include 文件夹,和pcw.dtsi,system-conf.dtsi,system-top.dts,zynqmp-clk-ccf.dtsi,zynqmp.dtsi到linux源码中的arch/arm64/boot/dts/Xilinx
复制petalinux工程目录:project-spec/meta-user/recipes-bsp/device-tree/files下的设备树源文件linux源码中的arch/arm64/boot/dts/Xilinx
删除多余的.dts文件,最终移植好的文件内容如下:
修改Makefile, 为如下内容
2.7 生成镜像
1.编译 make
2.生成imga.ub
aarch64-linux-gnu-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
gzip -9 linux.bin
mv -f linux.bin.gz linux.bin
mkimage -f fit-image.its image.ub文章来源:https://www.toymoban.com/news/detail-690848.html
文章来源地址https://www.toymoban.com/news/detail-690848.html
到了这里,关于【Xilinx】开发环境(五)- 基于Petalinux配置,单独编译uboot,Linux内核的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!