Linux下Ramdisk根文件系统制作过程解析

Linux根文件系统制作 本文介绍如何构Linux根文件系统,适用于arm32开发板。 阅读详情

  http://blog.youkuaiyun.com/hzdysymbol/archive/2009/01/17/3796814.aspx一、在一个已建好的文件系统上进行修改

    设已建立好的文件系统压缩文件为ramdisk.gz

    1、解压

    #cd ramdisk.gz所在目录

    #gunzip ramdisk.gz

    在解压后,得到文件系统镜象文件ramdisk, 覆盖了原来的压缩文件

    2、镜象文件挂载

    镜象文件必须经过挂载后才能看到文件系统中的各个目录和详细内容

    #mkdir /mnt/loop /* /mnt/loop 是文件系统要挂载到的目录

    #mount –o loop ramdisk /mnt/loop

    在挂载目录/mnt/loop下对文件系统进行操作

    #cd /mnt/loop

    #do_whatever_you_want_to_do /*根据需要增加、删减或是修改文件系统的内容

    4、卸装文件系统

    跳到/mnt/loop目录外,否则无法卸装,提示busy

    #cd ramdisk所在目录

    #umount /mnt/loop

    5、压缩文件系统

    #gzip –v9 ramdisk /*生成ramdisk.gz压缩文件

    二、自己建立根文件系统

    1、建立loop设备的临时挂载点

    #mkdir /mnt/loop

    2、建立一个大小为15M的临时文件

    #dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360

    注意可根据自己的需要建立大小合适的文件系统,更改count大小即可。

    此处以dd命令建立一个了一个15360KB文件系统映象,存于/tmp/loop/tmp,并以.dev/zero对它进行初始化。用这种方式对文件系统进行初始化,稍后当我们使用gzip命令压缩整个映象时,将让文件系统中未使用的部分获得最大压缩比。

    3、将设备文件与临时文件联系起来

    #losetup /dev/loop0 /tmp/loop_tmp

    把设备文件/dev/loop0与临时镜象文件/tmp/loop_tmp联系起来,/dev/loop0是个块设备

    如果出现“ioctl:LOOP_SET_FD:设备或资源忙”,说明/dev/loop0设备还和一文件联系,可用losetup /dev/loop0查看地,并可用-d 删除。

    4、将/dev/loop0格式化为ext2文件系统

    #mke2fs –m 0 /dev/loop0

    -m 0指出不必在文件系统上为“超级用户”保留任何区块。

    Linux内核识别两种可以直接考贝的到ramdisk的文件系统,它们是minix和ext2,minix是linux早期版本所用的文件系统,从minix操作系统而来,ext2性能更好。

    5、把虚拟盘挂在节点/mnt/loop上

    #mount –t ext2 /dev/loop0 /mnt/loop

    6、用cp –af命令将所需要文件拷贝到虚拟盘上

    cp –help查看cp 用法。cp –arf … -r表示拷贝目录

    /bin, /dev, /etc, /lib, proc, /sbin, /usr都是不可或缺的目录,建议保留/tmp,/var,不过可以为空。而为多用户提供可扩展环境的所有目录(例如/home、/mnt、/opt、/root)都应该省略。

    用cp复制文件时,建议把已建立好的文件系统中的内容全部拷贝过来,这样比较简单,不需要再去编译安装busybox等。当然自己也可以那样去做。

    7、卸载文件系统,得到的/tmp/loop_tmp就是文件系统映象。

    #cd /mnt/loop以外的目录 (否则会提示无法卸载,设备busy)

    #umount /mnt/loop

    8、压缩文件系统映象

    #gzip –v9 /tmp/loop_tmp >/tftpboot/ramdisk.gz

    在/tftpboot下生成了ramdisk.gz,这样一个内存文件镜象生成了。

    或只是#gzip –v9 /tmp/loop_tmp,则就是在/tmp下生成loop_tmp.gz文件,一样的。

    记者百度(baidu.com)了一下在上述自己建立文件系统中,第3条用 losetup命令把块设备文件/dev/loop0与临时文件/tmp/loop_tmp联系起来了,我的理解是/tmp/loop_tmp必须是块设 备文件,所以用/dev/loop0与之相关联,然后对/dev/loop0的操作和对其虚拟盘的操作,就间接作用在文件系统映象 /tmp/loop_tmp上。

    三、自己建立根文件系统(与二中不同)

    1、建立loop设备的临时挂载点

    #mkdir /mnt/loop

    2、建立文件系统映象

    #dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360

    以上2条同二中是一样

    3、mke2fs –F –v –m 0 /tmp/loop_tmp

    此处-F选项将可迫使mkefs2在文件上运行。否则mke2fs会抱怨 /tmp/loop_tmp不是个块设备(在上面说了,我的理解是/tmp/loop_tmp文件映象必须是块设备文件,前面的做法是用块设备文件 /dev/loop0与之相关联)。-v 选项指出mke2fs应该以verbose模式执行,-m 0指出不必在文件系统上为“超级用户”保留任何区块,因为在嵌入式系统中通常是单用户系统,为“超级用户”保留区块没有意义。

    4、挂载映象文件

    #munt –o loop /tmp/loop_tmp /mnt/loop

    挂载后,在/mnt/loop下就可以对文件系统的内容进行操作。

    5、cp操作,同二中的第6条

    6、卸载映象文件

    #umount /mnt/loop

    7、压缩映象文件

    #gzip –v9 /tmp/loop_tmp

    第三中的做法与第二中的做法不同,在第二中,把块设备文件/dev/loop0与映象文件/tmp/loop_tmp相关联,然后对/dev/loop0及虚拟盘进行操作,就作用在/ltmp/loop_tmp上。

    而第三中,是直接对映象文件/tmp/loop_tmp进行操作,用mke2fs –F …将其当作块设备文件进行操作。


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/hzdysymbol/archive/2009/01/17/3796814.aspx

