首页 > 代码库 > unsquashfs的部署和用法
unsquashfs的部署和用法
场景说明:在定制根文件系统的时候,我们可以尝试使用LiveCD下LiveOS提供的文件系统,通过修改这个文件系统,然后重新打包的方式,定制一个启动系统。部署这样子的文件系统环境是非常有用的。
1)和虚拟机创建一个共享文件夹,方便刻盘使用,当然前提是vmvare tool必须的!!
2)空间不小于¥GB,squashfs.img文件是600MB,解压之后是1500M,同时需要打包的环境。
3)创建文件夹squashfs-root文件夹,使用unsquashfs解压
unsquashfs -d(指定解压出来的squashfs-root文件夹的路径)
-f(指定squashfs.img的全路径)
首先挂载光盘,然后,指定解压出来的路径到squashfs-root,然后指定squashfs.img文件目录。
4)
将squashfs.img文件解压之后,获得一个squashfs-root的文件
squashfs-root目录下的文件
ext3fs.img文件
mount -o loop,rw ext3fs.img /mnt/livecd-root/
现在我们可以进入到livecd-root目录,看到五脏俱全的文件系统,
5) 在当前的控制台下切换根文件系统,使用chroot,这是一个将当前的目录,看做是根文件系统的样子,我们可以直接操作,而留下的痕迹就是直接改变这个文件系统,而不是宿主。
chroot 当前控制台切换到当前的目录作为根文件系统
这个时候,这个地点,使用chkconfig,rpm 等等绝对是影响深远,但是不损分毫整个原有系统,一个虚影的存在。
6)重新打包是一个好的主意:
mksquashfs squashfs-root/ squashfs.img
7)
8)替换掉原有的文件,这样子就打上了自己的烙印
9)重新制作IOS镜像
制作光盘镜像的指令如下:
进入到光盘文件的当前目录:
[root@localhost iso]# ls
EFI file GPL isolinux LiveOS
[root@localhost iso]# mkisofs -r -T -J -L -V ‘FEDORA‘ -o /mnt/hgfs/D/CD/FEDORA.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./
详细说明:-o 是output指定ISO输出的文件路径
-V 是Set Volume ID指定光盘的卷标ID(必须和syslinux.cfg中的root的后缀一致)
-b 是开机映像文件,指定在制作可开机光盘时所需的开机映像文件