Solaris のシステム管理 (第 1 巻)

第 10 章 SPARC: システムのブート (手順)

この章では、OpenBootTM PROM モニターを使う手順と、SPARC システムを異なる実行レベルにブートする手順を説明します。

この章で説明する手順は次のとおりです。

ブート手順の概要については、第 12 章「ブートプロセス (参照情報)」を参照してください。ブートの問題を解決する方法については、『Solaris のシステム管理 (第 2 巻)』の「リブートが失敗した場合の対処方法」を参照してください。

IA システムをブートする手順については、第 11 章「IA: システムのブート (手順)」を参照してください。

SPARC: ブート PROM の使用方法

システム管理者は、通常は PROM レベルを使ってシステムをブートします。ただしシステムをマルチユーザー状態にする前に、どのデバイスからブートするかを設定したり、ハードウェア診断プログラムを実行するなど、システム動作方法を変更する必要がある場合があります。

新しいドライブを永久または一時的にシステムに追加するには、デフォルトのブートデバイスを変更しなければなりません。スタンドアロンシステムを一時的にネットワークからブートするには、ネットワークブートの方針を変更しなければなりません。

すべての PROM コマンドについては、monitor(1M) または eeprom(1M) のマニュアルページを参照してください。

SPARC: ok プロンプトに切り換える方法

システムを停止すると、PROM モニターは > または ok を表示します。

SPARC システムで、> プロンプトから ok プロンプトに切り換えるには、次のコマンドを入力します。


> n
ok

この節で示す例では、すべて ok プロンプトを使います。

SPARC: システムの PROM リリースを確認する方法

システムの PROM リリースレベルを banner コマンドで表示します。


ok banner
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #nnnnnnnn.
Ethernet address 8:0:20:a5:d1:3b, Host ID: nnnnnnnn.

ハードウェア構成情報が表示され、その中に PROM のリリース番号があります。PROM リリースレベルが、ROM Rev 番号で示されます。

SPARC: デフォルトのブートデバイスを変更する方法

  1. スーパーユーザーになります。

  2. init(1M) コマンドを使って、システムを停止します。


    # init 0
    
  3. > PROM プロンプトが表示されたら、n を入力して Return キーを押します。


    > n
    ok

    ok PROM プロンプトが表示されます。

  4. setenv コマンドを使って、boot-device の設定を変更します。


    ok setenv boot-device device[n]

    boot-device

    ブートするデバイスを設定するパラメータを指定する。 

    device[n]

    boot-device の値 (disk または net) を指定する。n はディスク番号。

    ディスク番号を確認したい場合は、probe-scsi-all コマンドを使います。

  5. printenv コマンドを使って、デフォルトのブートデバイスの変更を確認します。


    ok printenv boot-device
    
  6. reset コマンドを使って新しい boot-device 値を保存します。


    ok reset
    

    新しい boot-device 設定が、PROM に書き込まれます。

SPARC: 例 - デフォルトのブートデバイスを変更する

この例では、デフォルトのブートデバイスをディスクに設定しています。


# init 0
# 
INIT: New run level: 0
.
.
.
The system is down.
syncing file systems... done
Program terminated
ok setenv boot-device disk
boot-device =         disk
ok printenv boot-device
boot-device           disk                    disk
ok reset
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #nnnnnnnn.
Ethernet address 8:0:20:a5:d3:4b, Host ID: nnnnnnnn.
 
Boot device: disk  File and args:
SunOS Release 5.8 Version 64-bit
.
.
.
pluto console login:

この例では、デフォルトのブートデバイスをネットワークに設定しています。


# init 0
# 
INIT: New run level: 0
.
.
.
The system is down.
syncing file systems... done
Program terminated
ok setenv boot-device net
boot-device =         net
ok printenv boot-device
boot-device           net                    disk
ok reset
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #nnnnnnnn.
Ethernet address 8:0:20:a3:d54:4b, Host ID: nnnnnnnn.
 
 
 