如何在Linux系统下制作RamDisk 翻译作品,详细介绍了RamDisk,以及在Linux系统下制作RamDisk的步骤。 立即下载

相关推荐

国嵌-制作ramdisk的根文件系统-rootfs

http://blog.youkuaiyun.com/jason6765599/article/details/12015699#t0 制作RAMDISK配套资料,根文件系统。

ramdisk制作过程记录

一. ramdisk.gz.uboot自作过程: 1. 创建一个loop目录,作为挂载点: mkdir loop 2. 获取一个10M的镜像,count会在kernel配置中使用: dd if=/dev/zero of=ramdisk bs=1k count=10240 3. 格式化为ext2: mke2fs -F -v -m 0 ramdisk 4. 切换root: su r

dean_gdp的专栏 5392

GCJ02坐标系转WGS84坐标系(已实地测试基本无偏差)

坐标系转化,GCJ02坐标系,WGS84坐标系

Xiao_XianYu_的博客 1855

嵌入式 linux 下ramdisk 根文件制作及错误的解决

1、建立loop设备的临时挂载点     #mkdir /mnt/loop     2、建立文件系统映象     #dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360     以上2条同二中是一样     3、mke2fs –F –v –m 0 /tmp/loop_tmp     此处-F选项将可迫使mkefs2在文件上运行。否则mke

skdkjxy的专栏 2407

OC5021B 100V宽电压输入 LED车灯/大功率照明 DC降压型恒流驱动器

适用于LED大功率汽车大灯/大功率照明 OC5021B 100V宽电压输入 5A电流设计 DC-DC降压型恒流驱动IC

Handsome63841990的博客 2417

别再死磕Excel了!用Vensim PLE免费版,30分钟搞定你的第一个系统动力学模型

本文介绍如何使用Vensim PLE免费版在30分钟内构建第一个系统动力学模型,无需编程或数学基础。通过个人储蓄增长案例,详细讲解因果回路图绘制、存量流量图创建及方程编写,帮助读者掌握动态系统建模与仿真技巧,适用于理财、项目管理等多种场景。

weixin_29045001的博客 329

【一文搞懂】FD_SET的使用_fdset

阅读大概需要十分钟,绝对干货,看完还没搞懂你找我。随便查一下,可以看到对FD_SET的说明如下:一个long类型的数组,提供给select()机制使用的一种数据结构。主要功能是建立联系。其中每一个数组元素都能与任意一个打开的句柄(socket句柄、文件、命名管道、设备句柄等)建立联系。但是这种建立联系的工作是必须由程序员自己去完成的。

2401_87555477的博客 1782

告别RXTX:SpringBoot集成jSerialComm实现更现代的串口通信(附完整代码对比)

本文详细介绍了如何从传统的RXTX库迁移到jSerialComm,实现SpringBoot项目中更现代的串口通信。通过对比两种技术的依赖配置、API设计和跨平台支持,展示了jSerialComm在简化部署、提升性能和增强稳定性方面的优势,并提供了完整的代码示例和实战经验。

weixin_42522964的博客 286

根文件系统相关操作

一、如何对已有的根文件系统进行修改 假设已有一个名为ramdisk.gz的文件系统压缩文件,可以通过以下步骤实现对该文件系统的修改: 1. 将文件系统的压缩文件解压成映像文件; 进入ramdisk.gz所在目录: #cd … 解压ramdisk.gz: #gunzip ramdisk.gz 2. 挂载解压后的映像文件来实现修改; 创建挂载目录: #sudo mkdir /mnt/

xuewuzhijin2012的专栏 448

鸿蒙录屏推流应用完整解决方案

