个人工具

“老旧文章/UbuntuHelp:LiveCDCustomization/zh”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
第1行: 第1行:
 
== 定制 LiveCD ==
 
== 定制 LiveCD ==
  
原文出处:
+
原文出处:https://help.ubuntu.com/community/LiveCDCustomization
  
 
原文作者:
 
原文作者:
  
 
授权许可:
 
授权许可:
* [http://creativecommons.org/licenses/by-sa/2.0/ 创作共用协议Attribution-ShareAlike 2.0]
+
 
 +
* [http://creativecommons.org/licenses/by-sa/2.0/ 创作共享协议Attribution-ShareAlike 2.0]
 
* [http://www.gnu.org/copyleft/fdl.html GNU自由文档许可证]
 
* [http://www.gnu.org/copyleft/fdl.html GNU自由文档许可证]
  
 
翻译人员:oylb
 
翻译人员:oylb
  
校正人员:
+
校正人员:junglej
  
 
贡献人员:
 
贡献人员:
  
适用版本:
+
适用版本: 文章状态:[[等待校正]]
文章状态:[[等待校正]]
+
----
+
  
 +
更新日期:2008.2.26
 +
----
  
 +
<br>
  
 
=== 如何定制Ubuntu图形安装光盘 ===
 
=== 如何定制Ubuntu图形安装光盘 ===
第52行: 第54行:
  
 
首先,请确认您安装了必要的工具:
 
首先,请确认您安装了必要的工具:
 
+
<pre>$ sudo apt-get install squashfs-tools mkisofs qemu
<pre><nowiki>
+
</pre>  
$ sudo apt-get install squashfs-tools mkisofs qemu
+
</nowiki></pre>
+
 
+
 
Load the squashfs module
 
Load the squashfs module
  
 
加载 squashfs 模块
 
加载 squashfs 模块
<pre><nowiki>
+
<pre>$ sudo modprobe squashfs
$ sudo modprobe squashfs
+
</pre>  
</nowiki></pre>
+
 
+
 
You need to download an official Desktop CD http://releases.ubuntu.com/dapper/
 
You need to download an official Desktop CD http://releases.ubuntu.com/dapper/
  
第71行: 第68行:
  
 
把它移动或者复制到一个空的目录:
 
把它移动或者复制到一个空的目录:
<pre><nowiki>
+
<pre>$ mkdir ~/live
$ mkdir ~/live
+
 
$ mv ubuntu-6.06-desktop-i386.iso ~/live
 
$ mv ubuntu-6.06-desktop-i386.iso ~/live
 
$ cd ~/live
 
$ cd ~/live
</nowiki></pre>
+
</pre>  
 
+
 
==== Extracting the CD contents(释放出CD的内容) ====
 
==== Extracting the CD contents(释放出CD的内容) ====
  
第82行: 第77行:
  
 
挂载桌面系统 .iso
 
挂载桌面系统 .iso
<pre><nowiki>
+
<pre>$ mkdir mnt
$ mkdir mnt
+
 
$ sudo mount -o loop ubuntu-6.06-desktop-i386.iso mnt
 
$ sudo mount -o loop ubuntu-6.06-desktop-i386.iso mnt
</nowiki></pre>
+
</pre>  
 
+
 
Extract .iso contents into dir 'extract-cd'
 
Extract .iso contents into dir 'extract-cd'
  
 
把 .iso 的内容释放到 'extract-cd' 目录
 
把 .iso 的内容释放到 'extract-cd' 目录
<pre><nowiki>
+
<pre>$ mkdir extract-cd
$ mkdir extract-cd
+
 
$ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
 
$ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
</nowiki></pre>
+
</pre>  
 
+
 
==== Extracting the Desktop system(释放桌面系统) ====
 
==== Extracting the Desktop system(释放桌面系统) ====
  
第100行: 第91行:
  
 
加载 squashfs 文件系统
 
加载 squashfs 文件系统
<pre><nowiki>
+
<pre>$ mkdir squashfs
$ mkdir squashfs
+
 
$ sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
 
$ sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
</nowiki></pre>
+
</pre>  
 
+
 
Extract squashfs contents into dir 'edit'
 
Extract squashfs contents into dir 'edit'
  
 
把 squashfs 内容释放到 'edit' 目录
 
把 squashfs 内容释放到 'edit' 目录
<pre><nowiki>
+
<pre>$ mkdir edit
$ mkdir edit
+
 
$ sudo cp -a squashfs/* edit/
 
$ sudo cp -a squashfs/* edit/
</nowiki></pre>
+
</pre>  
 
+
 
==== Prepare and chroot(准备以及改变根目录) ====
 
==== Prepare and chroot(准备以及改变根目录) ====
 
+
<pre>$ sudo chroot edit
<pre><nowiki>
+
$ sudo chroot edit
+
 
$ sudo mount -t proc proc proc
 
$ sudo mount -t proc proc proc
 
$ sudo mount -t sysfs sys sys
 
$ sudo mount -t sysfs sys sys
</nowiki></pre>
+
</pre>  
 
+
 
==== Customizations(定制) ====
 
==== Customizations(定制) ====
  
第131行: 第115行:
 
Umount special filesystems and exit chroot
 
Umount special filesystems and exit chroot
  
卸载特殊的文件系统,然后退出chroot
+
卸载特殊的文件系统,然後退出chroot
<pre><nowiki>
+
<pre>$ sudo umount proc
$ sudo umount proc
+
 
$ sudo umount sys
 
$ sudo umount sys
 
$ sudo rm -rf /tmp/*
 
$ sudo rm -rf /tmp/*
 
$ exit
 
$ exit
</nowiki></pre>
+
</pre>  
 
+
 
==== Putting the CD together(把CD合在一起) ====
 
==== Putting the CD together(把CD合在一起) ====
  
第144行: 第126行:
  
 
重建manifest
 
重建manifest
<pre><nowiki>
+
<pre>chmod +w extract-cd/casper/filesystem.manifest
chmod +w extract-cd/casper/filesystem.manifest
+
sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' &gt; extract-cd/casper/filesystem.manifest
sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest
+
</pre>  
</nowiki></pre>
+
 
+
 
Compress filesystem
 
Compress filesystem
  
 
压缩文件系统
 
压缩文件系统
<pre><nowiki>
+
<pre>$ sudo rm extract-cd/casper/filesystem.squashfs
$ sudo rm extract-cd/casper/filesystem.squashfs
+
 
$ sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
 
$ sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
</nowiki></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><nowiki>
+
<pre>$ sudo vim extract-cd/README.diskdefines
$ sudo vim extract-cd/README.diskdefines
+
</pre>  
</nowiki></pre>
+
 
+
 
Calculate md5 sums
 
Calculate md5 sums
  
 
计算md5 sum
 
计算md5 sum
<pre><nowiki>
+
<pre>$ (cd extract-cd &amp;&amp; find . -type f -print0 | xargs -0 md5sum &gt; md5sum.txt)
$ (cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
+
</pre>  
</nowiki></pre>
+
 
+
 
Create Iso
 
Create Iso
  
 
制作 ISO 文件
 
制作 ISO 文件
<pre><nowiki>
+
<pre>$ cd extract-cd
$ 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 .
 
$ 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 .
</nowiki></pre>
+
</pre>  
 
+
 
==== Testing the CD(测试CD) ====
 
==== Testing the CD(测试CD) ====
  
第184行: 第156行:
  
 
用qemu模拟器来测试
 
用qemu模拟器来测试
<pre><nowiki>
+
<pre>$ qemu -cdrom cdname.iso -boot d
$ qemu -cdrom cdname.iso -boot d
+
</pre>
</nowiki></pre>
+
  
 
== Comments(评论) ==
 
== Comments(评论) ==

2008年2月26日 (二) 17:00的版本

定制 LiveCD

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

原文作者:

授权许可:

翻译人员:oylb

校正人员:junglej

贡献人员:

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

更新日期:2008.2.26



如何定制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 上有很好的信息。我没有看到有关的许可信息,所以我们用到它的资源时需要得到作者的许可。