ZYNQ跑系统 系列(二) petalinux方式移植linux
三、搭建petalinux工程
0.定位目录
先在shell中找一个准备存放工程的地方,(我的是home/hlf/PRO),命令行cd home/hlf/PRO
1.定位编译链
根据安装petalinux的路径:
source /home/hlf/mnt/petalinux/settings.sh
2.创建petalinux工程
将在PRO目录下面,创建一个工程:
petalinux-create --type project --template zynq --name h1_petalinux_test
h1_petalinux_test是工程名,该命令会自动在PRO文件夹里创建h1_petalinux_test文件夹
3.引用刚才输出的硬件描述文件
把之前导出的硬件描述文件system_wrapper.hdf拷贝到虚拟机中的h1_petalinux_test工程文件夹下,然后:
petalinux-config --get-hw-description=/home/hlf/PRO/h1_petalinux_test
会进入一个配置界面,在里面我们可以配置一些系统参数,主要的配置包括:启动方式,启动存储器分区表,启动文件名称等等,本文暂不对其修改(默认是从SD卡中启动),然后等待其配置(时间较长)
4.获取文件夹权限
在上一步完成后,输入命令sudo chmod -R 777 /home/hlf获取文件夹权限(工程文件夹和petalinux的安装文件夹),否则编译的时候,会发生错误
目前为止,在shell中的命令既可以以超级用户su的身份运行也可以以普通用户的方式运行(建议全部都用普通用户的方式,免得切换),但是等下编译u-boot和kernel以及rootfs的时候,必须以普通用户的身份运行命令行,否则会报错的
5.编译u-boot
注意:到此处的时候,不能再用超级用户了,要切换到普通用户下,之后的所有操作都在普通用户下
普通用户的shell中输入petalinux-config -c u-boot(依然要事先输入source /home/hlf/mnt/petalinux/settings.sh命令),然后等待GUI出来,这里暂时不改动啥,直接save(save为u-boot.config,名字随便取但不要留空),然后继续等(新建工程要等的时间还是比较长的,后来就会好的)
这里写图片描述
6.编译kernel
命令petalinux-config -c kernel,操作同上(save为kernel.config)
7.编译rootfs
命令petalinux-config -c rootfs,操作同上(save为默认即可)
8.设备树配置
若要修改,直接在工程文件夹下,Ctr+F搜索.dts就可以找到相关文件,做出相应修改”
暂时默认吧,不修改,按照它自动生成的设备树
9.编译工程
输入命令petalinux-build,等待即可,最后生成的文件在 image/linux下
10.生成BOOT.BIN
把shell定位到image/linux目录下,执行命令
petalinux-package --boot --format BIN --fsbl zynq_fsbl.elf --fpga system_wrapper.bit --u-boot,在文件夹下就可以发现,多了一个BOOT.BIN
11.将如下文件拷入SD卡
12.开机
将SD卡,插回,开机,串口打印信息
开机时登录的用户名和密码都是root
可以看到正常开机了,连SD卡的文件系统都不需要自己做了,但是不自带python了
这种基于petalinux方式移植linux的方法,到此流程也就走完了,至于更深的操作,还要在实践中,不断学习,至少现在看来,比传统方式移植方便了一些,而且移植的流程petalinux也都集成了的,好处还是挺多的,慢慢发掘他的强大之处
---------------------
作者:long_fly
来源:CSDN
原文:https://blog.csdn.net/long_fly/article/details/78727813
版权声明:本文为博主原创文章,转载请附上博文链接!
ZYNQ跑系统 系列(二) petalinux方式移植linux的更多相关文章
- ZYNQ跑系统 系列(二) petalinux方式移植linux petalinux-config遇到问题
petalinux-config --get-hw-description=. 报错 [INFO] sourcing bitbakeERROR: Failed to source bitbakeERR ...
- 一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式
前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念 ...
- Zynq ZC706 传统方式移植Linux -- 编译kernel 文件系统 devicetree
1.kernel 实际操作时候,下面两条命令就够了. make ARCH=arm xilinx_zynq_defconfig make ARCH=arm CROSS_COMPILE=arm-xilin ...
- Zynq ZC706 传统方式移植Linux -- 编译u-boot
我用的是zc706不是zed 基本思路是: 1.安装交叉编译工具(见 https://www.cnblogs.com/idyllcheung/p/10532654.html ) 2.下载xilinx ...
- U盘装系统系列二—-如何设置U盘启动
老毛桃U盘启动制作好之后,如何设置U盘启动呢?我的是华硕的电脑,开机后按F2进入BIOS设置(不同主板可能不一样,比如有的是按向下键或者Del键,可以在网上查下看看),按Tab键选中Boot:按向下键 ...
- Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程
Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程 一:前言 最近手上压了一块米联客的Miz7035,一块xilinx zynq-7000系列的开发板,想着正好学习一下linu ...
- linux内核(二)内核移植(DM365-DM368开发攻略——linux-2.6.32的移植)
一.介绍linux-2.6.32: Linux-2.6.32的网上介绍:增添了虚拟化内存 de-duplicacion.重写了 writeback 代码.改进了 Btrfs 文件系统.添加了 ATI ...
- [知识库分享系列] 二、.NET(ASP.NET)
最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...
- S5PV210开发系列四_uCGUI的移植
S5PV210开发系列四 uCGUI的移植 象棋小子 1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是能够通过窗体.菜单 ...
随机推荐
- 持续优化云原生体验,阿里云在Serverless容器与多云上的探索
近日,阿里云宣布推出Serverless Kubernetes服务此举意在降低容器技术的使用门槛.简化容器平台运维.并同时发布阿里云服务对Open Service Broker API标准支持,通过一 ...
- php array_splice()函数 语法
php array_splice()函数 语法 作用:从数组中移除选定的元素,并用新元素取代它.dd马达价格 语法:array_splice(array,start,length,array) 参数: ...
- B/S选择文件夹上传
1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...
- 30 August
DP 复习. 参考 redbag 博客 提供的题表. P2858 [USACO06FEB] Treats for the Cows 区间 DP. 转换思路,题面从外往里递推,我们采用从里往外递推,权值 ...
- LintCode之主元素
题目描述: 分析:由题目可知这个数组不为空且该主元素一定存在,我选用HashMap来存储,HashMap的存储结构是”键—值对“,”键“用来存储数组元素,”值“用来存储这个元素出现的次数,然后循环遍历 ...
- MYSQL之union和order by分析([Err] 1221 - Incorrect usage of UNION and ORDER BY)
我在一个业务中采用了按月的分表策略,当查询的条件跨月的时候,使用了union all汇总2个表的数据,并按插入时间倒序排列.查询并不复杂,但是当执行的时候却报错了. SELECT * FROM `ta ...
- BLOB类型的字段用于存储二进制数据
MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型类型 ...
- day20—CSS中伪类:before与:after的应用:
转行学开发,代码100天——2018-04-05 CSS中的两个伪类:before和:after适合应用与在元素的开始或者结尾处添加修饰性文字或外观,实现内容添加的同时并没有破坏HTML代码 语义.如 ...
- 《图解设计模式》读书笔记4-2 STRATEGY模式
目录 示例程序 角色 想法 Strategy模式即策略模式,在编程中,策略指的就是算法.利用此模式可以整体替换算法,即使用不同方式解决同一个问题.比如设计一个围棋程序,通过切换算法可以方便地切换AI的 ...
- 第 13 章 python并发编程之io模型
一.IO模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问 ...