ブート PROM は、SPARC ベースシステムをブートし、ブートパラメータを変更するために使用されます。たとえば、ブート元のデバイスをリセットしたり、デフォルトのブートファイルまたはカーネルを変更したり、ハードウェア診断を実行してからシステムをマルチユーザー状態にしたりすることが必要な場合もあります。
次のいずれかのタスクを行う必要がある場合は、デフォルトのブートデバイスを変更する必要があります。
新しいドライブを永久または一時的にシステムに追加します
ネットワークブート方法を変更します
スタンドアロンシステムを一時的にネットワークからブートします
すべての PROM コマンドについては、eeprom(1M) のマニュアルページを参照してください。
システム上のデバイスを確認してブート元となる適切なデバイスを調べることが必要な場合があります。
始める前に
probe コマンドを使用してシステムに接続されているデバイスを安全に確認するためには、次のことを行なっておく必要があります。
PROM の auto-boot? 値を false に変更します。
ok setenv auto-boot? false
reset-all コマンドを発行して、システムのレジスタをクリアします。
ok reset-all
sifting probe コマンドを使用すると、システム上で利用可能な probe コマンドを表示できます。
ok sifting probe
システムのレジスタをクリアしないで probe コマンドを実行すると、次のメッセージが表示されます。
ok probe-scsi This command may hang the system if a Stop-A or halt command has been executed. Please type reset-all to reset the system before executing this command. Do you wish to continue? (y/n) n
ok probe-device
ok setenv auto-boot? true auto-boot? = true
ok reset-all
次の例は、システムに接続されているデバイスの確認方法を示しています。
ok setenv auto-boot? false auto-boot? = false ok reset-all SC Alert: Host System has Reset Sun Fire T200, No Keyboard . . . Ethernet address 0:14:4f:1d:e8:da, Host ID: 841de8da. ok probe-ide Device 0 ( Primary Master ) Removable ATAPI Model: MATSHITACD-RW CW-8124 Device 1 ( Primary Slave ) Not Present Device 2 ( Secondary Master ) Not Present Device 3 ( Secondary Slave ) Not Present ok setenv auto-boot? true auto-boot? = true
別の方法として、devalias コマンドを使用して、システムに接続されている「可能性のある」デバイスの別名と関連パスを確認することもできます。例:
ok devalias ttya /pci@7c0/pci@0/pci@1/pci@0/isa@2/serial@0,3f8 nvram /virtual-devices/nvram@3 net3 /pci@7c0/pci@0/pci@2/network@0,1 net2 /pci@7c0/pci@0/pci@2/network@0 net1 /pci@780/pci@0/pci@1/network@0,1 net0 /pci@780/pci@0/pci@1/network@0 net /pci@780/pci@0/pci@1/network@0 ide /pci@7c0/pci@0/pci@1/pci@0/ide@8 cdrom /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom@0,0:f disk3 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@3 disk2 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@2 disk1 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1 disk0 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 disk /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 scsi /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2 virtual-console /virtual-devices/console@1 name aliases
# init 0
ok printenv boot-device
ブートするデバイスを設定する値を示します。
詳細は、printenv(1B)のマニュアルページを参照してください。
次のような形式で、デフォルトの boot-device が表示されます。
boot-device = /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a
boot-device 値がネットワークブートデバイスを指定する場合、出力は次のようになります。
boot-device = /sbus@1f,0/SUNW,fas@e,8800000/sd@a,0:a \ /sbus@1f,0/SUNW,fas@e,8800000/sd@0,0:a disk net
始める前に
デフォルトのブートデバイスをほかのデバイスに変更するには、まずシステム上のデバイスを確認しておく必要があります。システム上のデバイスを確認する方法については、システム上のデバイスを確認する方法を参照してください。
# init 0
ok setenv boot-device device[n]
boot-device の値 (disk または network など) を設定します。n にはディスク番号を指定できます。ディスク番号を確認する必要がある場合は、probe コマンドのいずれかを使用します。
ok printenv boot-device
ok reset-all
新しい boot-device 値が PROM に書き込まれます。
この例では、デフォルトのブートデバイスをディスクに設定しています。
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device /pci@1f,4000/scsi@3/disk@1,0 boot-device = /pci@1f,4000/scsi@3/disk@1,0 ok printenv boot-device boot-device /pci@1f,4000/scsi@3/disk@1,0 ok boot Resetting ... screen not found. Can't open input device. Keyboard not present. Using ttya for input and output. . . . Rebooting with command: boot disk1 Boot device: /pci@1f,4000/scsi@3/disk@1,0 File and args:
この例では、デフォルトのブートデバイスをネットワークに設定しています。
# 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 . . . Boot device: net File and args: pluto console login: