老旧文章/UbuntuHelp:LiveCDCustomization/zh
定制 LiveCD
原文出处:
原文作者:
授权许可:
翻译人员:oylb
校正人员:
贡献人员:
适用版本: 文章状态:等待校正
如何定制Ubuntu图形安装光盘
你或许基于以下原因定制UBUNTU桌面(LIVE)版:
- 预装特定的程序
- 本地化语言支持
- 移出软件安装包
- 添加软件安装包
- 更新软件安装包
- 改变系统默认设置 (主题、图标、桌面、面板、浏览器主页等等)
本向导针对桌面版/LIVE CD,定制文字安装光盘和服务器安装光盘请参考其他页面。
System Requirements(系统需求)
- About 3-5 gigabytes of free space
- 大约3-5 GB的空闲磁盘空间
- I built the CDs pretty quickly with 512 MB RAM and 1 GB swap
- 我在 512MB 内存和 1GB 的交换分区的环境下可以很快速的创建 CDs
- `squashfs-utils`
- `mkisofs`
- An Ubuntu kernel with squashfs support (the stock kernel in DapperDrake has it)
- 支持 squashfs 的Ubuntu内核( DapperDrake 自带的内核中包含此项支持)
- Qemu for testing
- 用于测试的 Qemu
The Process(过程)
First make sure that you have installed the needed tools:
首先,请确认您安装了必要的工具:
$ sudo apt-get install squashfs-tools mkisofs qemu
Load the squashfs module
加载 squashfs 模块
$ sudo modprobe squashfs
You need to download an official Desktop CD http://releases.ubuntu.com/dapper/
你需要从 http://releases.ubuntu.com/dapper/ 下载一张官方的桌面系统CD
Move or copy it into an empty directory:
把它移动或者复制到一个空的目录:
$ mkdir ~/live $ mv ubuntu-6.06-desktop-i386.iso ~/live $ cd ~/live
Extracting the CD contents(释放出CD的内容)
Mount the Desktop .iso
挂载桌面系统 .iso
$ mkdir mnt $ sudo mount -o loop ubuntu-6.06-desktop-i386.iso mnt
Extract .iso contents into dir 'extract-cd'
把 .iso 的内容释放到 'extract-cd' 目录
$ mkdir extract-cd $ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
Extracting the Desktop system(释放桌面系统)
Mount the squashfs filesystem
加载 squashfs 文件系统
$ mkdir squashfs $ sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
Extract squashfs contents into dir 'edit'
把 squashfs 内容释放到 'edit' 目录
$ mkdir edit $ sudo cp -a squashfs/* edit/
Prepare and chroot(准备以及改变根目录)
$ 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 上有很好的信息。我没有看到有关的许可信息,所以我们用到它的资源时需要得到作者的许可。