Boot device: net  File and args:
.
.
.
pluto console login:

SPARC: システムをリセットする方法

ok プロンプトで reset コマンドを実行します。


ok reset

セルフテストプログラムが実行され、ハードウェアで診断テストを行なった後、システムがリブートされます。

SPARC: システムのブート

表 10-1 に、この章で説明するブート方法の要約を示します。

表 10-1 SPARC: ブート方法の説明

システムのブート方法 

このブート方法が必要な場合 

参照先 

実行レベル 3 (NFS 資源を共有するマルチユーザー状態) 

システムを停止するか、またなんらかのシステムハードウェアの保守作業を行なった後。これはデフォルトのブートレベルで、すべての資源が利用でき、そしてユーザーがシステムにログインできる。 

「SPARC: システムを実行レベル 3 (マルチユーザー状態) にする方法」

実行レベル S (シングルユーザー状態) 

ファイルシステムのバックアップなどのなんらかのシステム保守作業を行なった後。このレベルでは、一部のファイルシステムだけがマウントされ、ユーザーはシステムにログインできない。 

「SPARC: システムを実行レベル S (シングルユーザー状態) にする方法」

対話式でブート 

テストのために、システムファイルまたはカーネルを一時的に変更した後。このブート方法を使えば、システムファイルまたはカーネルに問題がある場合、プロンプトが表示されたときに、これらのファイルに対して別のパス名を指定すれば簡単に復元できる。他のシステムプロンプトにデフォルトの設定を使う。 

「SPARC: システムを対話式でブートする方法」

ネットワーク経由でブート 

システムをネットワーク経由でブートする。この手順は、ブートサーバー上で必要な設定が完了していることを前提とする。  

「SPARC: システムをネットワーク経由でブートする方法」

ローカル CD-ROM またはネットワークからブートして復元する 

システムの正常なブートを妨げている重要なシステムファイルを修復する。また、この形式のブートはオペレーティングシステムの新しいリリースをインストール (あるいは、アップグレード) するのにも使用する。 

「SPARC: システムを復元するためにブートする方法」

kadb を使ってブート

オペレーティングシステムのコアダンプを保存して、システムの障害を追跡する場合。 

「SPARC: 復元を目的としてシステムを停止する方法」

システムの電源を切ってから入れ直すと、マルチユーザーのブートシーケンスが開始されます。この後に示す手順では、ok PROM プロンプトからさまざまな状態でブートする方法を説明します。

who -r コマンドを使って、システムが指定した実行レベルになっていることを確認します。

実行レベルについての説明は、第 8 章「実行レベルとブートファイル (手順)」を参照してください。

SPARC: システムを実行レベル 3 (マルチユーザー状態) にする方法

  1. ブートコマンドを使って実行レベル 3 にします。


    ok boot
    

    自動ブート処理では、一連のスタートアップメッセージ表示して、システムを実行レベル 3 にします。

  2. システムが実行レベル 3 になっていることを確認します。

    ブートプロセスが正常に終了すると、ログイン画面か、ログインプロンプトが表示されます。


    hostname console login:

SPARC: 例 - システムを実行レベル 3 (マルチユーザー状態) にする

次に、システムを実行レベル 3 にするメッセージの例を示します。


ok boot
SPARCstation 10 (1 X 390Z50)
ROM Rev. 2.14, 32 MB memory installed, Serial #number.
Ethernet address number, Host ID: number.
 
Rebooting with command:                                               
Boot device: /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,8...
SunOS Release 5.8 Version Generic 32-bit
Copyright (c) 1983-2000 by Sun Microsystems, Inc.
configuring IPv4 interfaces: le0.
Hostname: earth
The system is coming up.  Please wait.
checking ufs filesystems
/dev/rdsk/c0t3d0s7: is clean.
NIS domainname is Solar.COM
starting rpc services: rpcbind keyserv ypbind done.
Setting netmask of le0 to 255.255.255.0
Setting default IPv4 interface for multicast: add net 224.0/4: gateway earth
syslog service starting.
Print services started.
volume management starting.
The system is ready.
 
