个人工具

老旧文章/UbuntuHelp:LiveCDCustomization/zh

来自Ubuntu中文

Junglej讨论 | 贡献2008年2月26日 (二) 22:10的版本

跳转至: 导航, 搜索

定制图形安装光盘

原文出处:https://help.ubuntu.com/community/LiveCDCustomization

原文作者:

授权许可:

翻译人员:oylb

校正人员:junglej

贡献人员:

适用版本: 文章状态:等待校正

更新日期:2008.2.26



如何定制Ubuntu图形安装光盘

你或许基于以下原因定制UBUNTU桌面(LIVE)版:

  • 预装特定的程序
  • 本地化语言支持
  • 移出软件安装包
  • 添加软件安装包
  • 更新软件安装包
  • 改变系统默认设置 (主题、图标、桌面、面板、浏览器主页等等)

本向导针对桌面版/LIVE CD,定制文字安装光盘和服务器安装光盘请参考其他页面。

系统需求

  • 至少3-5 GB的空闲磁盘空间
  • 至少512MB内存和1GB交换分区(推荐)
  • squashfs-tools
  • mkisofs
  • 一个支持squashfs的Ubuntu内核(Ubuntu6.06以及更高版本)
  • QEMU、VirtualBox或VMware用于测试(可选)

过程

首先,请确认你安装了必要的工具:

$ sudo apt-get install squashfs-tools mkisofs qemu

加载 squashfs 模块

$ sudo modprobe squashfs

你需要从 http://releases.ubuntu.com/ 下载一张官方的图形安装光盘

注:以Ubuntu-7.10-desktop-i386.iso为例

把它移动或者复制到一个空的目录:

$ mkdir ~/live
$ mv ubuntu-7.10-desktop-i386.iso ~/live
$ cd ~/live

释放出光盘的内容

挂载桌面系统 .iso

$ mkdir mnt
$ sudo mount -o loop ubuntu-7.10-desktop-i386.iso mnt

把 .iso 的内容释放到 'extract-cd' 目录

$ mkdir extract-cd
$ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

释放桌面系统

加载 squashfs 文件系统

$ mkdir squashfs
$ sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs

把 squashfs 内容释放到 'edit' 目录

$ mkdir edit
$ sudo cp -a squashfs/* edit/

准备以及改变根目录

$ sudo chroot edit
$ sudo mount -t proc proc proc
$ sudo mount -t sysfs sys sys

Customizations(定制)

Do anything you want

做您想做的事情

Cleanup(清理)

Umount special filesystems and exit chroot

卸载特殊的文件系统,然后退出chroot

$ sudo umount proc
$ sudo umount sys
$ sudo rm -rf /tmp/*
$ exit

Putting the CD together(把CD合在一起)

Regenarate manifest

重建manifest

chmod +w extract-cd/casper/filesystem.manifest
sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest

Compress filesystem

压缩文件系统

$ sudo rm extract-cd/casper/filesystem.squashfs
$ sudo mksquashfs edit extract-cd/casper/filesystem.squashfs

Set an image name in extract-cd/README.diskdefines

在extract-cd/README.diskdefines中设置一个镜像名

$ sudo vim extract-cd/README.diskdefines

Calculate md5 sums

计算md5 sum

$ (cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)

Create Iso

制作 ISO 文件

$ cd extract-cd
$ mkisofs -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 ../cdname.iso .

Testing the CD(测试CD)

Test using qemu emulator

用qemu模拟器来测试

$ qemu -cdrom cdname.iso -boot d

Comments(评论)

If you have any comments or questions, please feel free to add them here.

如果您有任何意见或者疑问,您可以放心地把它写到这里。

I have created an small Customization Example (named Firebird Live CD) by adding an firebird-super-server and flamerobin packages

我制作了一个小的定制光盘样例(名为"火鸟" Live CD),我在其中加入了firebird-super-server 和 flamerobin 包。 http://flamerobin.blogspot.com/2006/05/creating-flamerobinfirebird-live-cd.html


1st off great write-up and very timely, THX. 2nd here are my comments

首先,写得很好,很及时,谢谢。另外,这是我的评论:

  • In Customizations One has to update /etc/resolv.conf in the chroot for network access
  • 在“定制”步骤,为了访问网络,您需要更新在chroot中的 /etc/resolv.conf 。
  • In Calculate MD5sums the text needs to be updated. There are read permission errors on the the filesystem.squashfs and md5sums.txt in the extract-cd cannot be written. I worked around this by cd'ing into extract-cd and temporarily changing the permission on casper/filesystem.squashfs to allow reading. Also, the md5sums file was created in .. and then copied over with sudo.
  • 在“计算 MD5 Sum”步骤,需要有些修改。由于在 extract-cd 中的 filesystem.squashfs 和 md5sums.txt 不能被写入,这会导致权限错误。我通过cd 进入 extract-cd ,然后临时改变 casper/filesystem.squashfs 的权限,让它可读,这样就解决了这个问题。md5sums文件被建立在..中,然后用sudo命令复制过来。
  • In Create ISO a sudo is needed.
  • 在“制作 ISO 文件”步骤,需要 sudo 命令。

I have created tool for automatic remastering of live CD images. See http://lichota.net/~krzysiek/projects/ubuntu-livecd-customization/ .

我制作了一个自动重新灌录 Live CD 镜像的工具。参见 http://lichota.net/~krzysiek/projects/ubuntu-livecd-customization/

Features:

特性:

    • GUI for simple creation of localized CDs (including changing gfxboot and installing language packs)
    • 有简单制作本地化 CDs 的 GUI(包括改变 gfxboot 和 安装语言包)
    • Script for customization of ISO, SquashFS and initrd on live CD.
    • Live CD 中包含定制 ISO,SquasFS 和 initrd 的脚本

I think we also need a small documentation about customizing gfxboot, at least something about changing the default language.

我想我们需要一篇关于如果定制 gfxboot 的文档,至少要涉及如何改变默认的语言。


http://www.atworkonline.it/~bibe/ubuntu/custom-livecd.htm seems to have some nice info. no license that I can see so we would need to ask permission from the author to us its material.

http://www.atworkonline.it/~bibe/ubuntu/custom-livecd.htm 上有很好的信息。我没有看到有关的许可信息,所以我们用到它的资源时需要得到作者的许可。