老旧文章/UbuntuHelp:LiveCDCustomization/zh:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第49行: | 第49行: | ||
首先,请确认你安装了必要的工具: | 首先,请确认你安装了必要的工具: | ||
<pre> | <pre>sudo apt-get install squashfs-tools mkisofs qemu | ||
</pre> | </pre> | ||
加载 squashfs 模块 | 加载 squashfs 模块 | ||
<pre> | <pre>sudo modprobe squashfs | ||
</pre> | </pre> | ||
你需要从 http://releases.ubuntu.com/ 下载一张官方的图形安装光盘 | 你需要从 http://releases.ubuntu.com/ 下载一张官方的图形安装光盘 | ||
第59行: | 第59行: | ||
把它移动或者复制到一个空的目录: | 把它移动或者复制到一个空的目录: | ||
<pre> | <pre>mkdir ~/live | ||
mv ubuntu-7.10-desktop-i386.iso ~/live | |||
cd ~/live | |||
</pre> | </pre> | ||
==== 释放出光盘的内容 ==== | ==== 释放出光盘的内容 ==== | ||
挂载桌面系统 .iso | 挂载桌面系统 .iso | ||
<pre> | <pre>mkdir mnt | ||
sudo mount -o loop ubuntu-7.10-desktop-i386.iso mnt | |||
</pre> | </pre> | ||
把 .iso 的内容释放到 'extract-cd' 目录 | 把 .iso 的内容释放到 'extract-cd' 目录 | ||
<pre> | <pre>mkdir extract-cd | ||
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd | |||
</pre> | </pre> | ||
==== 释放桌面系统 ==== | ==== 释放桌面系统 ==== | ||
加载 squashfs 文件系统 | 加载 squashfs 文件系统 | ||
<pre> | <pre>mkdir squashfs | ||
sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs | |||
</pre> | </pre> | ||
把 squashfs 内容释放到 'edit' 目录 | 把 squashfs 内容释放到 'edit' 目录 | ||
<pre> | <pre>mkdir edit | ||
sudo cp -a squashfs/* edit/ | |||
</pre> | </pre> | ||
==== 准备以及虚拟根目录 ==== | ==== 准备以及虚拟根目录 ==== | ||
第91行: | 第91行: | ||
<pre>sudo cp /etc/hosts edit/etc/ | <pre>sudo cp /etc/hosts edit/etc/ | ||
</pre> <pre>sudo chroot edit | </pre> <pre>sudo chroot edit | ||
mount -t proc none /proc | mount -t proc none /proc | ||
mount -t sysfs none /sys | mount -t sysfs none /sys | ||
mount -t devpts none /dev/pts | mount -t devpts none /dev/pts | ||
</pre> | </pre> | ||
为了避免区域问题以及导入GPS key | 为了避免区域问题以及导入GPS key | ||
<pre>export HOME=/root | <pre>export HOME=/root | ||
export LC_ALL=C | export LC_ALL=C | ||
</pre> | </pre> | ||
==== Customizations(定制) ==== | ==== Customizations(定制) ==== | ||
第110行: | 第112行: | ||
Umount special filesystems and exit chroot | Umount special filesystems and exit chroot | ||
卸载特殊的文件系统,然後退出chroot | |||
<pre> | <pre>sudo umount proc | ||
sudo umount sys | |||
sudo rm -rf /tmp/* | |||
exit | |||
</pre> | </pre> | ||
==== Putting the CD together(把CD合在一起) ==== | ==== Putting the CD together(把CD合在一起) ==== | ||
第127行: | 第129行: | ||
压缩文件系统 | 压缩文件系统 | ||
<pre> | <pre>sudo rm extract-cd/casper/filesystem.squashfs | ||
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs | |||
</pre> | </pre> | ||
Set an image name in extract-cd/README.diskdefines | Set an image name in extract-cd/README.diskdefines | ||
在extract-cd/README.diskdefines中设置一个镜像名 | 在extract-cd/README.diskdefines中设置一个镜像名 | ||
<pre> | <pre>sudo vim extract-cd/README.diskdefines | ||
</pre> | </pre> | ||
Calculate md5 sums | Calculate md5 sums | ||
计算md5 sum | 计算md5 sum | ||
<pre> | <pre>(cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt) | ||
</pre> | </pre> | ||
Create Iso | Create Iso | ||
制作 ISO 文件 | 制作 ISO 文件 | ||
<pre> | <pre>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 . | |||
</pre> | </pre> | ||
==== Testing the CD(测试CD) ==== | ==== Testing the CD(测试CD) ==== | ||
第151行: | 第153行: | ||
用qemu模拟器来测试 | 用qemu模拟器来测试 | ||
<pre> | <pre>qemu -cdrom cdname.iso -boot d | ||
</pre> | </pre> | ||
2008年2月26日 (二) 23:17的版本
定制图形安装光盘
原文出处: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 editmount -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 上有很好的信息。我没有看到有关的许可信息,所以我们用到它的资源时需要得到作者的许可。