earth console login: 

SPARC: システムを実行レベル S (シングルユーザー状態) にする方法

  1. boot -s コマンドを使って、システムを実行レベル S にします。


    ok boot -s
    
  2. 次のメッセージが表示されたら、スーパーユーザーのパスワードを入力します。


    INIT: SINGLE USER MODE
    Type Ctrl-d to proceed with normal startup,
     
    (or give root password for system maintenance):  xxx
    
  3. who -r コマンドを使って、システムが実行レベル S になっていることを確認します。


    # who -r
    .       run-level S        May  2 07:39     3      0  S
  4. システム保守作業の後に、システムをマルチユーザー状態にするには、Control-d を押します。

SPARC: 例 - システムを実行レベル S (マルチユーザー状態) にする

次に、実行レベル S になるシステムの表示例を示します。


ok boot -s
.
.
.
SunOS Release 5.8 Version Generic 32-bit
Copyright (c) 1983-2000 by Sun Microsystems, Inc.
configuring IPv4 interfaces: le0.
Hostname: earth
 
INIT: SINGLE USER MODE
 
Type control-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Sun Microsystems Inc.   SunOS 5.8		generic August 1999
# who -r
   .       run-level S  Jul 14 11:37     S      0  ?
(システム保守作業を行う)
# <Control-d> を押す

SPARC: システムを対話式でブートする方法

  1. boot -a コマンドを使って、システムを対話式でブートします。


    ok boot -a
    
  2. 下の表に示すように、システムプロンプトに答えてください。

    システムの表示 

    操作 

    Enter filename [kernel/unix]:

    ブートに使用する別のカーネルの名前を入力する。 

    あるいは、そのまま Return キーを押してデフォルトカーネルを使う (/platform/`uname -m`/kernel/unix)。

    Name of default directory for modules [/platform/`uname -m`/kernel /kernel /usr/kernel]:

    ブートに使用する別のカーネルの名前を入力する。 

    あるいは、そのまま Return キーを押してデフォルトカーネルを使う (/platform/`uname -m`/kernel/unix)。

    Name of system file [/etc/system]:

    代わりのシステムのファイルの名前を入力して Return キーを押す。 /etc/system ファイルが破損している場合、/dev/null を入力する。

    あるいは、そのまま Return キーを押してデフォルトの /etc/system ファイルを使う。

    root filesystem type [ufs]:

    そのまま Return キーを押してデフォルトのルートファイルシステム形式を使う。つまり、ローカルディスクからのブートの場合は UFS、ネットワークブートの場合は NFS を使う。 

    Enter physical name of root device

    [physical_device_name]:

    代わりのデバイス名を入力して、Return キーを押す。 

    あるいは、そのまま Return キーを押してルートデバイスのデフォルトの物理名を使う。 

  3. 上の表の質問に応答するためのプロンプトが表示されない場合、boot -a コマンドを正しく入力していることを確認してください。

SPARC: 例 - システムを対話式でブートする

次の例では、利用できるデフォルトの選択例 ([]で囲まれています) を示します。


ok boot -a
.
.
.
Rebooting with command: boot -a
Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a  File and args: -a
Enter filename [kernel/sparcv9/unix]: Return キーを押す
Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel 
/platform/sun4u/kernel /kernel /usr/kernel]: Return キーを押す
Name of system file [etc/system]: Return キーを押す
SunOS Release 5.8 Version Generic 64-bit
Copyright (c) 1983-2000 by Sun Microsystems, Inc.
root filesystem type [ufs]: Return キーを押す
Enter physical name of root device
[/pci@1f,0/pci@1,1/ide@3/disk@0,0:a]: Return キーを押す
configuring IPv4 interfaces: hme0.
Hostname: starbug
The system is coming up.  Please wait.
checking ufs filesystems
.
.
.
The system is ready.
earth console login:

