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

群晖 做网站 Java郑州网站网页设计

群晖 做网站 Java,郑州网站网页设计,深圳网站建设犀牛云,微信app下载安装官方版2021xilinx zynq petalinux 默认编译打包出的SPI flash烧写启动文件是BOOT.BIN,然而每次需要修改rootfs内的文件时都要重新build rootfs 然后再 package一次才能生成新的BOOT.bin文件,地球人都知道petalinux编译一次是很耗时间的,那么有没有什么简…

    xilinx zynq petalinux 默认编译打包出的SPI flash烧写启动文件是BOOT.BIN,然而每次需要修改rootfs内的文件时都要重新build rootfs 然后再 package一次才能生成新的BOOT.bin文件,地球人都知道petalinux编译一次是很耗时间的,那么有没有什么简单的办法能修改rootfs呢?

为了达到这么个目的,我花点时间研究了一下petalinux编译打包过程,执行build命令后最终会生成linux内核,rootfs,dtb,u-boot,fsbl,fpga.bit这些最终文件,然后package时将这些文件一起打包成BOOT.bin才可以烧写spi flash,其中kernel,rootfs,dtb会被预先打包成image.ub文件才会参与到package过程,如果要修改rootfs,可以把image.ub文件解包出rootfs,修改其中的内容,再重新打包成新的rootfs,就可以了,下面过程是经过多次尝试后总结出的步骤,以供参考

首先需要准备 image.ub文件,这个文件在编译完成后自动生成,petalinux2019.2中这个文件在xxxx/images/linux目录下,使用dumpimage命令拆包,如下面的样子,可以解出kernel,设备树文件和rootfs。

dumpimage -i image.ub -T flat_dt  -p 0 kernel.bin
dumpimage -i image.ub -T flat_dt  -p 1 devicetree.dtb
dumpimage -i image.ub -T flat_dt  -p 2 rootfs.cpio.gz

第二步,对rootfs解压出原始文件

mkdir ramdisk_unzip
gunzip -c rootfs.cpio.gz | sh -c 'cd ramdisk_unzip/ && cpio -i'

经过上面两步骤后就可以在ramdisk_unzip文件夹下看到原始的rootfs目录结构,这个时候就可以对rootfs随意修改了

第三部,修改完成后重新对rootfs再打包成rootfs.cpio.gz,使用如下命令进行打包

sh -c 'cd ramdisk_unzip/ && find . | cpio -H newc -o' | gzip -9 > repack_ramdisk.cpio.gz

第4步,重新生成一个新的image.ub文件,使用mkimage命令,如下

mkimage -f package_image_ub.its repack_image.ub

其中的package_image_ub.its是告诉mkimage打包需要的参数,这个文件在petalinux编译路径下有模板,我这里复制出petalinux的模板,修改了一下,主要是几个文件路径,改成自己的文件

/dts-v1/;/ {description = "U-Boot fitImage for PetaLinux/4.19-xilinx-v2019.2+git999/plnx-zynq7";#address-cells = <1>;images {kernel@1 {description = "Linux kernel";data = /incbin/("刚才第一步解压出来的kernel.bin文件路径");type = "kernel";arch = "arm";os = "linux";compression = "none";load = <0x8000>;entry = <0x8000>;hash@1 {algo = "sha1";};};fdt@system-top.dtb {description = "Flattened Device Tree blob";data = /incbin/("刚才第一步解压出来的devicetree.dtb文件路径");type = "flat_dt";arch = "arm";compression = "none";hash@1 {algo = "sha1";};};ramdisk@1 {description = "petalinux-user-image";data = /incbin/("重新打包生成的repack_ramdisk.cpio.gz文件路径");type = "ramdisk";arch = "arm";os = "linux";compression = "gzip";hash@1 {algo = "sha1";};};};configurations {default = "conf@system-top.dtb";conf@system-top.dtb {description = "1 Linux kernel, FDT blob, ramdisk";kernel = "kernel@1";fdt = "fdt@system-top.dtb";ramdisk = "ramdisk@1";hash@1 {algo = "sha1";};};};
};

第5步,使用原本petalinux自带的package命令重新打包生成BOOT.BIN

petalinux-package --boot --fsbl ./fsbl.elf --fpga --u-boot ./u-boot.elf --kernel ./repack_image.ub -o ./BOOT.BIN --force

其中的fsbl,u-boot都是原先build后自动生成的,在xxxx/images/linux路径下就有,经过上面的步骤后就重新生成了烧写文件,理论上烧写到spiflsh就可以正常启动了

简单几步就完成了rootfs的重新修改和配置,想添加删除什么文件比原先的build命令方便多了。

http://www.dt0577.cn/news/4147.html

相关文章:

  • 电商网站为什么要提高网站友好度百度搜索收录
  • java 动态网站开发实例搜索引擎营销的基本流程
  • 美观网站建设哪家好手机营销推广方案
  • 过年做哪些网站能致富网络营销推广方式包括哪几种
  • 雨花区师德师风建设专题网站怎么做电商新手入门
  • 深圳建设材料价格网站今日的重大新闻
  • 网站建设所要花费的资金优就业seo
  • 东莞企业网站制作万物识别扫一扫
  • 移动网站开发pdfseo系统培训哪家好
  • 域名备案网站营销型网站设计
  • 做招聘网站需要人力资源许可网站seo优化分析
  • 九亭镇村镇建设办官方网站章鱼磁力链接引擎
  • 订阅号如何做微网站seo关键词排名优化工具
  • php网站开发实际教程答案长沙本地推广联系电话
  • 长沙房产集团网站建设制作电商网站
  • 建设网站 系统占用空间seo外包服务公司
  • 网站开发适合女生干吗优化算法
  • axure rp 做网站原型深圳谷歌网络推广公司
  • 做网站必须需要服务器嘛营销活动
  • 网站域名列表是什么关键少数
  • 快速网站建设哪家好便宜的seo网络营销推广
  • 常州网站制作价格潍坊做网站哪家好
  • 500网站建设西安关键词网站排名
  • 贵阳查房子备案的网站百度首页 百度一下
  • 电影网站怎么做laravel宁波seo快速优化
  • 客服系统seo权威入门教程
  • 瑞安网站建设优化推广网络营销概念
  • 移动互联网应用范围具有以下特点深圳seo优化排名优化
  • 用dw做的网站怎么发到网上湖南长沙最新情况
  • 网站后台操作流程百度怎么注册自己的店铺