The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

编译服务/KIWI/SLES10SP2

Jump to: navigation, search

Susemini.png 本文处于需要翻译的文章的状态,欢迎您积极参与翻译与修订。 翻译人员:无,修订人员:无。

介绍

本文描述了如何生成一个使用了squashfs和aufs文件系统的SLES 10 SP2的kiwi镜像。

我的编译服务器的操作系统也是SLES 10 SP2 x86_64.

本文只是一个快速指南,更多内容请参阅其他关于KIWI的文档。

Step 1 安装KIWI

注意: 你可能在SLES 10 SDK的仓库中找到一些软件包。 我安装的kiwi-3.01-93.1 来自于:

http://download.opensuse.org/repositories/openSUSE:/Tools/SLE_10

注意:对于kiwi-desc-oemboot 和 kiwi-desc-vmxboot 软件包你需要安装qemu, 我没有安装它们。

安装smart 包管理器

rpm -ivh /usr/share/kiwi/repo/suse-repo/suse-sle10-repo/smart-0.41-23.4.$(arch).rpm

下载squashfs for SLES 10 SP2: http://download.opensuse.org/repositories/home:/mopp:/squashfs/

下载aufs for SLES 10 SP2: http://download.opensuse.org/repositories/home:/mopp:/aufs

安装squashfs软件包在装有KIWI的服务器上

rpm -ivh /tmp/kiwi/squashfs-3.4-35.1.x86_64.rpm

Step 2 创建 KIWI boot image 编译环境

当然,你需要SLES 10 SP2 的安装源。我把它拷贝到了本地目录。

下列命令中,你应该依据你的系统的实际情况更改路径。

cp -a aufs-kmp* squashfs-kmp* /usr/share/kiwi/repo/suse-repo/suse-sle10-repo/

注意:aufs 和 squashfs 模块被安装到/lib/modules/<kernel>/updates/。请确保这些内核模块匹配你将要安装到KIWI镜像中的内核。


现在,可以修改config.xml (boot/initrd image), 以便KIWI能够找到aufs 和 squashfs模块。或许你应该在修改前备份路径,因为升级KIWI后, config.xml可能被覆盖掉。

cd /usr/share/kiwi/image/isoboot/suse-SLES10
vi config.xml

添加 aufs 和 squashfs 到 <drivers type="drivers"> 这一栏很重要。添加这些行到config.xml文件,如果没有这些模块,系统不能启动LiveCD。

<file name="../updates/aufs.ko"/>
<file name="../updates/fs/squashfs/*"/>

在 <packages type="bootstrap"> section,添加如下行:

<package name="squashfs-kmp-default"/>
<package name="squashfs-kmp-smp"/>
<package name="aufs-kmp-default"/>
<package name="aufs-kmp-smp"/>

创建新的hash值

kiwi --createhash /usr/share/kiwi/image/isoboot/suse-SLES10

Step 3 准备系统镜像配置

确定你没有混淆启动镜像内核和系统镜像内核 (-default and -smp)。

准备系统镜像配置(我使用了suse-11.0 的配置,因为它是一个最简单的配置)

cp -pr /usr/share/doc/packages/kiwi/examples/suse-11.0/suse-live-iso /usr/local/kiwi/suse-sle10sp2-live-iso

修改 config.xml 在 /usr/local/kiwi/suse-sle10sp2-live-iso, 至少你必须修改"boot" 和 "repository" 标记

Change

<type primary="true" boot="isoboot/suse-11.0" flags="unified">iso</type>

to

<type primary="true" boot="isoboot/suse-SLES10" flags="unified">iso</type>

删除 "bootsplash-branding-openSUSE" 软件包,因为它不在SLES 10的安装源中。

你需要添加仓库,以便KIWI能找到其他的软件包,例如smart

       <repository type="rpm-dir">
       </repository>

在 config.xml 添加或删除你需要的软件包,定制你的系统。

也许你要添加dhcpd软件包以支持dhcp

opensusePattern 标记似乎在SLES上无效。

Step 4 创建ISO镜像

首先确定你有足够的可使用空间。

kiwi --prepare /usr/local/kiwi/suse-sle10sp2-live-iso --root /tmp/myiso

检查日志文件. 以下命令可以帮助你检查刚刚创建的系统

chroot /tmp/myiso

如果没有问题,就可以创建iso镜像

kiwi --create /tmp/myiso -d /tmp/myiso-result

检查日志文件。

尝试启动iso镜像。