Solaris安裝x86
Solaris9 x86以其可靠、安全、高可用性以及低廉的價格(對非商業用途免費),吸引著越來越多的用戶。
近日,筆者在安裝Solaris9 X86時,碰到一些問題,經過一番周折,終於解決了這些問題。本文將介紹這些問題的解決方法,以供大家參考。拋磚引玉啦!
測試環境: 筆者測試的安裝環境是Toshiba Satellite Pro M10筆記本以及Dell GX110 Desktop。軟件是Solaris 9 x86,其中在Toshiba M10 上裝的是4/03版本,在Dell GX110上裝的是12/02 版本。在安裝之前,先上網查了一下,發現Dell的GX110屬於Reported to Work列表。而Toshiba M10不在列表范圍。
但其自帶的網卡Intel Pro/100 VE和Toshiba Tecra S1的相同,而後者已經reported to work。值得注意的是,對於這一網卡的Driver Info, 有注釋: Add iprb "pci8086,103d" to /etc/driver_aliase。
1. USB設備的兼容性問題. 1) 問題描述和解決方法
在Dell GX110上的安裝很順利,但在Toshiba M10上剛開始安裝就碰到問題了。安裝過程在Device Configuration Assistant階段就停止不動了,在排除了安裝盤質量問題可能性後,上FAQ查了一下,發現Solaris 9 X86目前還不支持USB 2.0 EHCI,而Toshiba M10用的正是USB2.0接口。找到問題解決就很容易了。通過Toshiba自帶的東芝控制台Disable掉USB設備,安裝過程就正常了。
2) 相關知識-Solaris支持的USB接口類型:
一共有三種類型的USB主機控制器 (USB host controller),而Solaris9 x86 只支持其中一種。
USB 1.1 UHCI: Solaris x86支持, 但Solaris SPARC不支持。
USB 1.1 OHCI: Solaris x86不支持, 但Solaris SPARC支持 (需要 Solaris USB DDK v0.8a).
USB 2.0 EHCI:目前Solaris 9還不支持。 也許將來的Solaris release會支持。
3) 相關知識-在Solaris裡如何判別你的USB接口類型:
運行命令 "prtconf -pv | grep 000c03". 如果輸出為空,那說明你的機器沒有USB :-(。如果有一行為:
"class-code: 000c0300", 說明你的USB是UHCI類型,如果是"class-code: 000c0310",說明是OHCI的USB接口,如果是
"class-code: 000c0320" 說明是EHCI的USB接口(USB2.0)。
2. 顯示設置問題 在安裝過程中,系統會提示輸入顯卡驅動類型以及顯示器分辨率、刷新頻率。這個時候,顯卡驅動還沒有安裝,因此需要先設置成通用的顯卡驅動和顯示分辨率。
如果顯示設置配置不正確,系統將不能正常運行。
下面是本人安裝過程中的一些參考設置:
1) Video Devices: VESA Generic Driver for VESA-Compatible Video Cards
2) Monitor Type: Notebook LCD SVGA 35.5Khz ...
3) Screen Size: 15-inch
4) Resolution/Color/RefreshRate 分辨率1024*768,256色,刷新頻率60 Hz。值得注意的是剛開始的時候顏色不要選過高(顯卡驅動還沒有裝好)。
3. 網卡安裝問題 1) 問題描述
在系統安裝到第一次進入CDE環境後,運行命令ifconfig -a, 兩台機器都只發現lo0接口,而沒有出現期望的elxl或iprb接口。進入目錄/dev,仍然沒有發現任何關於elxl或者iprb的文件或鏈接。
注:DELL GX110 預裝的是3com的3c905c-tx網卡,而Toshiba Satellite Pro M10 預裝的是Intel Pro/100 VE網卡。
大家一定還記得前面提到的硬件兼容列表裡關於Driver Info的注釋,但該怎麼操作呢?
為了大家的方便,筆者在此以Toshiba M10的Intel Pro/100 VE網卡為例,將解決方法作一簡單介紹。
2) 解決方法介紹
.1) 用vi打開文件/etc/driver_aliases, 加入一行如下:
iprb "pci8086,1030"
.2) 用vi打開文件/boot/solaris/devicedb/master,加入一行如下:
pci8086,103d pci8086,103d net pci iprb.bef "Intel Pro/100 VE Network Adapter"
.3) 運行命令: devlinks
.4) 運行命令:touch /reconfigure
.5) 重新啟動(可以用命令 init 6)
.6) 進入/dev目錄,太棒了!發現了/dev/iprb (當然,這時候用ifconfig -a 命令網口還沒正常工作)
.7) 接下來的事情就簡單了,用vi 編輯/etc/hostname.iprb0, 文件內容是你的主機名。(如果用的是IPv6,那麼要編輯的是hostname6.iprb0文件)
.8) 再次重啟
3)相關知識-關於master文件
當打開master文件,裡面有關於數據格式的詳細解釋,這裡僅作簡要介紹:
<dev ids> <name> <dev type> <bus> <realmode driver> <dev desc>
pci8086,103d pci8086,103d net pci iprb.bef "Intel Pro/100 VE Network Adapter"
這裡<dev ids>裡的pci8086, 103d 是什麼含義呢?8086是Intel的Vender號,103d是設備號。那麼在哪裡可以找到這些數字呢?一種方法是在重啟機器時觀察BIOS Summary Screen(在檢測完IDE設備後),留意裡面關於網卡的那兩個四位數字。
另一種方法就是在網上搜索相關的資料,比如前面在硬件兼容列表裡面有人提到了Intel Pro/100 VE網卡的設備號是103d.
注:對於Dell GX110的3COM 3c905c-tx網卡,
/etc/driver_aliases:elxl "pci10b7,9200"
/boot/solaris/devicedb/master: pci10b7,9200 pci10b7,9200 net pci elxl.bef "3Com 3C905C-TX-M El XL 10/100"
步驟同上。
另外,為了大家的方便,這裡還列出了部分接口名稱的含義:
elxl: 3COM EtherLink網卡
iprb: Intel Pro網卡
nei: 10baseT NE2000兼容的PCI網卡 (Linksys, AT/LANTIC)
注: 在FAQ上有關於這一問題的更詳細的描述。
4. DHCP 配置問題 1) 問題描述:
在一些環境中,筆記本或者台式機需要配置DHCP而不是固定IP。筆者參考了Solaris 的IP Services手冊"How to Configure a Solaris DHCP Client"的方法,但沒有成功。
原因是該方法需要運行sys-unconfig命令,這樣會導致前面配置的kdm設置和網卡設置丟失。經過研究,終於搞定。
2) 解決方法
.1) 進入/etc目錄,運行: touch hostname.<devno>, 例如: touch /etc/hostname.elxl0
.2) touch dhcp.<devno>
.3) 配置domainname, 可以用domainname 命令,例如domainname prc.sun.com,接著編輯/etc/defaultdomain文件,加入配置的domain name.
.4) 運行ypinit -c
.5) 運行/usr/lib/netsvc/ypbind -broadcast
.6) 運行/usr/lib/netsvc/ypstart
.7) 重新啟動機器(可以用命令 init 6)