编译服务/KIWI/SLES10SP2
介绍
本文描述了如何生成一个使用了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镜像。