当前位置: 首页 > news >正文

【ZYNQ Linux移植】1-前期准备

0 写在前面

       这是一个系列博客,详细介绍如何在 ZYNQ 与 ZYNQ MPSoC 平台上如何移植 Linux 系统。目前网络上的大部分教程都是全程基于 Petalinux 的开发,虽然这样简化了开发流程,但对于初学者深入理解掌握 Linux 是不利的,所以,有了这个系列的博客,从几乎为 0 开始教大家怎么移植 Linux 系统。

       本人的软件与环境版本:

       Windows 的 Vivado 与 Vitis 版本:2020.2(前期学习 ZYNQ7020 跟随正点原子安装);

       Ubuntu版本:18.04.2

       虚拟机上的Vivado、Vitis 与 Petalinux 版本:2020.1(前期学习 ZYNQ MPSoC 跟随 Alinx 安装)。

1 设备树模板(Vitis用)

       这里直接给出 Xilinx 官方仓库的超链接,选择与自己电脑 Vivado 与 Vitis版本相对应的下载即可。

在这里插入图片描述

2 u-boot源码

​       u-boot 本质上是一种 bootloader 软件,bootloader 是基于特定硬件平台实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的 bootloader,不同的处理器架构都有不同的 bootloader。

       u-boot官方提供了一个大致的框架,u-boot的官方源码可以在超链接中下载获取。但需要注意的是,uboot 官方的 uboot 源码是给半导体厂商准备的,半导体厂商会下载 uboot 官方的 uboot 源码,然后将自家相应的芯片移植进去,这个移植工作对于我们开发者而言,复杂且没有必要

       Xilinx 有自己维护的 u-boot,可以通过在 Xilinx 的官方 github 仓库 搜索到。这里直接给出超链接。

在这里插入图片描述

​       选择最适合自己的版本进行下载。(建议是与导出 xsa 的 Vivado版本同年或更早的版本)

       把下载好的 u-boot 压缩包放在虚拟机的一个地方(建议新建一个文件夹后续,所有的下载移植相关文件都放在这):

       因为前面 git-hub 下载的是 .zip 文件,这里使用命令进行解压,也可直接右键解压

unzip u-boot-xlnx-xlnx_rebase_v2020.01.zip 

       解压出来里面的文件结构如下:

3 内核源码

       内核源码与 u-boot 同理,我们直接去下载 Xilinx 维护的内核源码即可。

在这里插入图片描述

​       同样是选择最适合自己的版本进行下载。(建议是与前面的 u-boot 保持年份一致)比如我上面下载的是2020.1版本的 u-boot,这里就下载 v5.4 版本的内核(因为 v5.4 是 2020 年出的)。

​       下载好后,转移到虚拟机上,进行解压:

unzip linux-xlnx-xlnx_rebase_v5.4.zip 

       解压出来里面的文件结构如下:

4 根文件系统

​       后续会展示三种根文件系统的移植,一是使用 Petalinux 生成根文件系统;二是 Debian 系统;三是 Ubuntu 系统。其中使用 Petalinux 依赖于其安装和配置时使用的包,如果大家已经完成了 Petalinux 的安装以及相应的配置,就可以直接使用,这里就不做过多介绍了。

4.1 Debian系统

​       前往站点下载 Debian 系统。

在这里插入图片描述

       我这里选择的是发布于 2018 年底的 debian-9.6 系统:

       不过这个站点不是特别快,用国内网大概率会下载失败,建议大家挂上梯子下载

       由于我们下载的事一个 .tar.xz 文件,需要用以下命令进行解压:

tar -xvf debian-9.6-minimal-armel-2018-11-11.tar.xz

       这里额外提一点,.tar.gz 文件是用以下命名解压:

tar -xzvf file.tar.xz

       打开后进入,是下面这个样子:

       最前面的是根文件系统的压缩包,我们需要继续解压缩,注意这里是 .tar 文件,且其解压出来后直接就是根文件系统的那十几个文件夹,所以用以下命令先在上一目录创建一个文件夹,再解压:

mkdir ../debian96
tar -xvf armel-rootfs-debian-stretch.tar -C ../debian96

       这里也解释一下另外两个文件的用处:

       1,image-builder.project 是镜像构建工具的配置文件,用于定义如何构建自定义的 Debian 系统镜像;(我们用不到这个文件);

       2,user_password 是文件系统登录的默认用户名与密码,也不需要特意去记忆,因为到时候移植成功后登录,它会有提示:

在这里插入图片描述

       解压出来的根文件系统如下图所示:

4.2 Ubuntu系统

       前往站点下载 Ubuntu 系统。

       我这里选择的是 18.04.5 的版本。

​       点进去后,点击 “release” ,进入下载页面:

在这里插入图片描述

       这里需要注意,有两个版本,arm64 结尾的是给 64 位处理器用的,ZYNQ MP系列器件选择这个。如果使用的是ZYNQ-7000系列,则选择 armhf 结尾的。我这个系列的演示都是基于ZYNQ MPSoC 系列的 ZU3EG。

       下载移到虚拟机后,与 debian 类似,使用以下命令先创建一个文件夹,再解压:

mkdir ubuntu
tar -xzvf ubuntu-base-18.04.5-base-arm64.tar.gz -C ./ubuntu

       解压出来的根文件系统如下图所示:

5 我使用的版本文件分享

       如果大家只是想用跟我一个版本的相关文件,可以使用以下网盘链接获取:

       链接: https://pan.baidu.com/s/1-q5BB59xfkpdOdW2fssjcQ?pwd=dfpw 提取码: dfpw

相关文章:

  • 【C++初阶】--- string类模拟实现
  • Springboot JPA ShardingSphere 根据年分表
  • CentOS 7无法上网问题解决
  • 由小到大的数列,寻找是否存在一个数的耗时最小的算法
  • Linux红帽:RHCSA认证知识讲解(十 二)调试 SELinux,如何管理 SELinux 的运行模式、安全策略、端口和上下文策略
  • WEB安全--内网渗透--捕获NET-NTLMv2 Hash
  • 【Android Audio】Parameter Framework - pfw
  • 解锁轨道交通 UI 界面设计的奥秘,打造出行新体验
  • Langfuse的使用带样例
  • 车辆视频检测器linux版对于密码中包含敏感字符的处理方法
  • `uia.WindowControl` 是什么:获取窗口文字是基于系统的 UI 自动化接口,而非 OCR 方式
  • 批量压缩 jpg/png 等格式照片|批量调整图片的宽高尺寸
  • LINUX 5 cat du head tail wc 计算机拓扑结构 计算机网络 服务器 计算机硬件
  • 计算机网络体系结构(一)
  • # 项目部署指南:Flask、Gradio与Docker实现流程
  • Three.js 系列专题 5:加载外部模型
  • STM32cubmax配置STM32407VET6,实现网络通信
  • Kotlin与HttpClient编写视频爬虫
  • SQL122 删除索引
  • MySQL8.0.40编译安装(Mysql8.0.40 Compilation and Installation)
  • 织梦模板怎么单独做移动端网站/怎么宣传自己的产品
  • 做网站哪家公司比较好而且不贵/苏州seo关键词优化方法
  • 上海市建设监理协会网站查询/温州免费建站模板
  • 佛山app开发公司/seo快速推广
  • 郑州金水区网站建设/百度云账号登录
  • 大型电商网站建设/上海关键词优化排名软件