Solaris 10 10/09 安装指南:基于网络的安装

第 7 章 修补 miniroot 映像(任务)

本章提供在设置安装服务器时修补 miniroot 映像的逐步操作过程,并提供了一个示例。

本章包含以下主题:

修补 miniroot 映像(任务)

可能需要修补位于网络安装映像(通过 setup_install_server 创建)上的 miniroot 中的文件。

关于 miniroot 映像(概述)

miniroot 是位于 Solaris 安装介质上的最小可引导根 (/) 文件系统。miniroot 包含引导系统(无论是要安装系统还是升级系统)所需的所有 Solaris 软件。miniroot 软件由安装介质用于执行 Solaris OS 的完整安装。miniroot 仅在安装过程中运行。

如果引导映像在引导过程中出现问题或者您需要添加驱动程序和硬件支持,则可能需要在安装前修补 miniroot。修补 miniroot 映像时,修补程序不会安装在对其执行 Solaris OS 安装的系统或运行 patchadd 命令的系统上。修补 miniroot 映像仅用来对执行 Solaris OS 的实际安装的过程添加驱动程序和硬件支持。


注 –

此过程仅用于修补 miniroot,而不是用于修补完整的网络安装映像。如果需要修补网络安装映像,请在安装完成后执行该任务。


Procedure如何修补 miniroot 映像

请按照以下步骤修补网络安装 miniroot 映像。


注 –

这些步骤假设您的网络上已经有一个正在运行当前 Solaris 发行版的系统,并且可以通过网络访问该系统。


  1. 在运行当前 Solaris 发行版的系统上,以超级用户身份登录或承担等效角色。

  2. 转到在Step 5 中创建的安装映像的 步骤 5 目录。


    # cd install-server-path/install-dir-path/Solaris_10/Tools
    
    install-server-path

    指定网络中的安装服务器系统的路径,例如,/net/installserver-1

  3. 创建一个新的安装映像,并将该映像放置在正在运行当前 Solaris 发行版的系统上。


    # ./setup_install_server remote_install_dir_path
    
    remote_install_dir_path

    指定当前 Solaris 发行版中用来创建新安装映像的路径。

    此命令会在当前 Solaris 发行版上创建一个新的安装映像。为了修补此映像,必须临时将此映像放置在正在运行当前 Solaris 发行版的系统上。

  4. 在当前 Solaris 发行版上,解压缩网络安装引导归档文件。


    # /boot/solaris/bin/root_archive unpackmedia remote_install_dir_path \
      destination_dir
    
    remote_install_dir_path

    指定当前 Solaris 发行版中的网络安装映像路径。

    destination_dir

    指定包含解压缩引导归档文件的目录的路径。

  5. 在当前 Solaris 发行版上,修补解压缩的引导归档文件。


    # patchadd -C destination_dir path-to-patch/patch-id
    
    path-to-patch

    指定您要添加的修补路径,例如,/var/sadm/spool

    patch-id

    指定要应用的修补程序 ID。

    可以使用 patchadd -M 选项指定多个修补程序。有关更多信息,请参见 patchadd(1M)


    注意 – 注意 –

    除非阅读了 Patch README 中的指导或联系了当地的 Sun 支持办事处,否则不要使用 patchadd -C 命令。


  6. 在当前 Solaris 发行版上,压缩引导归档文件。


    # /boot/solaris/bin/root_archive packmedia remote_install_dir_path \
      destination_dir
    
  7. 将修补后的归档文件复制到安装服务器上的安装映像。


    # cd remote_install_dir_path
    # find boot Solaris_10/Tools/Boot | cpio -pdum \
       install-server-path/install_dir_path
    
接下来的操作

设置安装服务器并修补 miniroot 后,可能需要设置引导服务器或添加要从网络安装的系统。

修补 miniroot 映像(示例)

此示例说明了修补 miniroot 映像以创建修改后的 miniroot 的步骤。

修补 miniroot 映像

在此示例中,在正在运行当前发行版的系统上对 miniroot 执行了解压缩和压缩操作。

