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

第 8 章 SPARC: システムのブートの手順

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

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

ブート手順の概要については、第 10 章「ブートプロセスの参照情報」を参照してください。

SPARC: ブート PROM の使用方法

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

永久に、または一時的に新しいドライブをシステムに追加したいときは、デフォルトのブートデバイスを必ず変更してください。あるいは、スタンドアロンシステムをディスクレスクライアントに変換する場合は、必ずネットワークからブートしてください。

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

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

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

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


> n
ok

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

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

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


ok banner
SPARCstation 2, Type 4 Keyboard
ROM Rev. 2.2, 16 MB memory installed, Serial #nnnnnn
Ethernet address 8:0:20:f:fd:6c HostID nnnnnnnn

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

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

次の手順で、デフォルトのブートデバイスを変更してください。

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

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


    # init 0
    

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

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


    > n
    ok

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

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


    ok setenv boot-device disk[n]

    boot-device

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

    disk[n]

    boot-device 値を指定する。この場合、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... [11] [10] [5] done
Program terminated
Type  help  for more information
ok setenv boot-device disk
boot-device =         disk
ok printenv boot-device
boot-device           disk                    disk
ok reset
SPARCstation 10 (1 X 390Z50), No Keyboard
ROM Rev. 2.14, 32 MB memory installed, Serial #3383708.
Ethernet address 8:0:20:1f:33:9f, Host ID: 7233a19e.
Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/
sd@3,0  File and args: kadb -v
.
.
.
pluto console login:

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

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


ok reset

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

SPARC システムのブート

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

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

システムのブート方法 

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

参照先 

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

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

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

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

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

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

対話式でブート 

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

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

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

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

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

kadb を使ってブート

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

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

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

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

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

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

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


    ok boot
    

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

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

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


    hostname console login:

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

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


ok boot
Resetting ...
SPARCstation 10 (1 X 390Z50), Keyboard Present
ROM Rev. 2.14, 32 MB memory installed, Serial #number.
Ethernet address #number, Host ID: number.

Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0  
File and args: 
SunOS Release 5.7 Version generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
configuring network interfaces: le0.
Hostname: venus
The system is coming up.  Please wait.
add net default: gateway 129.152.75.248
NIS domainname is solar.com
starting rpc services: rpcbind keyserv ypbind done.
Setting netmask of le0 to 255.255.255.0
Setting default interface for multicast: add net 224.0.0.0: gateway venus
syslog service starting.
Print services started.
volume management starting.
The system is ready.

venus console login: 

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

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


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


    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.7 Version [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
configuring network interfaces: le0.
Hostname: mars
INIT: SINGLE USER MODE
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Sun Microsystems Inc.   SunOS 5.7 August 1998
# who -r
   .       run-level S  June 2 07:45     S      0  ?
<保守作業を行う>
# <Control-d を押す>

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

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


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

    表 8-2 SPARC: 対話式によるブート処理手順

    システムの表示 

    操作 

    Enter filename [kernel/unix]: 

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

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

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

    モジュールディレクトリに別のパスを入力して Return キーを押す。 

    あるいは、そのまま Return キーを押してデフォルトのモジュールディレクトリパスを使う。 

    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. 表 8-2 の質問に答えるようなプロンプトが表示されない場合、boot -a コマンドを正しく入力していることを確認してください。

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

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


ok boot -a
.
.
.
Resetting ...
Rebooting with command: -a
Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0 
File and args: -a
Enter filename [kernel/unix]: Return キーを押す
Enter default directory for modules
[/platform/SUNW,SPARCstation-10/kernel /platform/sun4m/kernel /kernel /usr/kernel]:
Return キーを押す
SunOS Release 5.7 Version generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
Name of system file [etc/system]:  Return キーを押す
root filesystem type [ufs]: Return キーを押す
Enter physical name of root device
[/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000
/sd@3,0:a]: Return キーを押す
configuring network interfaces: le0.
Hostname: earth
The system is coming up.  Please wait.
.
.
.
The system is ready.
earth console login:

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

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

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

  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: 復元のためにシステムを停止する方法

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

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

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


    ok
  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