总体来说,自定义 Ubuntu 的 Live CD 光盘,实际很简单,具体的制作有如下几个步骤:
1、准备工作
2、展开光盘中的内容
3、展开桌面系统
4、改变设置,以root身份来编辑桌面系统
5、进行自定义
6、生成ISO镜像
7、在虚拟机上检验
一、前期的准备工作
装入 squashfs文件系统处理工具以及 ISO制作工具
sudo apt-get install squashfs-tools genisoimage
接下来执行sudo modprobe squashfs,即加载 squashfs模块,以供后面对 Ubuntu Live
CD 光盘中的 squashfs 格式的文件进行处理。
二、展开光盘中的内容
1、创建一个环境
mkdir ~/live
mv ubuntu-9.04-desktop-i386.iso ~/live
cd ~/live
2、挂载光盘镜像
mkdir mnt
sudo mount -o loop ubuntu-9.04-desktop-i386.iso mnt
3、展开镜像文件中的内容到 extract-cd 目录下
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
三、展开桌面系统
1、挂载 squashfs 文件系统
mkdir squashfs
sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
2、展开 squashfs 文件系统中的内容到 edit 目录下
mkdir edit
sudo cp -a squashfs/* edit/(这一步需要较长的时间)
四、改变设置,以root身份来编辑桌面系统
1、如果你需要网络,则将 resolv.conf 文件复制到展开的 squashfs 文件系统目录 edit 目录
下。具体做法是:
sudo cp /etc/resolv.conf edit/etc/(如果要用apt来安装软件的话,这一步是必须的)
2、若需要你的计算机配置的话,请复制 hosts 文件到 edit/etc/ 目录下:
sudo cp /etc/hosts edit/etc/
sudo mount --bind /dev/ edit/dev
sudo chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
五、进行自定义
这一部分可以根据自己的需要进行修改,比如修改桌面背景等等。
目前已经成功修改了修改桌面背景和安装应用。下面对这两方面作一简单的阐述:
1、桌面背景的修改
ubuntu下桌面背景一般放在/usr/share/backgrounds目录下,如果你想要修改桌面背景
的话,只要将名为warty-final-ubuntu.png的图片(默认的背景图片)换成你想要的图片就
可以了,但图片名要和原来的保持一致。这其实是一种偷懒的修改方法,或者你可以这样做:
将要设置的背景图片放置在 /usr/share/backgrounds目录下。然后修改默认 的“注册表”
的值。具体的 gconf 值是/usr/share/gnome-background-properties/ubuntu-wallpaper
.xml和/usr/share/gconf/defaults/16_ubuntu-wallpapers文件中的/usr/share/backgro
-unds/warty-final-ubuntu.png.将值 /usr/share/backgrounds/warty-final-ubuntu.png
改成你要设置的图片的绝对路径即可。
2、安装应用程序
大家都知道在ubuntu下安装应用用apt很方便,但必须要有网络,所以之前说的一步就
十分重要了。这里,我用的下好的deb包来安装的(当然依赖还是用apt来安装吧,不然
太麻烦了),我们发现展开的ios中,sources.list中的源相当之少,所以可以你可以用主机
上的sources.list来替换它,只要执行
rm /home/yourname/live/edit/etc/apt/sources.list
cp /etc/apt/source.list /home/yourname/live/edit/etc/apt
apt-get update(这一步很必要)
然后安装你要安装的deb包
dpkg -i 包名及路径(当然它会提示少依赖,用apt装上依赖再来执行这一步就行了)
(当然了,在镜像中安装软件的时候,需要change root,即执行 sudo chroot edit,想
回到主机的root时只要执行exit就可以了。)
六、生成ISO镜像
( 1、接下来重新制作 squashfs 文件:)(若未对squashfs操作可不做这一步)
sudo rm extract-cd/casper/filesystem.squashfs
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
2、生成新的 MD5 校验码到 md5sum.txt 文件中:
rm extract-cd/md5sum.txt
find -type f -print0 |sudo xargs -0 md5sum |grep -v isolinux/boot.cat |sudo tee md5sum.txt
3、创建最终的 ISO 文件,做法是:
cd extract-cd
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b
isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-
info-table -o ../ubuntu-9.04.1-desktop-i386-custom.iso .(最后一个点一定要)
七、将生成的镜像放到虚拟机上进行检验。