再弄一张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文件名。

文章有关的文件(字体,背景,菜单文件),点击下载

This entry was posted in LiveCD and tagged . Bookmark the permalink.

4 Responses to 再弄一张Ubuntu四合一DVD

  1. bingo says:

    能把menu.lst贴出来吗?谢谢

    回复回复
  2. muzuiget says:

    @bingo
    当然可以。

    回复回复
  3. 菜鸟 says:

    强大的博客,,我这新手收藏了,,哈,
    看完有几个问题,,二极菜单怎样编,二极菜单的背景图像怎样编,如果加个GHOST版的xp那要怎样写啊,,可以把你的menu.ls给我参考参考吗,,

    回复回复
  4. muzuiget says:

    @菜鸟
    我做的Nin1LinuxCD都有用到,具体可以看《添加DOS和WinPE和调用GHOST自动恢复》这篇文章以及评论以及提到的链接。

    回复回复

发表评论

您的电子邮箱不会被公开。 标记为 * 的区域必须填写

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">