65.2 ZENworksイメージング環境におけるデバイスブート処理の理解

次に、Linuxブート処理の詳細な概要と、ZENworks 7イメージングによる影響について説明します。

  1. ブートローダプログラムは、Linuxカーネルおよびinitrd (初期RAMドライブ)をメモリにロードします。

    SLESベースのイメージング配布では、イメージングCDのブートローダとしてisolinuxを使用したり、PXEを使用したブート用に変更したpxelinuxを使用したり、CDと共に単一のディスクを使用する場合にはlinld.comを使用します。ZENworksパーティションがインストールされている場合は、LILOプログラムを使用して、ZENworksパーティションおよびインストールされているオペレーティングシステムを交互に起動します。

    次に、現在のパスおよびファイル名と、履歴情報の比較を示します。

    ファイル

    ZENworks 6.5 SP1以前

    ZENworks 7 NetWareおよびWindows Servers 1

    ZENworks 7 Linux Servers 2

    起動前ローダ

    次の処理を行います。

    • DOSをロードします。
    • loadlinを実行します。

    CDブート:isolinux

    PXEブート:linld.com

    CDブート:isolinux

    PXEブート:linld.com

    Linuxカーネル名

    CDブート:kernel (カーネル)

    PXEブート:linux.1

    ディスク:kernel.zen

    CDブート:\boot\loader\linux

    PXEブート:\tftp\boot\linux

    /boot/loader/CD boot:linux

    PXEブート:/srv/tftp/boot/linux

    Initrdファイル名

    CDブート:initrd.gz

    PXEブート:linux.2

    ディスク:initrd (2枚目のディスク)

    CDブート:\boot\loader\initrd

    PXEブート:\tftp\boot\initrd

    CDブート:/boot/loader/initrd

    PXEブート:/srv/tftp/boot/initrd

    1 ZENworks 6.5 SP2と同じ。

    2 ZENworks 7 Linux Managementと同じ。

  2. Linuxカーネルが起動し、一部のデバイスドライバのセットアップを行い、initrdファイルシステムをマウントします。

    どのブートローダ方法を使用するかに関わらず、主な目的はinitrdファイルをRAMドライブとして設定し、Linuxカーネルをメモリにロードし、initrdの場所を指定してLinuxカーネルに制御を渡すことです。

  3. Linuxカーネルは、初期ハードウェア検索を行うために、linuxrcに制御を渡します。終了すると、Linuxカーネルに制御が戻ります。

    履歴情報

    ZENworks 6.5 SP1以前のイメージングには、linuxrcスクリプトファイルが含まれています。これは、一部の初期セットアップを行いますが、ハードウェアの検出は行いません。

  4. Linuxカーネルがバックグラウンド処理を開始します(/sbin/init)。

    一度linuxrcプログラムに制御が渡されると、制御がLinuxカーネルに戻されたり、init処理に渡されることはありません。

    履歴情報

    ZENworks 6.5 SP1以前では、init処理を使用してイメージングを行います。すべてのZENworksイメージング処理はlinuxrc処理内で行われます。このため、使い慣れた標準の処理の一部が、ZENworks 7イメージングでは動作しないか、存在しない場合があります。

    たとえば、haltおよびrebootコマンドは異なります。完全にインストールされたLinuxシステムでは、rebootは実際にはinit 6の呼び出しを行います。ZENworks 7イメージング処理中にはinitは実行されないので、init 6の呼び出しは行われません。したがって、rebootはreboot -rと名前が変更され、initの呼び出しを行わずにリブートを強制的に実行します。

    bashは実行されているので、他の大部分のコマンドはbashプロンプトから実行されます。

linuxrcおよびzenworks.sの詳細については、次の節を参照してください。

65.2.1 linuxrc

linuxrcに制御が渡されると、イメージング処理用にシステムを準備するために、複数の処理が行われます。linuxrcは、最初はinitrdファイルシステムにある/linuxrc.configファイルから設定されます。linuxrcの追加の設定情報は、/infoファイル(initrdファイルシステムにあります)に保存できますが、ZENworksでは通常はこの情報は使用されません。

また、linuxrcでは、rootファイルシステムがロードされ、ブートローダによってセットアップされたinitrdファイルシステムと組み合わされます。rootファイルシステムは、/boot/rootファイルとして、イメージングCDに格納されています。PXEブートの場合、rootファイルシステムは以下のZENworksイメージングサーバに保存されます。

  • NetWare/Windowsサーバの場合: \tftp\boot\root

  • Linuxサーバの場合: /srv/tftp/boot/root

linuxrcは、イメージングCDのルートまたはTFTPディレクトリのZENworksイメージングサーバで、settings.txtファイルを検索し、ロードしようとします。linuxrcは、linuxrcに関わる任意のパラメータをsettings.txtから読み込んで処理し、settings.txtをファイルシステムのルート(/)にコピーします。

linuxrcはdriverupdateという名前のファイルも検索し、ロードしようとします。このファイルは通常、rootと同じディレクトリにあります。このファイルは、ドライバおよびイメージング配布の他のファイルを更新するために使用されます。

PXEブート中、driverupdateファイルは標準のSUSEテクノロジに基づきます。driverupdateを取得するためには、ネットワークが正常に稼動している必要があるため、このファイルではアクティブなネットワークデバイスのドライバは更新できません。ただし、その他のファイルおよびドライバは、driverupdateファイルを使用して更新できます。詳細については、セクション 65.4.3, driverupdateファイル方法の使用を参照してください。

65.2.2 zenworks.s

SUSE LinuxまたはSLESの標準のSUSEインストールでは、サイズの小さな配布をブートして、YaSTインストールを実行します。ZENworksイメージングでは、同じインストールシステムでブートしますが、YaSTインストールを開始する代わりに、ZENworksイメージングセッションを開始します。ZENworksイメージング処理の主なスクリプトファイルであるZENworksスクリプト/bin/zenworks.sに制御が渡されます。スクリプトは特定の数のセットアップタスクを実行し、選択したイメージング処理の適切なスクリプトに制御を渡します。イメージング処理の詳細については、セクション 56.1, デスクトップ管理起動前サービスの理解を参照してください。

セットアップタスクの1つに更新ファイルの適用があります。CDからブートする場合、zenworks.s/addfilesディレクトリ構造をLinuxファイルシステムにコピーします。詳細については、セクション 65.4.1, イメージングブートCDへのファイルの追加を参照してください。