petalinux编译制作linux系统
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系统相关推荐
- Petalinux制作linux系统(续)image.ub文件来龙去脉
Petalinux制作linux系统可以启动,但并不仅限于此. 比如如下疑问: 1.image.ub哪里来?这个文件名称必须是这个吗? 2.自己采用原始方法移植u-boot,kernel后怎么做? 对 ...
- linux 生成ub格式镜像,Petalinux制作linux系统(续)image.ub文件来龙去脉
Petalinux制作linux系统可以启动,但并不仅限于此. 比如如下疑问: 1.image.ub哪里来?这个文件名称必须是这个吗? 2.自己采用原始方法移植u-boot,kernel后怎么做? 对 ...
- X86平台下基于grub2+busybo+linux-2.6.36制作linux系统
X86平台下基于grub2+busybo+linux-2.6.36制作linux系统 一.下载内核源码,grub2源码,以及busybox源码: 下载grub2源码 ftp://ftp.gnu.org ...
- 服务器u盘安装linux6.7,制作linux系统U盘并使用U盘安装CentOS7.6系统
目录 一.制作linux启动盘 使用光盘刻录软件将系统镜像刻录到U盘后使用U盘安装系统. 1. 准备 1个大于8GU盘(最小1G以上,最好8G) 官方系统镜像(CentOS7-1810) 光盘刻录软件 ...
- 如何制作 linux 系统 U盘启动盘
原贴:如何制作 linux 系统 U盘启动盘_Will-kkc的博客-CSDN博客_linux系统启动盘 1.制作linux 系统的U盘启动盘,需要选择ISO 模式! 给大家推荐几个制作相关软件以及相 ...
- linux下制作linux系统的安装U盘
linux下制作linux系统的安装U盘 经常用linux,给自己留个好用的live CD(此处为U盘版),以备不时之需! 本文采用的linux系统为Ubuntu Kylin 15.10 64位. 1 ...
- 使用再生龙制作linux系统镜像及还原
因为要便于生产的原因,需要制作母盘,这做一个记录 使用再生龙制作linux系统镜像 使用再生龙还原系统镜像 tuxboot-0.6.exe
- 如何用乌班图(Ubuntu)制作 linux 系统 U盘启动盘
文章目录 Ubuntu和UltraISO百度网盘链接 一.制作linux 系统的U盘启动盘,需要选择ISO 模式! 二.将U盘分区 二.UltraISO使用步骤 三.格式化U盘 Ubuntu和Ultr ...
- Petalinux定制专属Linux系统
Petalinux定制专属Linux系统 (一.环境搭建与Petalinux初步使用) 一.注意事项 1.1 Petalinux2017.4 软件下载路径 1.2 Vivado2017.4(Linux ...
最新文章
- R语言包_lubridate
- NameValueCollection类总结和一个例子源码
- LuoguP3183 [HAOI2016]食物链 记忆化搜索
- java用mvvm,[Java教程]MVVM架构~使用boxy和knockoutjs实现编辑功能
- Head first java chapter 16 集合与泛型(数据结构)
- goole机器学习视频链接【学习笔记】
- 近期打算及毕业前要补完的题
- day 17python 面对对象之继承
- 两列数据找出相同项自动对应_关于数据核对的6个超级技巧,用过的人都说好...
- 为什么我做数据库类的程序要用代码生成器,而且是前前后后,反反复复 [转]...
- 实施 or 开发 ?
- java 引用类快捷键_Java数据类型及其转换经常用到的快捷键
- 邵国际: C 语言对象化设计实例 —— 命令解析器
- 杭电HDUacm2098
- mshtml 解析html c,关于MSHTML
- Charles使用详解
- 创建一个 C++ 控制台应用程序项目
- Oracle nlssort()中文排序
- 微云存储空间多大_qq微云内存多大
- 一文曝光字节跳动薪资职级,资深开发的收入你意想不到~
热门文章
- 用VirtualWall防止远古盗链的方法
- 安卓应用SHA1的获取并在Unity中打包发布
- php模板注入漏洞,74CMS前台模板引擎注入漏洞漏洞复现
- mysql normsinv_软件教程热搜榜_最新软件教程热门新闻_软件教程资讯大全-PC下载网资讯网...
- Windows10 微软输入法突然变成繁体输入
- 【Python笔记】获取星期几在指定年份的所有日期
- 中国最初开始发展计算机是在哪一年,中国从哪一年开始有手机了,手机出现最早的城市在哪里...
- arduino rc522模块使用
- return false和 return true 的作用是什么
- 没有一点虚荣心——王利芬为马云传记写的序