0.设置petalinux环境变量

在 Ubuntu 系统中需要先设置 petalinux 工作环境,也就是对 petalinux 工作环境进行初始化,在终端输入如下命令即可:

source /opt/pkg/petalinux/2018.3/settings.sh

1.创建petalinux工程

petalinux-create -t project --template zynq -n ad9371

template 参数表明创建的 petalinux 工程使用的平台模板,此处的 zynq 表明使用的是
zynq 平台模板的 petalinux 工程,用于 zynq-7000 系列的芯片。name 参数(此处简写为“-n”)后接的是 petalinux 工程名,如此处的"ad9371”。创建后如图所示

2.配置petalinux工程

首次配置 Petalinux 工程是将 hdf 硬件描述文件文件导入到 Petalinux 工程中,Petalinux工具会解析 hdf 文件并弹出配置窗口。在终端中输入如下命令配置 Petalinux 工程:

cd ad9371 //进入到 petalinux 工程目录下
petalinux-config --get-hw-description ../hdf/adrv9371x_zc706.sdk/ //导入 hdf 文件

即进入到 petalinux 工程文件夹,并配置 petalinux 工程。“petalinux-config
–get-hw-description ” 命 令 后 面 的 文 件 夹 就是vivada生成的.sdk文件夹,该文件夹含有.hdf文件(硬件信息),大家根据自己的实际路径填写。如果后面修改了 Vivado 工程,重新生成 hdf 文件后,可以重新执行“petalinux-config --get-hw-description <hdf 文件目录>”命令以重新配置 Petalinux 工程。


Hdf 文件导入成功之后会自动弹出 petalinux 工程配置窗口,如下图所示

:由于我需要用到ad9371,所以我的内核是使用adi公司提供的,其网址如下:https://github.com/analogdevicesinc,下载版本时,选和petalinux配套的,避免其他问题。
进 入 到 “ Linux Components Selection—>u-boot(u-boot-xlnx)”菜单下,配置 Linux 内核来源。此处选择“ext-local-src”,也就是本地存放的uboot 内核源码,如下图所示:

然后进入external u-boot …


输入uboot文件的绝对位置

linux 内核导入方法和u-boot一样。

根文件系统如果较大,可将根文件系统放在另一个分区
进入Image Packaging Configuration

进入后如图所示

进入Root filesystem type (INITRAMFS)

选择SD card.

对于rootfs的配置,如果不需要登陆密码,可以执行以下命令配置根文件系统

petalinux-config -c rootfs


进入Image Features

使能该菜单下的“debug-tweaks”选项,就不需要手动输入用户名和密码了。

2.编译

执行petalinux-build编译工程
该命令将生成设备树 DTB 文件、fsbl 文件、U-Boot 文件,Linux 内核和根文件系统映像。编译完成后,生成的映像将位于工程的 images 目录下。需要说明的是 fsbl、U-Boot 这两个我们在工程中并不需要配置,这是因为 Petalinux 会根据 hdf 文件和 petalinux-config 去自动配置 fsbl 和 uboot,如无特需要求,不需要再手动配置

3.打包

petalinux-package --boot --fsbl --fpga --u-boot --force


选项“–fsbl”用于指定 fsbl 镜像文件所在位置,后面接文件对应的路径信息,如果不
指定文件位置,默认对应的是 images/linux/zynq_fsbl.elf;选项“–fpga”用于指定bitstream 文 件 所 在 位 置 , 后 面 接 该 文 件 对 应 的 路 径 信 息 , 默 认 对 应 的 是images/linux/system.bit;选项“–u-boot”用于指定 U-Boot 镜像所在位置,后面接该文件所在路径信息,默认为 images/linux/u-boot.elf。这里我没有指定对应的文件的路径信息,那么 Petalinux 会自动使用默认文件。

4.制作SD启动卡

由于根文件系统较大,在前面petalinux-config --get-hw-description …/hdf/adrv9371x_zc706.sdk/时,根文件系统选择了sd card,所以这里我们需要2个分区,一个分区使用FAT32文件系统,用于放置启动镜像文件(如BOOT.BIN,linux镜像等),另一个分区使用EXT4文件系统,用于存放根文件系统。(如果根文件系统的类型配置使用的是INITRAMFS,只需要一个分区( FAT32 文件系统的)就可以了)。
对于sd卡的分区设置,命令如下所示

umount /dev/sdb*
sudo fdisk /dev/sdb

。。。。

5.将编译的文件拷贝到sd卡

首先将petalinux工程目录image/linux目录下的BOOT.BIN和image.ub文件拷贝到名为boot分区也即/dev/sdb1分区中。
再将rootfs.tar.gz解压到rootfs分区也即/dev/sdb2分区中。

