• 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    cf914D. Bash and a Tough Math Puzzle(线段树)
    RNQOJ [stupid]愚蠢的矿工(树形依赖背包)
    BZOJ4552: [Tjoi2016&Heoi2016]排序(线段树 二分)
    多项式系数学习笔记
    BZOJ4653: [Noi2016]区间(线段树 双指针)
    洛谷P3372 【模板】线段树 1(树状数组)
    BZOJ3261: 最大异或和(可持久化trie树)
    BZOJ4260: Codechef REBXOR (01Tire树)
    Android 关于显示键盘,布局错乱网上顶的问题
    Java 输入流读取文本文件换行符问题
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/11269983.html
Copyright © 2020-2023  润新知