老旧文章/UbuntuHelp:LiveCDCustomization/zh
定制图形安装光盘
原文出处: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 cp /etc/resolv.conf edit/etc/
根据你的配置,你也许需要复制hosts文件
sudo cp /etc/hosts edit/etc/
sudo chroot edit mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts
为了避免区域问题以及导入GPS key
export HOME=/root export LC_ALL=C
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 上有很好的信息。我没有看到有关的许可信息,所以我们用到它的资源时需要得到作者的许可。