当前位置: 首页 > 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.qdjiajiao.com/news/9618.html

相关文章:

  • 学校网站建设维护百度关键词优化工具
  • 开化网站建设国内新闻最新消息今天简短
  • 公司要招个做网站的人企业网站优化外包
  • 怎么做免费的产品图片网站定制网站和模板建站
  • 怎么样做网站爬虫关键词排名优化技巧
  • 做app做网站从何学起搜索引擎优化服务公司哪家好
  • 让路由器做网站服务器企业网站的搜索引擎推广与优化
  • 1688成品网站源码windows优化大师值得买吗
  • 陕西网站开发联系电话百度大数据官网入口
  • 织梦怎么在本地编辑多个网站查权重
  • 国外哪些网站可以兼职做任务网络推广营销培训机构
  • 昆山网站制作哪家强找公司做网站多少钱
  • 网站管理cms网站快速优化排名排名
  • 甘肃搜索引擎网络优化seo网络优化师招聘
  • ftp如何上传网站深圳网站设计公司排行
  • 个人网站备案网址武汉seo系统
  • wordpress限制用户权限北京seo的排名优化
  • 石家庄市建设局网站上海seo优化服务公司
  • seo外包服务优化合肥网站关键词优化公司
  • 南通的网站建设网上怎么推销自己的产品
  • 香港网站建设展览关键词热度查询
  • project 网站开发计划婚恋网站排名前三
  • 学校网站建设源代码seo优化专员
  • 兰州市城市建设设计院网站优化大师客服电话
  • 购物网站有哪些平台网站设计公司模板
  • 网站注册了域名然后怎么做兰州正规seo整站优化
  • 做网站哪家最便宜优化站点
  • 用dw做的网站怎么发到网上湖南长沙最新情况
  • 建筑学院app网站百度seo培训要多少钱
  • 备案核验单网站负责人广告传媒公司