博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mke2fs 制作ext2文件系统image
阅读量:7228 次
发布时间:2019-06-29

本文共 1116 字,大约阅读时间需要 3 分钟。

方法1: 利用/dev/ram1:

linux下有很多ram,我们用ram1,首先把ram1格式化成ext2文件系统

[root@gucuiwen babylinux]#   sudo mkfs.ext2 -m0 /dev/ram1
将ram1挂装到文件系统中:
先建立一个挂装点:
#mkdir /mnt/ram
挂上ram1:
# sudo mount /dev/ram1 /mnt/ram
将先前做好的rootfs根文件系统拷贝到ram1上.
# sudo cp -R dist/* /mnt/ram/
拷贝好根文件系统后卸载ram1:
# sudo umount /dev/ram1
再用dd把这个ram1以映象方式取出来:
[root@gucuiwen babylinux]# dd if=/dev/ram1 of=initrd.img
读入了 8192+0 个块输出了 8192+0 个块
把生成的initrd.img拷到一个地方备用
gzip -v9 initrd.img        //压缩成initrd.img.gz
方法2 : loop device和ram disk.

  
loop device:
创建fs image:
dd if=/dev/zero of=image.file bs=1k count=100000
losetup /dev/loop0 image.file
mke2fs -c /dev/loop0 100000
加载:
mount -t ext2 /dev/loop0 /mnt
umount /mnt
losetup -d /dev/loop0
或者
mount -t ext2 -o loop image.file /mnt
umount /mnt
  
loop device将一个硬盘上的文件虚拟成块设备,大小取决于losetup
时那个文件的大小,断电后内容不丢失;
ram disk将一块内存虚拟成块设备,大小取决于ramdisk_size启动参数,
断电后内容丢失。
  
ramdisk: 根据grub启动参数ramdisk_size决定大小,默认4MB
可以格式化ram disk并往里面写文件,然后dd出来做一个fs image,
但这个
image大小跟ramdisk一样大(疑问:好像可以比ramdisk的
容量小,因为
mke2fs可以指定block数目)。
  
综上,做一个fs image的办法还是得losetup那个好些, 不用受内存
大小的限制.

转载于:https://www.cnblogs.com/hehehaha/archive/2013/01/30/6332977.html

你可能感兴趣的文章
iOS的soap应用(webservice) 开发
查看>>
Delphi listview 点击列头排序
查看>>
android preference page
查看>>
mysql索引挑选
查看>>
关于冰岛足球的段子
查看>>
在 Windows 中安装 Laravel 5.1.X
查看>>
TeamViewer 9发布-在Linux下安装运行
查看>>
Centos7 Gitea安装教程 - 一款易搭建,运行快的Git服务器
查看>>
CentOS minimal 网络配置
查看>>
Nginx架构
查看>>
为什么结构体中的数组不能用const int变量指定大小?
查看>>
模板特化疑问
查看>>
ruby多线程理解
查看>>
享用甜点时要不要来杯咖啡?Java 与树莓派 (Raspberry PI)
查看>>
精通Oracle 10g Pl/SQL编程
查看>>
邱怡轩:R中大规模矩阵的SVD与矩阵补全
查看>>
C++ Primer习题集(第5版)
查看>>
centos7 mysql 5.7 yum安装
查看>>
JSOUP简单应用
查看>>
Mysql,SqlServer,Oracle主键自动增长的设置
查看>>