用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. 【开源】canvas图像裁剪、压缩、旋转

    前言 前段时间遇到了一个移动端对图像进行裁剪.压缩.旋转的需求. 考虑到已有各轮子的契合度都不高,于是自己重新造了一个轮子. 关于图像裁剪.压缩 在HTML5时代,canvas的功能已经非常强大了,可 ...

  2. C#中的静态成员和非静态成员

    C#的类中可以包含两种方法:C#静态方法与非静态方法.那么他们的定义有什么不同呢?他们在使用上会有什么不同呢? 让我们来看看最直观的差别:使用了static 修饰符的方法为静态方法,反之则是非静态方法 ...

  3. Docker Register安装与基本认证

    准备 基本事项 Docker环境 登录授权方式 镜像存放地址 HTTPS外网访问 启动Docker Registry 1. 基本事项 本篇涉及到的数据文件都放在/data目录下, 其中会有三个子目录 ...

  4. [转载] ETL和Kettle

    http://tech.ccidnet.com/art/1105/20080407/1411567_1.html http://blog.csdn.net/cissyring/article/deta ...

  5. Python 标准库 urllib2 的使用细节(转)

    http://www.cnblogs.com/yuxc/archive/2011/08/01/2123995.html http://blog.csdn.net/wklken/article/deta ...

  6. 如何创建 Swarm 集群?- 每天5分钟玩转 Docker 容器技术(95)

    本节我们将创建三节点的 swarm 集群. swarm-manager 是 manager node,swarm-worker1 和 swarm-worker2 是 worker node. 所有节点 ...

  7. 使用dropwizard(3)-加入DI-dagger2

    前言 习惯了Spring全家桶,对spring的容器爱不释手.使用dropwizard,看起来确实很轻,然而,真正使用的时候不得不面临一个问题.我们不可能一个resource就能把所有的业务逻辑囊括! ...

  8. js的数组方法整理

    slice 从已有的数组中返回选定的元素.该方法不会修改数组,而是返回一个子数组. 语法:arr.slice(start,end) start: 必须,规定从何处开始选取.如果是负数,就是从尾部开始算 ...

  9. 学习用java基于webMagic+selenium+phantomjs实现爬虫Demo爬取淘宝搜索页面

    由于业务需要,老大要我研究一下爬虫. 团队的技术栈以java为主,并且我的主语言是Java,研究时间不到一周.基于以上原因固放弃python,选择java为语言来进行开发.等之后有时间再尝试pytho ...

  10. 采用Opserver来监控你的ASP.NET项目系列(一、Opserver监控的简介与平台搭建)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来讲讲如何监控我们的ASP.NET项目. 首先我们来介绍一下,什么是Opserver,它是Stack ...