如何给img文件增加空间

转载时请注明出处和作者联系方式
文章出处:http://blog.youkuaiyun.com/jack0106 
作者联系方式:冯牮 fengjian0106@yahoo.com.cn


最近看内核驱动,想在chroot环境下自己编译meego的内核玩玩,结果碰到个问题,chroot使用的img镜像文件太小了,编译内核的时候img中的空间不够用。上网google了一番,找到解决方法。好记性不如烂笔头,在此记录一下。

 

原贴请看 http://www.manyco.com/02/001.htm

 

 

 

说明:
加入add.img就是我们要增加的空间大小50M
old.img就是我需要增加空间的img文件,原先为100M 

准备工作:原先old.img有个文件manyco.txt,内容为"hello,manyco.com"
[root@manyco ~]# losetup /dev/loop0 /old.img
[root@manyco ~]# mount /dev/loop0 /tmp

[root@manyco ~]# cd /tmp
[root@manyco tmp]# ls
lost+found 
[root@manyco tmp]# echo "hello,manyco.com" > manyco.txt
[root@manyco tmp]# cat manyco.txt
hello,manyco.com 

正式开始:
1.创建一个50M大小的文件
[root@manyco tmp]#dd if=/dev/zero of=/add.img bs=1M count=50

2. 把这个文件关联成一个块设备,losetup就是干这件事情的
因为把它关联成块设备,我们好格式化个
[root@manyco tmp]#losetup /dev/loop0 /add.img

3. 查看关联是否成功
[root@manyco tmp]# losetup -a
/dev/loop0: [fd00]:173960 (/add.img)

4. 把它格式化成ext3文件系统
[root@manyco tmp]#mkfs.ext3 /dev/loop0

5,卸载关联关系,再查看
[root@manyco tmp]#losetup -d /dev/loop0
[root@manyco tmp]#losetup -a

6.给原img文件增加空间
注意:这里是>>符号来追加,不是>,>是新写入!!
[root@manyco tmp]#cat /add.img >> /old.img

7. 扫描检查
[root@manyco tmp]#e2fsck -f /old.img

8. 重新设置其大小属性,到这一步为止我们的工作的可以结束了
但是作为一名有经验的高级研发人员,我们还得进行
[root@manyco tmp]#resize2fs /old.img

9,开始检查正确性
[root@manyco ~]# losetup /dev/loop0 /old.img
#要把这个虚拟的块设备mount到一个文件系统/tmp
[root@manyco ~]# mount /dev/loop0 /tmp

[root@manyco]cd /tmp
10,创建一个比原old.img空间大的文件,看看能否成功,如果能表明我们的做法OK了
如果不能,你还得继续排查 
[root@manyco tmp]# dd if=/dev/zero of=11.img bs=1M count=130
130+0 records in
130+0 records out
136314880 bytes (136 MB) copied, 12.2855 seconds, 11.1 MB/s
[root@manyco tmp]# [root@manyco tmp]# du -lh
12K ./lost+found
131M .
OK,we are success!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值