这是一个从引导系统查看 OpenBoot PROM (OBP) 别名的过程,而无需将系统关闭到“ok”提示符。
这些别名既是“内置”别名,也是可能手动创建的任何其他别名。
它们与使用“devalias”命令在 OBP 级别(在“ok”提示符下)看到的别名相同。
创建这些别名是为了在 OBP 级别简化对硬件设备的访问。
在“ok”提示下,它们可以用来代替完整的 OBP 硬件路径。
在舞会级别通过“devalias”命令查看时,它们以别名的形式列出,后跟设备的完整硬件路径。
也可以使用以下 Solaris 命令从操作系统查看这些 OBP 别名:
# /usr/sbin/prtconf -pv
冗长的输出将被分成“节点”,并且带有别名信息的部分以以下行结束(这是要定位的输出部分): name: 'aliases'
--snip- Node 0xf0816050 xdisk: '/ssm@0,0/pci@19,700000/pci@2/SUNW,isptwo@5/sd@0,0' xnet: '/ssm@0,0/pci@19,700000/pci@1/SUNW,qfe@3,1' diskc: '/ssm@0,0/pci@1c,700000/pci@1/SUNW,isptwo@4/sd@0,0' netc: '/ssm@0,0/pci@1c,700000/pci@1/SUNW,hme' cdrom: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@6,0:f' disk: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@0,0' disk0: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@0,0' disk1: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@1,0' disk2: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@2,0' disk3: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@3,0' disk4: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@4,0' disk5: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/sd@5,0' def-cn: '/sgcn' diskifp: '/ssm@0,0/pci@19,700000/SUNW,ifp@1/ssd@0,0' diskglm: '/ssm@0,0/pci@18,700000/scsi@2/disk@0,0' scsi: '/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo' net: '/ssm@0,0/pci@18,700000/pci@1/SUNW,hme' name: 'aliases' --snip-
示例 1:将引导设备更改为目标 2
我们可以使用以下命令(或者其他适当的磁盘描述符)查看当前配置了哪些设备并将该路径用于 devalias 路径名:
# prtconf -vp | grep sbus --> sbus based systems # prtconf -vp | grep pci --> PCI based systems
prtconf 命令的输出将因机器架构而异。
# prtconf -vp | grep sbus bootpath: '/sbus@1f,0/SUNW,fas@e,8800000/sd@0,0:a' sbus-probe-list: '0123' net: '/sbus/SUNW,hme@e,8c00000' disk: '/sbus/SUNW,fas@e,8800000/sd@0,0' cdrom: '/sbus/SUNW,fas@e,8800000/sd@6,0:f' tape: '/sbus/SUNW,fas@e,8800000/st@4,0' tape1: '/sbus/SUNW,fas@e,8800000/st@5,0' tape0: '/sbus/SUNW,fas@e,8800000/st@4,0' disk6: '/sbus/SUNW,fas@e,8800000/sd@6,0' disk5: '/sbus/SUNW,fas@e,8800000/sd@5,0' disk4: '/sbus/SUNW,fas@e,8800000/sd@4,0' disk3: '/sbus/SUNW,fas@e,8800000/sd@3,0' disk2: '/sbus/SUNW,fas@e,8800000/sd@2,0' disk1: '/sbus/SUNW,fas@e,8800000/sd@1,0' disk0: '/sbus/SUNW,fas@e,8800000/sd@0,0' scsi: '/sbus/SUNW,fas@e,8800000' floppy: '/sbus/SUNW,fdtwo' ttyb: '/sbus/zs@f,1100000:b' ttya: '/sbus/zs@f,1100000:a' keyboard!: '/sbus/zs@f,1000000:forcemode' keyboard: '/sbus/zs@f,1000000' device_type: 'sbus' name: 'sbus'
查找目标 2 的磁盘别名。
sd@2,0 表示目标 2 处的 SCSI 磁盘。
因此我们知道“disk2”是合适的别名。
以下命令将设置引导设备
# eeprom boot-device=disk2
更改或者创建引导设备别名
我们可以在服务器运行时使用 eeprom 命令更改或者创建引导设备别名。
我们不必停止服务器来更改引导设备。
我们可以更改引导设备,甚至可以在系统启动并运行时使用 eeprom 命令创建新别名。
只有 root 用户才能执行 eeprom 命令。
从多用户模式更改引导设备可以像以下命令一样简单:
# /usr/sbin/eeprom boot-device=disk2
在上面的例子中,disk2 已经被定义为别名。
我们还可以定义自己的别名以与 boot-device 变量一起使用。
以下说明解释了如何创建别名,然后将其分配为 boot-device 变量。
我们需要知道要使用的设备别名的路径名。
路径名的一个示例是:/sbus/SUNW,fas@e,8800000/sd@2,0。
路径名往往又长又复杂,这就是为什么我们喜欢为它们分配别名,如“disk2”。
示例 2:将引导设备更改为目标 14
让我们从上述“prtconf -vp | grep sbus”命令的结果中查看将引导设备更改为目标 14 的示例。
请注意,目标 14 没有预定义的别名。
以下是添加名为“boot-me”的设备别名的命令:
# eeprom use-nvramrc\?=true # eeprom nvramrc='devalias boot-me /sbus@1f,0/SUNW,fas@e,8800000/sd@e,0'
注意:e 是十进制 14 的十六进制。
# eeprom boot-device=boot-me
运行“prtconf -vp | grep sbus”现在会显示新的“nvramrc”变量设置,而不是我们刚刚创建的单个设备别名。
系统重启后,以下命令将显示“boot-me”别名:
/usr/sbin/prtconf -vp|grep sbus
ok> boot boot-me
要让系统使用这个新创建的别名永久启动:
ok> setenv auto-boot? true ok> reset
我们需要在“ok”提示符下执行“reset”命令,以便使用此新别名更新“devalias”命令,以便从“boot-device”别名(例如,boot-me)引导。