本文介绍了鸿蒙录屏推流应用的完整解决方案。项目采用分层架构设计,包含录屏、编码、推流等功能模块,要求实现4小时稳定运行且延迟小于3秒。技术实现包括:1) 通过config.json配置应用权限和功能;2) 使用ScreenRecorderManager类管理录屏服务,实现视频采集、音频录制和编码参数配置;3) 核心功能包含初始化录屏器、开始/停止录屏等操作。该方案充分利用鸿蒙系统的多媒体API,实现了高性能的屏幕录制与实时推流功能。

huanghm88的专栏 289

【DRAM存储器五十五】LPDDR5介绍--command bus training

本文详细介绍了LPDDR5命令总线训练(CBT)的两种模式操作流程。在启用ODT进行高频/中频操作前,必须对命令总线进行训练,包括调整VREF(CA)电压和CA/CS信号时序。两种模式的主要区别在于VREF(CA)设置方式:模式1通过MR12直接设置,模式2通过DMI[0]引脚捕获DQ[6:0]数据更新MR12。训练流程涉及频率切换、模式寄存器配置、pattern发送及结果采样等步骤,最终确定最佳VREF(CA)和时序参数。文章还分析了不同PHY实现可能存在的差异,如训练pattern生成方式和采样次数等。

highman110的博客 648

Linux下Ramdisk根文件系统制作过程解析(转载)

Linux下Ramdisk根文件系统制作过程解析本文讲述了Linux下Ramdisk根文件系统制作过程。    一、在一个已建好的文件系统上进行修改     设已建立好的文件系统压缩文件为ramdisk.gz     1、解压     #cd ramdisk.gz所在目录     #gunzip ramdisk.gz     在解压后,得到文件系统镜

3470

使用 IMDb API 获取电影评分和评论的 Python 爬虫

电影是人们娱乐生活中的重要组成部分,随着电影产业的快速发展,观众对电影的评价也越来越多样化。IMDb(互联网电影数据库)作为全球最大的电影评分和评论平台之一,收录了成千上万部电影、电视节目及其相关数据。它提供了一个强大的 API 接口,允许开发者访问电影的评分、评论、演员信息等数据。本文将带你一步一步实现一个 Python 爬虫,使用 IMDb API 获取电影的评分和评论。我们将通过这个爬虫来分析一些热门电影的观众反馈,并可视化分析结果。

2201_76125261的博客 1055

linux 文件系统压缩比,Linux下Ramdisk根文件系统制作过程解析

Linux下Ramdisk根文件系统制作过程解析http://www.soidc.net/articles/1215484977397/20080407/1215945405315_1.html一、在一个已建好的文件系统上进行修改设已建立好的文件系统压缩文件为ramdisk.gz1、解压#cd ramdisk.gz所在目录#gunzip ramdisk.gz在解压后,得到文件系统镜象文件ramdi...

weixin_32708653的博客 308

提交 ieee 手稿出现:Do not include the Reviewer PDF with my submission 怎么办

IEEE投稿Reviewer PDF选项说明 投稿时出现的"Do not include the Reviewer PDF with my submission"选项控制是否附带评审专用PDF文件。Reviewer PDF是系统自动生成包含所有投稿材料的完整PDF,用于同行评审。建议保持默认不勾选状态,除非确认编辑部不需要该文件,否则可能影响审稿流程。勾选表示不附带此PDF,不勾选则会正常生成并提交该评审文件。

ZhangJiqun&191cm&85kg 2195

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux根的文件系统ext,Linux下Ramdisk根文件系统制作过程解析

一、在一个已建好的文件系统上进行修改设已建立好的文件系统压缩文件为ramdisk.gz1、解压#cd ramdisk.gz所在目录#gunzip ramdisk.gz在解压后,得到文件系统镜象文件ramdisk, 覆盖了原来的压缩文件2、镜象文件挂载镜象文件必须经过挂载后才能看到文件系统中的各个目录和详细内容#mkdir /mnt/loop /* /mnt/loop 是文件系统要挂载到的目录#mo...

weixin_35361584的博客 362

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android 根文件系统,使用mkbootfs制作ramdisk根文件系统

环境Qemu:QEMU emulator version 3.1.0Linux:Linux-4.14.13工具链:arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320)Android:7.1.2busyBox:BusyBox v1.24.2概述Android系统使用的根文件系统是用mkbootfs和minigzip制作的,其中mkbootf...

weixin_42524945的博客 843

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Linux文件系统——ramdisk根文件系统制作

ram disk介绍   ram disk顾名思义,内存磁盘。我们平常接触的一些存储介质,如:nor flash、nand flash、emmc、ufs、以及机械硬盘固态硬盘等,都是用来存储数据的,同理内存也是可以当成磁盘来存储数据的,唯一不同的就是ram是掉电不保存的,而前面提到的那些存储介质掉电都是保存数据的。   我们都知道,在linux中,上面介绍的flash这些存储介质,都是需要有对应的...

深海 1万+
上一篇: 建立ARM+Linux应用程序调试环境
下一篇: 笔记
vcvbve
博客等级 码龄17年 5粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值