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
    
  • 相关阅读:
    Codeforces 787D. Legacy 线段树优化建图+最短路
    Codeforces 1051E. Vasya and Big Integers
    BZOJ3261 最大异或和
    BZOJ3531 SDOI2014 旅行
    洛谷P2468 SDOI 2010 粟粟的书架
    2018 ICPC 焦作网络赛 E.Jiu Yuan Wants to Eat
    HDU6280 From Tree to Graph
    HDU5985 Lucky Coins 概率dp
    (HDU)1334 -- Perfect Cubes (完美立方)
    (HDU)1330 -- Deck (覆盖物)
  • 原文地址:https://www.cnblogs.com/liuwanpeng/p/8074324.html
Copyright © 2011-2022 走看看