SPARC: システムをネットワーク経由でブートする方法

ブートサーバーが利用できれば、どのようなシステムもネットワーク経由でブートできます。たとえば、スタンドアロンシステムがローカルディスクからブートできない場合、スタンドアロンシステムを一時的にネットワーク経由でブートできます。デフォルトのブートデバイスを変更または再設定する方法については、「SPARC: デフォルトのブートデバイスを変更する方法」を参照してください。

sun4u システムでは、2 つのネットワーク構成ブートの方法、RARP (Reverse Address Resolution Protocol and ONC+ RPC Bootparams Protocol) または DHCP (Dynamic Host Configuration Protocol) を選択できます。デフォルトのネットワークブート方法は RARP に設定されています。ネットワークで利用できるブートサーバーによって、RARP または DHCP を選択できます。


注 -

DHCP ネットワークブートを使用するには、Sun Ultra システムの PROM のバージョンが 3.25 以降でなければなりません。


RARP とDHCP の両方のネットワークブート方法を利用できる場合、どちらを使用するかは、boot コマンドに一時的に指定できます。あるいは、NVRAM 別名を設定すれば、PROM レベルで永久に保存できます。つまり、この設定はシステムをリブートしても変更されません。次の nvalias コマンドの例は、Sun Ultra 10 システムにおいてデフォルトで DHCP でブートするように、ネットワークデバイスの別名を設定します。


ok nvalias net	 /pci@1f,4000/network@1,1:dhcp

この別名を設定している場合、boot net と入力するだけで、システムは DCHP を使用してブートします。


注意 - 注意 -

nvunalias コマンドと nvalias コマンドの構文を十分理解するまで、nvunalias コマンドで NVRAMRC ファイルを変更しないでください。これらのコマンドを使用する方法については、『OpenBoot 3.x コマンド・リファレンスマニュアル』を参照してください。


  1. ネットワーク経由でブートする方法を決定し、次の中から 1 つを選択します。

    どちらの方法でブートする場合でも、RARP または DHCP のブートサーバーがすでにネットワークに設定されていなければなりません。

    1. DHCP を使用してシステムをネットワーク経由でブートするには、次のように入力します。


      ok boot net[:dhcp]

      上記 nvalias の例のように、デフォルトで DHCP でブートするように PROM 設定を変更している場合、boot net と入力するだけで、システムは DHCP でブートします。

    2. RARP を使用してシステムをネットワーク経由でブートするには、次のように入力します。


      ok boot net[:rarp]

      RARP はデフォルトのネットワークブート方法です。デフォルトで DHCP でブートするように PROM 設定を変更している場合だけ、boot net:rarp と指定しなければなりません。

SPARC: システムを復元するためにブートする方法

この手順は、/etc/passwd などの重要なファイルに、無効なエントリがあり正常にブートできない場合に必要です。

システムのデバイス名を調べたい場合は、第 26 章「デバイスへのアクセス (概要)」を参照してください。

  1. Solaris インストール CD またはネットワークからブートしているかどうかによって、次のそれぞれの手順に従ってください。

    ブート方法 

    手順 

    Solaris インストール CD 

    1. Solaris インストール CD を CD キャディに 挿入する。 

    2. CD キャディを CD-ROMドライブに挿入する。 

    3. インストール CD からブートして、シングルユーザーモードにする。 

    ok boot cdrom -s
    

    インストールサーバーまたはリモート CD ドライブが利用できる場合は、ネットワークからブートする。 

    次のコマンドを使う。 

    ok boot net -s
    

  2. ファイル内に無効なエントリがあるファイルシステムをマウントします。


    # mount /dev/dsk/device-name /a
    
  3. 新しくマウントしたディレクトリに移動します。


    # cd /a/directory
    
  4. 端末タイプを設定します。


    # TERM=sun
    # export TERM
    
  5. エディタを使って、ファイルから無効なエントリを削除します。


    # vi filename
    
  6. ルート (/) ディレクトリに移動します。


    # cd /
    
  7. /a ディレクトリのマウントを解除します。


    # umount /a
    
  8. システムをリブートします。


    # init 6
    
  9. システムが実行レベル 3 になっていることを確認します。

    ブートプロセスが正常に終了すると、ログイン画面かログインプロンプトが表示されます。


    hostname console login:

