From Fedora Project Wiki
 
(14 intermediate revisions by the same user not shown)
Line 31: Line 31:
简而言之, '''livecd-creator''' 程序
简而言之, '''livecd-creator''' 程序


* 为 ''ext3'' 文件系统新建一个文件,文件系统中包含了构成 Live CD 的所有数据.
* 为 ''ext3'' 文件系统新建一个文件,文件系统中包含了构成 Live CD 的所有数据
* Loopback mounts that file into the file system so there is an installation root
* Loopback 将这个文件挂载到根文件系统
* Bind mounts certain kernel file systems (/dev, /dev/pts, /proc, /sys, /selinux) inside the installation root
* 将必要的核心文件系统 (/dev, /dev/pts, /proc, /sys, /selinux) 挂载到根目录
* Uses a configuration file to define the requested packages and default configuration options. The format of this file is the same as is used for installing a system via ''kickstart''.
* 用一个配置文件定义所需的包和默认的配置选项.文件的格式与用 ''kickstart'' 安装系统是所用的一样.
* Installs, using ''yum'', the requested packages into the installation using the given repositories in the kickstart file
* ''yum'' kickstart 文件中给出的库安装所需的包
* Optionally runs scripts as specified by the live CD configuration file.
* 可选的,由 live CD 配置文件指定的运行脚本.
* Relabels the entire installation root (for SELinux)
* 重新标识整个根文件系统(SELinux)
* Creates a live CD specific ''initramfs'' that matches the installed kernel
* 创建一个 live CD 特定的,匹配已安装的内核的 ''initramfs''
* Unmounts the kernel file systems mounted inside the installation root
* 卸载已经挂载到根目录的核心文件系统
* Unmounts the installation root
* 卸载根文件系统
* Creates a ''squashfs'' file system containing only the default ''ext3/4'' file (compression)
* 创建一个只包含 ''ext3/4'' 文件(压缩)的 ''squashfs'' 文件系统
* Configures the boot loader
* 配置 bootloader
* Creates an iso9660 bootable CD/DVD
* 创建一个 iso9660 可引导 CD/DVD


=== Live image Configuration Files ===
=== Live 镜像配置文件 ===


The configuration of the live image is defined by a file that uses the same format as installing a system via ''kickstart''.  They can include some basic system configuration items, the package manifest and a script to be run at the end of the build process.
Live 镜像的配置是在一个文件中定义的,文件的格式与用 ''kickstart'' 安装系统是的一样它们包含了一些基本的系统配置条目, 包清单和一个在构建过程的最后阶段运行的脚本.


For the Fedora project, the two most important live image configurations files are
对于 Fedora 项目, 两个最重要的 live 镜像配置文件是


* '''[https://fedorahosted.org/spin-kickstarts/browser/fedora-live-minimization.ks fedora-live-minimization.ks]''' : The base live image system (included in the 'livecd-tools' package)
* '''[https://fedorahosted.org/spin-kickstarts/browser/fedora-live-minimization.ks fedora-live-minimization.ks]''' : 基本 live 镜像系统 (包含在 'livecd-tools' )
* '''[https://fedorahosted.org/spin-kickstarts/browser/fedora-live-desktop.ks fedora-live-desktop.ks]''' : Complete desktop with applications and input/output support for all supported locales in Fedora (this one is part of the 'spin-kickstarts' package)
* '''[https://fedorahosted.org/spin-kickstarts/browser/fedora-live-desktop.ks fedora-live-desktop.ks]''' : 完整的桌面,带有应用程序和对于 Fedora 所支持所有语言环境的输出输出支持 (这是 'spin-kickstarts' 包的一部分)


kickstart files for other spins (e.g. Fedora Electronics Lab) can be found in ''/usr/share/spin-kickstarts/'' after installing the 'spin-kickstarts' package
其他定制版的 kickstart 文件(例如 Fedora Electronics Lab) 可以在安装 'spin-kickstarts'包后在 ''/usr/share/spin-kickstarts/'' 中找到。


=== Set SELinux to permissive mode ===
=== 设置 SELinux permissive 模式 ===


SELinux should be in permissive mode for livecd-creator to work. Run the following as root user first before attempting to create a live cd or dvd.
为了 livecd-creator , SELinux 应该在 permissive 模式下工作. 创建 live cd dvd 之前,先在 root 用户下运行下面命令.


  setenforce 0
  setenforce 0


=== Making a 32-bit spin ISO on a 64-bit machine ===
=== 在 64-bit 机器上制作 32-bit 定制 ISO ===


