5 24 2008
再弄一张Ubuntu四合一DVD
上次弄个七合一DVD, 另外搜集了3个不同桌面管理器的发行版(不过都是基于7.10),不过实用价值不大,在无法联网的情况下,Ubuntu安装后连播放个mp3和rmvb都 不行(单独下载依赖包是件恼人的事)。官方虽然有DVD,但是里面的软件库不够有针对性,需要的没有,不需要的却有,还不够新。
这次弄的四合一DVD,就是4个Live CD(包括KDE4)合在一张DVD上,都是以iso文件保存,用Grub4DOS引导,方便循环再用,4张Live CD才2.3G,对于一张DVD还有2G多空间剩余,还可以弄一个光盘源,前几天找到方法搞定了, 一般常用软件的deb文件才500M,顺便也把kubuntu-desktop,xubuntu-desktop,edubuntu-desktop和中 文包都下载回来,这样无论装哪个桌面环境都能用本地源更新了,还下了一大堆可能用的着的软件,前前后后下了一千多个包,整个本地源才1.2G,还很充裕。
光盘根目录才3个文件夹,说一下方法,很简单,建立“iso_root“,在这个目录里建立光盘内容,我的目录文件如下
iso_root
|-- boot
| |-- grub grub4dos的几个配置文件
| | |-- fonts
| | |-- grldr
| | |-- memdisk
| | |-- menu.lst
| | `-- splash
| |-- kubuntu 下边几个文件都是提取光盘capser文件夹
| | |-- initrd.gz
| | `-- vmlinuz
| |-- kubuntuKDE4
| | |-- initrd.gz
| | `-- vmlinuz
| |-- ubuntu
| | |-- initrd.gz
| | `-- vmlinuz
| `-- xubuntu
| |-- initrd.gz
| `-- vmlinuz
|-- iso -> /home/username/iso/ 光盘镜像,iso文件夹为一个软连接
| |-- kubuntu-8.04-desktop-i386.iso
| |-- kubuntu-kde4-8.04-desktop-i386.iso
| |-- ubuntu-8.04-desktop-i386.iso
| `-- xubuntu-8.04-desktop-i386.iso
`-- pool -> /home/username/pool/ 本地源,pool文件夹为一个软连接
* |-- Packages.gz
* `-- archives
* |-- a.deb
* |-- b.deb
* |-- c.deb
* `-- z.deb
其中iso和pool文件夹都是软连接(用“ln -s”),建立软连接就不用把文件复制过来,省空间啊,然后终端进入这个目录,执行
genisoimage -r -J -joliet-long -b boot/grub/grldr -no-emul-boot -boot-load-size 4 -boot-info-table -hide boot.catalog -hide-joliet boot.catalog -V Ubuntu_4in1 -f -o ../Ubuntu_4in1.iso .
大小写敏感哦,一般制作iso文件都是用mkisofs这个命令的,不过在Ubuntu中,mkisofs没有manpage的,因为mkisofs是genisoimage的连接,用
ls /usr/bin/mkisofs
看看就知道了,genisoimage就有manpage,genisoimage是mkisofs的克隆分支(版权问题),换句话说这里用genisoimage和mkisofs一样。
参数说明(详细用“man genisoimage”)
最后那个点,光盘内容为当前目录内容。
- -r:使用Rock Ridge,并开放全部文件的读取权限。
- -J:使用Joliet格式的目录与文件名称Joliet。
- -joliet-long:支持103个字符的文件名,原因本地源中有些deb文件名很强大,超过64个字符,如果不加上这个参数,超过的字符会被截断,安装包时就会出错了。
- -b:引导文件映像,就是Grub4DOS那个grldr,路径是相对于光盘路径,这里是相对于命令最后那个点。
- -no-emul-boot -boot-load-size 4 -boot-info-table:这几个都是配搭Grub4DOS使用的。
- -hide boot.catalog -hide-joliet boot.catalog:genisoimage生成的光盘会在根目录下生成“boot.catalog”这个文件,加上这2个参数把它隐藏掉,眼不见为净。
- -V:就是光盘的卷标啦。
- -f:如果像我那个使用软连接的话,要加上这个参数,跟踪软连接。不然会genisoimage忽略掉的。
- -o:输出iso文件名。
文章有关的文件(字体,背景,菜单文件),点击下载

能把menu.lst贴出来吗?谢谢
@bingo
当然可以。