0

我正在使用 KIWI 构建 SuSE ( SLES 11 SP1 ) 设备,并正在寻找一种在其中执行无人值守安装的方法。此外,我需要根据硬件(磁盘数量、容量等)进行分区。

我遇到了 SuSE 的 AutoYaST 功能,该功能表明我可以将安装说明放在生成的 ISO 中的 xml 文件(称为 autoyast 配置文件)中。此外,我需要一个位置来放置我的分区脚本(可能使用fdisk命令)。http://doc.opensuse.org/projects/YaST/openSUSE10.3/autoinstall/createprofile.scripts.html上的 SuSE 文档 清楚地表明,使用 SUSE Linux 10.0 和所有以下版本,可以使用 fdisk 在您的脚本

我读到它可以在以下情况下完成:

  1. xml 文件autoinst.xml放在 cd 的根目录下。
  2. 脚本(在这种情况下称为前脚本)嵌入在 xml 文件中
  3. 从 cd 启动时,给出了启动参数autoyast=file:///autoinst.xml

我的 autoinst.xml 文件如下所示:

<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<scripts>
 <pre-scripts config:type="list">
  <script>
   <filename>pre.sh</filename>
   <interpreter>shell</interpreter>
   <feedback config:type="boolean">true</feedback>
   <source><![CDATA[
    #!/bin/sh
    touch /root/pre-output
    echo "Running pre-install script" > /root/pre-output
    fdisk -l >>/root/pre-output
    ]]>
   </source>
  </script>
 </pre-scripts>
</scripts>
</profile>

如您所见,该脚本的意思是生成可以轻松验证的输出。但这并没有发生。我在设备中包含了包autoyast2autoyast2-installation。在使用指定的引导参数引导时,我被带到一个错误屏幕,上面写着“调用 YaST 模块 'inst_netprobe' 失败” 错误中提到的日志 (/var/log/YaST2/y2log) 不好。他们只是说调用模块inst_netprobe失败。

选择 NEXT 后,安装正常进行,并在登录提示符处结束。登录后,我没有看到预脚本要产生的任何更改,这表明它没有被调用。

有人可以指出我是否遗漏了什么?

  1. 我是否缺少与 AutoYaST 相关的软件包?
  2. 我的位置(ISO 上的“/”)是否适合放置我的 xml 文件?
  3. xml 文件的格式是否正确或缺少某些内容?我从上面提供的文档链接末尾给出的示例中获取了这个示例。
  4. 调用方式是否正确?(给autoyast=file:///autoinst.xml)?

另外,如果有人在 SLES 11 上使用 AutoYaST 完成了自动安装,您能否分享一些指示?

4

2 回答 2

1

当我更新 yast2*rpm 时,这在 SLES11 SP2 中发生在我身上,它已经依赖于 bind-utils。Sso 你需要安装 bind-utils*rpm

于 2012-11-21T14:48:14.277 回答
0

未安装包 yast2-network 时可能会发生此错误。

于 2013-06-13T10:49:10.553 回答