定制个性化Live CD

总体来说,自定义 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

cat extract-cd/md5sum.draft | grep -v md5sum.draft | grep -v isolinux/boot.cat

> extract-cd/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 .(最后一个点一定要)


七、将生成的镜像放到虚拟机上进行检验。

                                                                                                              ----by  蓝若空灵  2012/7/27