SPARC: 例 - システムを復元するためにブートする

次に、ローカル CD-ROM からブートした後、重要なシステムファイルを修復する例として、/etc/passwd を使用した場合を示します。


ok boot cdrom -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=sun
# export TERM
# vi passwd
(無効なエントリを削除する)
# cd /
# umount /a
# init 6

SPARC: 復元を目的としてシステムを停止する方法

  1. システムのアボートキーシーケンスを入力します。

    モニターに ok PROM プロンプトが表示されます。


    ok

    アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop-a または L1-a を押します。端末では、Break キーを押します。

  2. sync コマンドを使って、ディスクを同期させます。


    ok sync
    
  3. syncing file systems. . . というメッセージが表示されたら、システムのアボートキーシーケンスをもう一度押します。

  4. 該当する boot コマンドを入力して、ブートプロセスを起動します。

  5. システムが指定した実行レベルになっていることを確認します。


    # who -r
     .       run-level 3  May  2 07:39     3      0  S 

SPARC: 例 - 復元のためにシステムを停止する


<Stop-a を押す>
ok sync
syncing file systems...
<Stop-a を押す>
ok boot

SPARC: クラッシュダンプを強制してシステムをリブートする

問題を対処するために、オペレーティングシステムのクラッシュダンプを保存しておく必要があります。savecore 機能とその設定方法については、『Solaris のシステム管理 (第 2 巻)』の「システムクラッシュ情報の生成と保存」で説明しています。この節では、savecore 機能が有効な場合に、システムをリブートする方法だけを説明します。

SPARC: クラッシュダンプを強制してシステムをリブートする方法

  1. システムのアボートキーシーケンスを入力します。アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop-a または L1-a を押します。端末では、Break キーを押します。

    モニターに ok PROM プロンプトが表示されます。

  2. ok プロンプトで、sync コマンドを使ってディスクを同期させ、クラッシュダンプを書き出します。


    > n
    ok sync
    

    クラッシュダンプがディスクに書き出されると、システムはそのままリブートします。

  3. システムが実行レベル 3 になっていることを確認します。

    ブートプロセスが正常に終了すると、ログイン画面かログインプロンプトが表示されます。


    hostname console login:

SPARC: 例 - クラッシュダンプを強制して、システムをリブートする


<Stop-a を押す>
ok sync

SPARC: カーネルデバッガ (kadb) を使ってシステムをブートする方法

  1. システムのアボートキーシーケンスを入力します。アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop-a または L1-a を押します。端末では、Break キーを押します。

    モニターに、ok PROM プロンプトが表示されます。

  2. ok プロンプトで 、sync コマンドを使ってディスクを同期させ、クラッシュダンプを書き出します。


    > n
    ok sync
    
  3. syncing file systems. . .メッセージが表示されたら、もう一度システムのアボートキーシーケンスを入力します。

  4. カーネルデバッガを使ってシステムをブートします。


    ok boot kadb
    
  5. ブートメッセージで、システムがカーネルデバッガ (kadb) を使用してブートしていることを確認します。


    Rebooting with command: kadb
    Boot device: /iommu/sbus/espdma@4,800000/esp@4,8800000/sd@3,0
    .
    .
    .

SPARC: 例 - カーネルデバッガ (kadb) を使ってシステムをブートする


<Stop-a を押す>
ok sync
syncing file systems...
<Stop-a を押す>
ok boot kadb