Procedure如何修改 miniroot(示例)

此过程显示了如何在 Solaris 10 10/09 miniroot 映像上安装内核更新 (Kernel Update, KU) 修补程序。在正在运行 Solaris 10 OS 的系统上,按照下面的步骤进行操作,但请注意以下详细信息。

网络安装映像位于 /net/jmpstart1/export/images/solaris_10_u1/Solaris_10/Tools

  1. 在运行当前 Solaris 发行版的系统上,以超级用户身份登录或承担等效角色。

  2. 转至用来放置解压缩的 miniroot 以及网络安装映像的目录。


    # cd /net/server-1/export
    
  3. 创建安装目录和 miniroot 目录。


    # mkdir /export/u1 /export/mr
    
  4. 转至 Solaris 10 10/09 安装映像所在的 Tools 目录。


    # cd /net/jmp-start1/export/images/solaris_10/Solaris_10/Tools
    
  5. 创建一个新的安装映像,并将该映像放置在正在运行当前 Solaris 发行版的系统上。


    # ./setup_install_server /export/u1
    Verifying target directory...
    Calculating the required disk space for the Solaris_10 product
    Calculating space required for the installation boot image
    Copying the CD image to disk...
    Copying Install Boot Image hierarchy...
    Copying /boot  netboot hierarchy...
    Install Server setup complete

    现在已完成了安装服务器设置。

  6. 运行以下命令解压缩 miniroot。


     # /boot/solaris/bin/root_archive unpackmedia /export/u1 /export/mr
    
  7. 更改目录。


    # cd  /export/mr/sbin
    
  8. rc2 文件和 sulogin 文件分别生成一个副本。


    # cp rc2 rc2.orig
    # cp sulogin sulogin.orig
    
  9. 对 miniroot 应用所有必需的修补程序。


    patchadd -C /export/mr /export patchid
    

    patchid 用于指定要应用的修补程序 ID。

    在此示例中,对 miniroot 应用了五个修补程序。


    # patchadd -C /export/mr /export/118344-14
    # patchadd -C /export/mr /export/122035-05
    # patchadd -C /export/mr /export/119043-10
    # patchadd -C /export/mr /export/123840-04
    # patchadd -C /export/mr /export/118855-36
    
  10. 导出 SVCCFG_REPOSITORY 变量。


    # export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db
    

    注意 – 注意 –

    SVCCFG_REPOSITORY 变量必须指向解压缩的 miniroot 的 repository.db 文件位置。在此示例中,该位置是 /export/mr/etc/svc 目录。repository.db 文件位于解压缩的 miniroot 下的 /etc/svc 目录中。如果无法导出此变量,则会导致活动系统信息库被修改,从而使活动系统无法引导。


  11. 修改 miniroot 的 repository.db 文件。


    # svccfg -s system/manifest-import setprop start/exec = :true
    # svccfg -s system/filesystem/usr setprop start/exec = :true
    # svccfg -s system/identity:node setprop start/exec = :true
    # svccfg -s system/device/local setprop start/exec = :true
    # svccfg -s network/loopback:default setprop start/exec = :true
    # svccfg -s network/physical:default setprop start/exec = :true
    # svccfg -s milestone/multi-user setprop start/exec = :true
    

    有关更多信息,请参见 svccfg(1M) 手册页。

  12. 更改目录。然后,恢复 rc2.origsulogin.orig 文件的原始副本。


    # cd /export/mr/sbin
    # mv rc2.orig rc2
    # mv sulogin.orig sulogin
    
  13. 压缩修改后 miniroot(包含您所做的更改)。将修改后的 miniroot 放置在 /export/u1 目录中。


    # /boot/solaris/bin/root_archive packmedia /export/u1 /export/mr
    

    此步骤实际上会替换 /export/u1/boot/miniroot 目录以及其他一些必需的文件。

接下来的操作

设置安装服务器并修补 miniroot 后,可能需要设置引导服务器或添加要从网络安装的系统。