发 帖  
原厂入驻New
【创龙TLZ7x-EasyEVM评估板试用连载】PetaLinux安装+Uboot编译+内核编译
2020-6-6 15:04:03  155 Linux
分享
本帖最后由 yinwuqing 于 2020-6-6 19:06 编辑

    开发板收到已经有段时间,今明两天是周末,现将PetaLinux安装、Uboot编译以及内核编译的过程与大伙分享分享。PetaLinux是xilinx公司推出的嵌入式Linux开发工具,专门针对Xilinx公司的FPGA、SoC开发平台,用户可以在PetaLinux工具的帮助下进行完整的开发流程,包括设计、验证、仿真和下载等,此次使用PetaLinux工具来进行U-Boot、Linux内核编译。
     首先按搭建环境的说明文档,安装好Ubuntu虚拟环境,然后更新系统软件:sudo apt-get update,接着安装g++编译器及依赖库。然后在用户的根目录新建一个“Zynq”的文件名,在该文件夹下再新建一个PetaLinux文件夹,将共享目录下的petalinux-v2017.4-final-installer.run安装包拷贝到PetaLinux文件夹下。
拷贝安装.png
    然后以普通用户的身份安装,出现“Press Enter to display the license agreements”提示后按回车键,系统会用vi打开一个license的说明。按q退出,然后输入y,重复上述操作,累计输入三个y。
回车.png
输入q.png
重复三次确认.png
     出现如下对话框,再次输入y
再次y.png
      总共用时十分钟左右,最后完成安装如下:
安装完成.png
    为了节省磁盘空间,及时删除掉PetaLinux安装包,然后将PetaLinux交叉编译工具链使能到环境变量中,执行source /home/argent/Zynq/PetaLinux/settings.sh,结果出现两处警告,如下图所示:
两处警告.png
   然后更改默认shell为bash,执行命令:sudo dpkg-reconfigure dash
更改默认shell为bash.png
   接着安装TFTP服务,再次使能环境变量时就不再出现警告了,此时在终端中输入ARM,然后再连续按下两次Tab键,则会出现以下信息
输入arm后敲两下Tab键.png
    关于U-Boot的编译,我们首先在Zynq的目录下新建Linux-system文件夹,然后在该文件夹中再新建U-Boot-2017.01文件夹,然后将共享目录Linux-system\U-Boot\U-Boot-2017.01\src\中的“u-boot-xlnx-gf812dfb-v1.0.tar.gz”拷贝到新建的U-Boot-2017.01文件夹中,再解压。解压完成后可删除拷贝的压缩文件。
U-Boot.png
    然后使能环境变量。U-Boot编译需要用到PetaLinux交叉编译工具链,使用交叉编译工具链前,需要先使能PetaLinux安装目录下的环境变量配置文件settings.sh。使能环境变量后,交叉编译工具链即可使用。然后再进入到U-Boot-2017.01文件夹中,先删除所有的编译生成文件,执行:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean,然后配置U-Boot如下图所示:
配置U-Boot.png
   配置好U-Boot好,执行make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j 16,编译完成后会在U-Boot源码的顶层目录生成u-boot.bin文件,u-boot.bin即为Bootloader二级引导文件,如下图所示:
u-boot编译完成.png
     关于Linux内核编译,同样的方法,先在Linux-system目录下新建kernel文件夹,然后再将共享目录下Linux-system\kernel\src\中的“linux-xlnx-gee6f0c1-v1.2.tar.gz”文件拷贝到新建的kernel文件夹下,然后再解压。
解压kernel压缩包.png
     接着先使能环境变量,然后再清除之前所有的编译生成文件。接着配置Linux内核
配置Linux内核.png
    配置内核有两种方式,有通过指令配置,即“make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig”。另外是图形界面配置方式,执行“make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig”则会出现如下图形界面
图形配置内核.png
    接着使用键盘上下键和空格键进行选择,每个选项前都会有一个括号供用户选择,选择项为空表示不选中此选项,"*"表示选中此选项并编入内核,"M"表示选中此选项并编译成模块。根据实际需求修改Linux内核配置后,选择“<Save>”保存配置,并选择“<Exit>”退出。
    这样配置的实质,最终还是在对.config文件进行修改
保存配置到.config中.png
    然后执行命令“make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- UIMAGE_LOADADDR=0x02080000 uImage -j 16”,完成编译内核,过程历时十五分钟左右
编译内核完成.png
     编译完成后,在Linux内核源码安装目录的“arch/arm/boot”路径下,会生成内核镜像文件uImage,将其替换SD系统启动卡文件系统rootfs分区boot目录下同名文件即可。
    接着编译设备树,在Linux内核源码安装目录下,执行命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zynq-zc702.dtb,编译生成dtb设备树文件。编译TLZ7xH-EVM的动态设备树,执行命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zynq-zc706-overlay.dtbo
编译设备树.png
     编译安装驱动模块,需要在Linux内核源码安装目录,执行命令“make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j 16”,即可完成驱动模块的编译。
编译驱动模块.png
     以上就是此次PetaLinux安装+Uboot编译+内核编译体验的全部过程,感觉还是挺顺畅的,创龙科技提供的文档讲解的很是详细,包括会出现的异常情况,技术支持相当给力。这次就分享到这里啦,后续持续更新,敬请期待!
0
2020-6-6 15:04:03   评论 分享淘帖

只有小组成员才能发言,加入小组>>

52个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表