快捷搜索:   nginx

定制 ubuntu desktop livecd 自己做发行版

可以通过定制ubuntu-livecd的iso来实现,为什么不选alternate,先看它们的区别:
ubuntu-8.04-alternate-i386.iso VS ubuntu-8.04-livecd-i386.iso
alternate里面是一大堆的按顺序排列的包,安装时可以选择desktop,server,然后根据选择安装不同的包。
livecd里面最大的文 件是一个文件系统映像,即filesystem.squashfs,其实就是squashfs格式的压缩包。

下面以 ubuntu-8.04-desktop-i386.iso为例,在ubuntu-804测试通过:

1。 取出iso里面的所有内容
代码:
sudo mkdir   oldiso newiso
sudo mount   ubuntu-8.04-desktop-i386.iso   oldiso   -o   loop
sudo   cp   oldiso/* newiso/     -rp
sudo   umount   oldiso

这个时候,newiso里面就是原来iso的全部内容。

2。 解压filesystem.squashfs,必须解压到linux分区, 它位于newiso/casper/filesystem.squashfs
代码:
sudo unsquashfs newiso/casper/filesystem.squashfs

耐心等待,解压出来是一个squashfs-root目 录,大小约是原来的3倍左右,新安装的系统是不是差不多是这个大小呢?

3。开始定制系统
代码:
sudo cp /etc/resolv.conf squashfs-root/etc
sudo   chroot   squashfs-root    

默认的shell可能是sh,输入/bin/bash 就可以了, 这时候可以像在正常系统一样,用apt-get等命 令,当然没有图形界 面。
有些程 序需要proc,所以这里先挂载上。
代码:
mount none   /proc -t proc

代码:
apt-get   update
sudo apt-get   install   language-pack-gnome-zh   language-pack-zh ttf-arphic-uming   ttf-wqy-zenhei   ## 安装中文支持,和中文字体

.......
还有用apt-get 删除不用的软 件,例如oo,游戏等就不多说了,最后记得
代码:
apt-get clean     ##删除文件列表包
autoremove ##删除旧版本包
rm /etc/resolv.conf
umount   /proc


搞定之后,按ctrl+d 退出系统!!!

4.生成安装软件列表
sudo chroot squashfs-root dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee newiso/casper/filesystem.manifest
sudo cp -v newiso/casper/filesystem.manifest{,-desktop}

5. 重新压缩映像。
删掉原来newiso/casper/filesystem.squashfs,还是先备份吧。。

sudo mksquashfs squashfs-root newiso/casper/filesystem.squashfs ##等待一段时间复制代码

6. 编辑diskdefines,这里定义一些版本信息。


nano newiso/README.diskdefines


$ cat README.diskdefines


#define DISKNAME

Ubuntu

8.04.1 "Hardy Heron" -

Release

i386


#define TYPE binary


#define TYPEbinary 1


#define ARCH i386


#define ARCHi386 1


#define DISKNUM 1


#define DISKNUM1 1


#define TOTALNUM 0


#define TOTALNUM0 1



7. 生成各个文件的md5值.

sudo -s (cd newiso & find . -type f -print0 | xargs -0 md5sum > md5sum.txt) exit复制代码

8. 重新制作iso

cd newiso sudo mkisofs -r -V "my ubuntu" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o "../myubuntu-804-livecd-iso" . cd ../ ### 这才是最重要的复制代码

定制好的iso文件是:myubuntu-804-livecd-iso, 先用虚拟机器试试吧。。 kvm/qemu用以下命令:

sudo kvm -cdrom myubuntu-804-livecd-iso -localtime -m 300 ##300是分配的内存复制代码

我还写过一个帖子,把当前使用的ubuntu做成livecd/usb,上述步骤只是它的一个部分。从中可以看出制作基于ubuntu发行版的思路来。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论