petalinux编译制作linux系统相关推荐

  1. Petalinux制作linux系统(续)image.ub文件来龙去脉

    Petalinux制作linux系统可以启动,但并不仅限于此. 比如如下疑问: 1.image.ub哪里来?这个文件名称必须是这个吗? 2.自己采用原始方法移植u-boot,kernel后怎么做? 对 ...

  2. linux 生成ub格式镜像,Petalinux制作linux系统(续)image.ub文件来龙去脉

    Petalinux制作linux系统可以启动,但并不仅限于此. 比如如下疑问: 1.image.ub哪里来?这个文件名称必须是这个吗? 2.自己采用原始方法移植u-boot,kernel后怎么做? 对 ...

  3. X86平台下基于grub2+busybo+linux-2.6.36制作linux系统

    X86平台下基于grub2+busybo+linux-2.6.36制作linux系统 一.下载内核源码,grub2源码,以及busybox源码: 下载grub2源码 ftp://ftp.gnu.org ...

  4. 服务器u盘安装linux6.7,制作linux系统U盘并使用U盘安装CentOS7.6系统

    目录 一.制作linux启动盘 使用光盘刻录软件将系统镜像刻录到U盘后使用U盘安装系统. 1. 准备 1个大于8GU盘(最小1G以上,最好8G) 官方系统镜像(CentOS7-1810) 光盘刻录软件 ...

  5. 如何制作 linux 系统 U盘启动盘

    原贴:如何制作 linux 系统 U盘启动盘_Will-kkc的博客-CSDN博客_linux系统启动盘 1.制作linux 系统的U盘启动盘,需要选择ISO 模式! 给大家推荐几个制作相关软件以及相 ...

  6. linux下制作linux系统的安装U盘

    linux下制作linux系统的安装U盘 经常用linux,给自己留个好用的live CD(此处为U盘版),以备不时之需! 本文采用的linux系统为Ubuntu Kylin 15.10 64位. 1 ...

  7. 使用再生龙制作linux系统镜像及还原

    因为要便于生产的原因,需要制作母盘,这做一个记录 使用再生龙制作linux系统镜像 使用再生龙还原系统镜像 tuxboot-0.6.exe

  8. 如何用乌班图(Ubuntu)制作 linux 系统 U盘启动盘

    文章目录 Ubuntu和UltraISO百度网盘链接 一.制作linux 系统的U盘启动盘,需要选择ISO 模式! 二.将U盘分区 二.UltraISO使用步骤 三.格式化U盘 Ubuntu和Ultr ...

  9. Petalinux定制专属Linux系统

    Petalinux定制专属Linux系统 (一.环境搭建与Petalinux初步使用) 一.注意事项 1.1 Petalinux2017.4 软件下载路径 1.2 Vivado2017.4(Linux ...

最新文章

  1. R语言包_lubridate
  2. NameValueCollection类总结和一个例子源码
  3. LuoguP3183 [HAOI2016]食物链 记忆化搜索
  4. java用mvvm,[Java教程]MVVM架构~使用boxy和knockoutjs实现编辑功能
  5. Head first java chapter 16 集合与泛型(数据结构)
  6. goole机器学习视频链接【学习笔记】
  7. 近期打算及毕业前要补完的题
  8. day 17python 面对对象之继承
  9. 两列数据找出相同项自动对应_关于数据核对的6个超级技巧,用过的人都说好...
  10. 为什么我做数据库类的程序要用代码生成器,而且是前前后后,反反复复 [转]...
  11. 实施 or 开发 ?
  12. java 引用类快捷键_Java数据类型及其转换经常用到的快捷键
  13. 邵国际: C 语言对象化设计实例 —— 命令解析器
  14. 杭电HDUacm2098
  15. mshtml 解析html c,关于MSHTML
  16. Charles使用详解
  17. 创建一个 C++ 控制台应用程序项目
  18. Oracle nlssort()中文排序
  19. 微云存储空间多大_qq微云内存多大
  20. 一文曝光字节跳动薪资职级,资深开发的收入你意想不到~

热门文章

  1. 用VirtualWall防止远古盗链的方法
  2. 安卓应用SHA1的获取并在Unity中打包发布
  3. php模板注入漏洞,74CMS前台模板引擎注入漏洞漏洞复现
  4. mysql normsinv_软件教程热搜榜_最新软件教程热门新闻_软件教程资讯大全-PC下载网资讯网...
  5. Windows10 微软输入法突然变成繁体输入
  6. 【Python笔记】获取星期几在指定年份的所有日期
  7. 中国最初开始发展计算机是在哪一年,中国从哪一年开始有手机了,手机出现最早的城市在哪里...
  8. arduino rc522模块使用
  9. return false和 return true 的作用是什么
  10. 没有一点虚荣心——王利芬为马云传记写的序