If you have an x86_64 machine you're building on but you want a 32-bit happy iso image, add the following before your livecd-creator command:
如果您用的是 x86_64 的机器,但是想做一个 32-bit ISO镜像, 请在 livecd-creator 命令之前添加:


  setarch i686 livecd-creator [...]
  setarch i686 livecd-creator [...]


=== Example: Spinning the Fedora Desktop Live CD ===
=== : 定制 Fedora 桌面版 Live CD ===


Note that because of the way livecd-creator works, it is not possible to choose a different set of packages or a different filesystem during installation. Assuming that you use the '''fedora-live-desktop.ks''' configuration file, then the following command:
注意,由于 lived-creator 的工作方式,无法在安装过程中选择一套不同的包或不同的文件系统. 假设您用的是 '''fedora-live-desktop.ks''' 配置文件, 然后运行下列命令:


<pre>livecd-creator \
<pre>livecd-creator \
Line 76: Line 76:
--fslabel=Fedora-LiveCD --cache=/var/cache/live
--fslabel=Fedora-LiveCD --cache=/var/cache/live
</pre>
</pre>
or
<pre>
<pre>
livecd-creator \
livecd-creator \
Line 83: Line 83:
</pre>
</pre>


will create a live CD called "Fedora-LiveCD".
这样就会创建一个名叫 "Fedora-LiveCD" 的 Live CD.


The name given by ''--fs-label'' is used:
名字是用 ''--fs-label'' 指定的,用于:


