在某些配置下,包含支持 SR-IOV 的设备的系统可能会遇到在启动时 X11 Xorg 图形用户界面 (graphical user interface, GUI) 无法启动的问题。运行 Oracle Solaris 11 11/11 预安装操作系统软件的系统对此问题已有解决方法。但是,如果使用 Oracle Solaris 11 11/11 分发介质执行新安装,并且发现 X11 GUI 无法启动,则需要执行下述解决方法。
受影响的软件:
Oracle Solaris 11 11/11
发行版 1.0、1.1、1.2、1.3、1.4.4 和 1.5
解决方法:
如果基于 GUI 安装 Oracle Solaris 11 11/11,则需要执行以下步骤 1-3,以启动 GUI 进行安装,然后在安装后的首次引导时执行所有步骤(即步骤 1-4)。
如果未使用图形控制台登录系统(使用文本或串行控制台,或通过以太网登录),则在安装后的首次引导后,执行步骤 4。
在引导时编辑显示的 GRUB 行,并根据喜好,将默认的图形控制台更改为代表串行控制台的 ttya,或代表 VGA 文本的 text。同时添加 -kd 作为内核标记。例如:
kernel /platform/i86pc/kernel/amd64/unix
更改为
kernel /platform/i86pc/kernel/amd64/unix -kd -Bconsole=text
或者
kernel /platform/i86pc/kernel/amd64/unix -kd -Bconsole=ttya
要编辑 GRUB 行,请执行以下操作:
按 ???e' 编辑 GRUB 条目。
按 ???e' 编辑选定行。
键入更改。
按 <esc> 完成更改。
按 ???b' 进行引导。
当 Solaris OS 进入调试器时,输入以下内容以在 pcie???_init 设置断点:
[0]> ::bp pcie???_init
:c
当 Oracle Solaris OS 运行到断点时,输入以下内容设置变量 0> pcie_br_flags/W 0:
pcie'pcie_br_flags: 0x1 = 0x0
[0]>:c
在引导了系统并且您可以登录后,要想避免使用调试器设置变量,可将以下行:
set pcie:pcie_br_flags=0 附加到 /etc/system。
#echo 'set pcie:pcie_br_flags=0' >> /etc/system