以下对 Linux 引导进程及其受 ZENworks Imaging 的影响进行了概述:
引导装载程序将 Linux 内核和 initrd(初始 RAM 驱动器)装载入内存。
基于 SLES 的映像发行套件使用 isolinux 作为映像 CD 引导装载程序,它是 pxelinux 的修订版,用于借助 PXE 进行引导,或将单个软盘与 CD 配合使用的情况。如果装有 ZENworks 分区,它会使用 grub 程序在 ZENworks 分区和安装的操作系统之间进行选择性引导。
以下是 Windows 服务器的文件名和路径:
文件 |
CD 引导 |
PXE 引导 |
---|---|---|
预引导装载程序 |
isolinux |
pxelinux |
Linux 内核名称 |
\boot\i386\loader\linux |
%ZENWORKS_HOME%\share\tftp\boot\linux |
initrd 文件名 |
\boot\i386\loader\initrd |
%ZENWORKS_HOME%\share\tftp\boot\initrd |
以下是 Linux 服务器的文件名和路径:
Linux 内核开始运行,进行一些设备驱动程序设置,然后装入 initrd 文件系统。
无论使用哪种引导装载程序方法,主要目的都是将 initrd 文件设置为 RAM 驱动器,将 Linux 内核装载到内存中,然后将控制权交给 Linux 内核并向其指出查找 initrd 的位置。
Linux 内核将控制权交给 linuxrc,用于执行初始硬件检测。完成后,控制权交还给 Linux 内核。
Linux 内核会启动一个后台进程 (/sbin/init)。
控制权传递给 linuxrc 程序之后,就永远不会再交还给 Linux 内核或传递到 init 进程。
有关 linuxrc 和 zenworks.s 的更多信息,请查看以下几节:
当控制权转给 linuxrc(initrd 中的文件名为 init)时,它会执行多个进程,让系统准备好执行映像进程。Linuxrc 最初是从 initrd 文件系统中的 linuxrc.config 文件进行配置。您可以将 Linuxrc 的其他配置信息放置在 /info 文件中,但 ZENworks 通常不会使用这些信息。
Linuxrc 还会装载 root 文件系统,该文件系统需与通过引导装载程序设置的 initrd 文件系统结合使用。root 文件系统位于映像 CD 上的 /boot/i386/root 文件中。对于 PXE 引导,root 文件系统存储在 ZENworks Imaging Server 上:
Windows: %ZENWORKS_HOME%\share\tftp\boot\root
Linux: /srv/tftp/boot/root
Linuxrc 尝试在映像 CD 的根目录或“ZENworks Imaging Server”的 TFTP 目录中找到并装载 settings.txt 文件。linuxrc 会从 settings.txt 文件中读取并处理与自身相关的所有参数,然后将 settings.txt 复制到文件系统的根目录 (/)。
然后 linuxrc 还会尝试查找并装载文件 driverupdate。该文件通常位于 root 所在的目录中。该文件用于更新映像发行套件中的驱动程序和其他文件。
在 PXE 引导期间,driverupdate 文件以标准 SUSE 技术为基础。由于 driverupdate 只有在网络正常运作时才能获取,因此不能用于更新活动网络设备的驱动程序。但是,可以使用 driverupdate 文件更新其他文件和驱动程序。有关详细信息,请参见部分 G.4.3, 使用 drverupdate 文件方法。
SUSE Linux 或 SLES 的一般 SUSE 安装会引导到小型发行套件以执行 YaST 安装。“ZENworks Imaging”使用同一安装系统进行引导,但它启动“ZENworks Imaging”进程而不是 YaST 安装。控制权会交给 ZENworks 脚本 /bin/zenworks.s,即 ZENworks 映像处理所用的主脚本文件。该脚本会执行一定数量的设置任务,然后将控制权交给选定映像进程的相应脚本。有关映像进程的详细信息,请参见部分 1.4, 预引导服务流程。
其中一项设置任务是应用所有更新文件。从 CD 引导时,zenworks.s 会将 /addfiles 目录结构复制到 Linux 文件系统。有关详细信息,请参见部分 G.4.1, 向映像引导 CD 添加文件。