* as a file system label on the ext3 and iso9660 file systems (As such, it's visible on the desktop as the CD name)
* 在ext3 和 iso9660 文件系统中做为文件系统标签 (因此, 它作为 CD 的名字在桌面上可见)
* in the ''isolinux'' boot loader.
* ''isolinux'' bootloader 中.


If you have the repositories available locally and don't want to wait for the download of packages, just substitute the URLs listed in the configuration file to point to your local repositories.
如果您有可用的本地库,并且不想等待下载包, 只需要修改配置文件中列出的 URL,让其指向您的本地库.


{{Admon/tip | You can use setarch command to create a x86 live cd/dvd on a x86_64 system. Ex: setarch i386 livecd-creator <..> .}}
{{Admon/tip | 您可用在 x86_64 系统中用 setarch 命令创建一个 x86 live cd/dvd . 例如: setarch i386 livecd-creator <..> .}}


=== Example: A Barebones Live CD ===
=== : 一个准系统 Live CD ===


The command
命令


<pre>livecd-creator \
<pre>livecd-creator \
--config=/usr/share/doc/livecd-tools-<version>/livecd-fedora-minimal.ks --cache=/var/cache/live </pre>
--config=/usr/share/doc/livecd-tools-<version>/livecd-fedora-minimal.ks --cache=/var/cache/live </pre>


will create a live CD that will boot to a login prompt.
将创建一个可以引导至登录提示符的 live CD .


{{Admon/tip | Barebones Live CD does not support login capability. | Since no configuration is done, the user will not be able to login to the system as the root password is not set/cleared.}}
{{Admon/tip | 准系统 Live CD 不支持登录功能. | 因为没有做配置的话, 如果 root 密码没有设置或清除,用户不被允许登录系统.}}


=== 用 KVM 或 qemu 测试您的 Live CD ===


=== Testing your Live CD using KVM or qemu ===
root 下运行:
 
As root:


  qemu-kvm -m 512 -cdrom filename.iso
  qemu-kvm -m 512 -cdrom filename.iso


If you do not have KVM support, you can use qemu instead
如果您没有 KVM , 可以用 qemu 代替


  qemu -m 512 --cdrom filename.iso
  qemu -m 512 --cdrom filename.iso


Replace '''filename.iso''' with the name of your created Live CD image.
用您的 Live CD 镜像的名字替换 '''filename.iso''' .


{{Admon/tip || Be sure to '''"yum install kvm qemu"''' as root for releases before Fedora 11. Fedora 11 has merged kvm and qemu into a single package. Just installing qemu package is enough.}}
{{Admon/tip || 对于 Fedora 11 之前的发行版,要确保用 root 运行 '''"yum install kvm qemu"''' . Fedora 11 已经将 kvm qemu 合并到一个单独的包. 只安装 qemu 包就够了 .}}


== Live image Installs ==
== Live 镜像安装 ==


As of Fedora 7, anaconda has support for doing an installation from a live imageTo use this, double click on the ''Install to Hard Drive'' item on the desktop or run
对于 Fedora 7, 它已经支持从一个 live 镜像进行安装要使用这个功能, 请点击桌面上的 ''Install to Hard Drive'' 条目,或者运行


<pre>
<pre>
Line 128: Line 127:
</pre>
</pre>


if you don't have such an icon.
如果你没有这个图标的话.


== Live Image Media Verification ==
== Live 镜像媒介的验证 ==


The live image can incorporate functionality to verify itself. To do so, you need to have '''isomd5sum''' installed both on the system used for creating the image and installed into the image. This is so that the '''implantisomd5''' and '''checkisomd5''' utilities can be used. These utilities take advantage of embedding an md5sum into the application area of the iso9660 image. This then gets verified before mounting the real root filesystem.
live 镜像可以整合验证自己的功能. 要做到这一点, 您需要在创建镜像的系统和镜像上同时安装 '''isomd5sum'''. 这是为了能够使用 '''implantisomd5''' '''checkisomd5''' 工具. 这些工具可以将 md5sum 嵌入 iso9660 镜像的应用空间. 这就可以在挂载真正的根文件系统之前进行验证.


== Using Live Images from USB Media ==
== 在 USB 媒介中使用 Live 镜像 ==


USB sticks are becoming increasingly prevalent and are a nice way to use live images. You can take a live CD or DVD iso image and transform it so that it can be used on a USB stick. To do so, use the '''[[livecd-iso-to-disk]]''' script:
USB 接口越来越普遍,是一种使用 live 镜像的好方法. 您可以获取一个 live CD or DVD iso 镜像,并将其改造,使其可以用于 USB 接口设备. 为此, 要用 '''[[livecd-iso-to-disk]]''' 脚本:


<pre>
<pre>
Line 142: Line 141:
</pre>
</pre>


Replace /dev/sdb1 with the (unmounted) partition where you wish to put the live imageThis is not a destructive process; any data you currently have on your USB stick will be preserved.
/dev/sdb1 替换为您想要挂载 live 镜像的分区这不是一个有破坏性的过程; USB 接口设备中的当前数据将被保存.


Additional information available at [[How to create and use Live USB]].
其他可用的信息请看 [[How to create and use Live USB]].


== Other Resources ==
== 其他资源 ==


* A [[Classroom | Fedora Classroom]] class covering [[Classroom/Creating_Fedora_Remix | creating Fedora remixes]].
* [[Classroom | Fedora Classroom]] 覆盖了 [[Classroom/Creating_Fedora_Remix | creating Fedora remixes]].
* If you are distributing your spin you need to be concerned about [[JeroenVanMeeuwen/Revisor/FedoraRebrandRemixGuidelines | trademark usage and GPL responsibilities]].
* 如果您正在发布您的定制版,您需要关心 [[JeroenVanMeeuwen/Revisor/FedoraRebrandRemixGuidelines | trademark usage and GPL responsibilities]].

Latest revision as of 15:46, 19 June 2012


本页阐述了如何制作一张基于 Fedora 系统(包括派生发行版,例如 RHEL , CentOS )的定制版 Live CD 或 DVD .

如果您只是想把一个预制 ISO 写入光盘, 请查看 http://fedoraproject.org/en/get-fedora 下载一个 LiveCD 或 LiveDVD, 然后在 install guideburning how-to 查看进一步的说明.

project wiki 查看更多的详情. 该项目的讨论在 http://admin.fedoraproject.org/mailman/listinfo/livecd.


该项目和它的源文件支持 GPLv2 许可证. 查看该文件的拷贝获取详情.

创建一个 Live 镜像

要创建一个 Live 镜像, 要用到 livecd-creator 工具. 需要超级用户权限. 这个工具多少有点自己的记录, 用 --help 查看它的选项.

livecd-creatorlivecd-tools 包的一部分. 如果您的系统没有安装, 用下面的命令安装:

su -c 'yum install livecd-tools spin-kickstarts'

如果您对本地化 Live CD 文件感兴趣, 还要安装 l10n-kickstarts.

livecd-creator 是怎样工作的

简而言之, livecd-creator 程序

  • ext3 文件系统新建一个文件,文件系统中包含了构成 Live CD 的所有数据
  • Loopback 将这个文件挂载到根文件系统
  • 将必要的核心文件系统 (/dev, /dev/pts, /proc, /sys, /selinux) 挂载到根目录
  • 用一个配置文件定义所需的包和默认的配置选项.文件的格式与用 kickstart 安装系统是所用的一样.
  • yum 和 kickstart 文件中给出的库安装所需的包
  • 可选的,由 live CD 配置文件指定的运行脚本.
  • 重新标识整个根文件系统(为 SELinux)
  • 创建一个 live CD 特定的,匹配已安装的内核的 initramfs
  • 卸载已经挂载到根目录的核心文件系统
  • 卸载根文件系统
  • 创建一个只包含 ext3/4 文件(压缩)的 squashfs 文件系统
  • 配置 bootloader
  • 创建一个 iso9660 可引导 CD/DVD

Live 镜像配置文件

Live 镜像的配置是在一个文件中定义的,文件的格式与用 kickstart 安装系统是的一样. 它们包含了一些基本的系统配置条目, 包清单和一个在构建过程的最后阶段运行的脚本.

对于 Fedora 项目, 两个最重要的 live 镜像配置文件是

  • fedora-live-minimization.ks : 基本 live 镜像系统 (包含在 'livecd-tools' 包)
  • fedora-live-desktop.ks : 完整的桌面,带有应用程序和对于 Fedora 所支持所有语言环境的输出输出支持 (这是 'spin-kickstarts' 包的一部分)

其他定制版的 kickstart 文件(例如 Fedora Electronics Lab) 可以在安装 'spin-kickstarts'包后在 /usr/share/spin-kickstarts/ 中找到。

设置 SELinux 为 permissive 模式

为了 livecd-creator , SELinux 应该在 permissive 模式下工作. 创建 live cd 或 dvd 之前,先在 root 用户下运行下面命令.

setenforce 0

在 64-bit 机器上制作 32-bit 定制 ISO

如果您用的是 x86_64 的机器,但是想做一个 32-bit ISO镜像, 请在 livecd-creator 命令之前添加:

setarch i686 livecd-creator [...]

例: 定制 Fedora 桌面版 Live CD

注意,由于 lived-creator 的工作方式,无法在安装过程中选择一套不同的包或不同的文件系统. 假设您用的是 fedora-live-desktop.ks 配置文件, 然后运行下列命令:

livecd-creator \
--config=/usr/share/doc/livecd-tools-<version>/livecd-fedora-desktop.ks \
--fslabel=Fedora-LiveCD --cache=/var/cache/live

livecd-creator \
--config=/usr/share/spin-kickstarts/fedora-livecd-desktop.ks \
--fslabel=Fedora-LiveCD --cache=/var/cache/live

这样就会创建一个名叫 "Fedora-LiveCD" 的 Live CD.

名字是用 --fs-label 指定的,用于:

  • 在ext3 和 iso9660 文件系统中做为文件系统标签 (因此, 它作为 CD 的名字在桌面上可见)
  • isolinux bootloader 中.

如果您有可用的本地库,并且不想等待下载包, 只需要修改配置文件中列出的 URL,让其指向您的本地库.

Idea.png
您可用在 x86_64 系统中用 setarch 命令创建一个 x86 live cd/dvd . 例如: setarch i386 livecd-creator <..> .

例: 一个准系统 Live CD

命令

livecd-creator \
--config=/usr/share/doc/livecd-tools-<version>/livecd-fedora-minimal.ks --cache=/var/cache/live 

将创建一个可以引导至登录提示符的 live CD .

Idea.png
准系统 Live CD 不支持登录功能.
因为没有做配置的话, 如果 root 密码没有设置或清除,用户不被允许登录系统.

用 KVM 或 qemu 测试您的 Live CD

在 root 下运行:

qemu-kvm -m 512 -cdrom filename.iso

如果您没有 KVM , 可以用 qemu 代替

qemu -m 512 --cdrom filename.iso

用您的 Live CD 镜像的名字替换 filename.iso .

Idea.png
对于 Fedora 11 之前的发行版,要确保用 root 运行 "yum install kvm qemu" . Fedora 11 已经将 kvm 和 qemu 合并到一个单独的包. 只安装 qemu 包就够了 .

Live 镜像安装

对于 Fedora 7, 它已经支持从一个 live 镜像进行安装. 要使用这个功能, 请点击桌面上的 Install to Hard Drive 条目,或者运行

/usr/bin/liveinst

如果你没有这个图标的话.

Live 镜像媒介的验证

live 镜像可以整合验证自己的功能. 要做到这一点, 您需要在创建镜像的系统和镜像上同时安装 isomd5sum. 这是为了能够使用 implantisomd5checkisomd5 工具. 这些工具可以将 md5sum 嵌入 iso9660 镜像的应用空间. 这就可以在挂载真正的根文件系统之前进行验证.

在 USB 媒介中使用 Live 镜像

USB 接口越来越普遍,是一种使用 live 镜像的好方法. 您可以获取一个 live CD or DVD iso 镜像,并将其改造,使其可以用于 USB 接口设备. 为此, 要用 livecd-iso-to-disk 脚本:

/usr/bin/livecd-iso-to-disk /path/to/live.iso /dev/sdb1

将 /dev/sdb1 替换为您想要挂载 live 镜像的分区. 这不是一个有破坏性的过程; USB 接口设备中的当前数据将被保存.

其他可用的信息请看 How to create and use Live USB.

其他资源