用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

MPSOC之7——开发流程uramdisk的更多相关文章

  1. MPSOC之5——开发流程BOOT.BIN

    需要把若干文件打成大包,烧写到flash或者sd卡中,才能启动运行. 1.petalinux打包 petalinux-packet打包时,需要petalinux的工程,限制太死了,不用. 2 wind ...

  2. MPSOC之6——开发流程linux编译

    0.顶层Makefile增加交叉编译器 顶层makefile: ARCH ?= $(SUBARCH) CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%&q ...

  3. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  4. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

  5. 我理解的Sitecore开发流程

    Sitecore是一个强大的支持快速开发CMS建站的平台,进入sitecore后台可以看到 它主要有3个元素: 1.Templates模板 Data template:类似于面向对象编程中的类或结构体 ...

  6. C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解

    之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...

  7. git开发流程、常用命令及工具、TortoiseGit使用及常见问题

    根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...

  8. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  9. Web开发流程

    知乎上关于Web开发流程豪情给予的回答 web前端开发流程是什么?进行操作会用到哪些便捷的小工具?是先用模板做好,然后在基础上改吗??正常大家说的改框架是不是指的用模板做的网站原文件?前端开发做的文件 ...

随机推荐

  1. C#的XML文件的读取与写入

    在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改.尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取.XML文件简单易用,而且可以在任何应用程序中读写数据 ...

  2. tmux frequently asked questions

    tmux frequently asked questions How is tmux different from GNU screen?     tmux and GNU screen have ...

  3. 分布式网络文件系统--MooseFS

    一.介绍 1.简介 MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本.对于访问的客户端或者用户来说,整个分布式网 ...

  4. iOS设置圆角的方法及指定圆角的位置

    在iOS开发中,我们经常会遇到设置圆角的问题, 以下是几种设置圆角的方法: 第一种方法: 通过设置layer的属性 代码: UIImageView *imageView = [[UIImageView ...

  5. js 图片转换为base64

    <input id="file" type="file"> <img id="img" style="max-h ...

  6. Maven创建父子工程(简单、完整)

    Eclipse创建Maven父子工程(书中有的叫聚合工程,因为看了网上很多教程,实际操作总会有这样那样的小问题,有时候包结构还不对,创建成功后索性就自己写一篇帮助小白,有不对请指教) 1 file-n ...

  7. PHP时间戳和日期互转换

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...

  8. Class 与 Style 绑定

    将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强.表达式结果的类型除了字符串之外,还可以是对象或数组. 绑定 HTML Class 对象语法 <div cla ...

  9. continue,break以及加上标签的使用(goto思路)

    代码例子在java编程思想70-73页.这里只是想做做总结 java中需要用到标签的唯一理由就是因为由循环嵌套的存在,而且想从多层嵌套循环中break或者continue. 因此,标签只能放在循环前面 ...

  10. 如何在PHP7中安装mysql的扩展

    相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可 ...