zoukankan      html  css  js  c++  java
  • MPSOC之7——开发流程uramdisk

    用petalinux的预编译目录里有rootfs文件,选择rootfs.tar.gz作为初始输入。

    1.原始文件——>uramdisk

    1.1 解压原始rootfs.tar.gz,得到若干文件

    1.2 !!!制作空ramdisk.image

    命令:

    dd if=/dev/zero of=ramdisk.image bs=1024 count=131072
    mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
    tune2fs ramdisk.image -i 0
    chmod a+rwx ramdisk.image

    执行过程:

    • 创建ramdisk.image,大小128M,用0填充,ramdisk.image可以理解成磁盘
    liuwanpeng@liuwanpeng-virtual-machine:~/work$ dd if=/dev/zero of=ramdisk.image bs=1024 count=131072
    记录了131072+0 的读入
    记录了131072+0 的写出
    134217728 bytes (134 MB, 128 MiB) copied, 0.443892 s, 302 MB/s
    • 格式化为ext2
    liuwanpeng@liuwanpeng-virtual-machine:~/work$ mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
    mke2fs 1.42.13 (17-May-2015)
    Discarding device blocks: 完成                            
    Creating filesystem with 131072 1k blocks and 32768 inodes
    Filesystem UUID: 60c8fd23-fb67-4479-b1fd-6ad2efa253b2
    Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729
    Allocating group tables: 完成                            
    正在写入inode表: 完成                            
    Writing superblocks and filesystem accounting information: 完成 
    • 调整ext2文件系统参数:
      -i interval-between-checks[d|m|w]
      Adjust the maximal time between two filesystem checks.
    liuwanpeng@liuwanpeng-virtual-machine:~/work$ tune2fs ramdisk.image -i 0
    tune2fs 1.42.13 (17-May-2015)
    Setting interval between checks to 0 seconds
    • 权限
    liuwanpeng@liuwanpeng-virtual-machine:~/work$ chmod a+rwx ramdisk.image 

    1.3 mount并装入1.1的文件

    将磁盘镜像mount到文件件,然后将rootfs的文件拷贝到该挂载目录里。mount后,向ramdisk_mnt文件夹写东西,就相当于向镜像ramdisk.image里写东西
    命令:

    sudo mount ramdisk.image ramdisk_mnt/
    sudo cp -R rootfs/* ramdisk_mnt/

    1.4 umount得到充实的ramdisk.image

    sudo umount ramdisk_mnt/

    1.5 制作uramdisk

    只是在ramdisk.image.gz基础上加64Bytes头

    gzip ramdisk.image 
    mkimage -A arm64 -O linux -T ramdisk -C gzip -a 0 -n "Xilinx MPSOC Root Filesystem" -d ./ramdisk.image.gz ./uramdisk.image.gz

    2.已有uramdisk,修改

    2.1 解压成普通文件目录

    修改ramdisk_mnt里的内容就是修改ramdisk

    dd if= uramdisk.image.gz of= ramdisk.image.gz skip=64 bs=1
    gunzip ramdisk.image.gz
    sudo mount –o loop ramdisk.image ./ramdisk_mnt

    2.2 恢复为uramdisk

    sudo umount ./ramdisk_mnt/
    gzip ramdisk.image
    mkimage -A arm -O linux -T ramdisk -C gzip -a 0 -n "Xilinx MPSOC Root Filesystem" -d ramdisk.image.gz uramdisk.image.gz


    转载: https://www.cnblogs.com/liuwanpeng/p/8074324.html
  • 相关阅读:
    fetch数据请求
    React exact路由精确匹配
    React Router中的Link和NavLink组件有什么区别?
    new FileReader() 文件上传
    git stash部分文件
    主机屋的免费云虚拟主机
    MySQL数据库默认的存储引擎类型是MyISAM并不支持事务的坑,要把存储类型改为InnoDB
    使用ExcelPackage,OfficeOpenXml做EXCEL导入时一个方法的坑,对应类的字段只能定义为string类型
    mysql两个关联表,同名字段同时返回时,原字段名写靠前的表的字段名会可以保留原字段名,靠后的会被自动as为(1)这样的,
    MySql 里的IFNULL、NULLIF和ISNULL用法-区别于MSSQL
  • 原文地址:https://www.cnblogs.com/lidan2019/p/10315730.html
Copyright © 2011-2022 走看看