mke2fs 制作ext2文件系统image

方法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那个好些, 不用受内存
大小的限制.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值