我的client有一些硬體在原來的RedHat/Mandrake中並沒有支援,但是可以找到driver,例如NVidia的顯示卡,請問如何讓client端使用? |
0. 請可以先執行四步安裝法中的第二步驟
也就是
/usr/share/drbl/setup/drblsrv -i
來確認您給client使用的核心是最新版的.
1. 確認您的client端用的核心版本
這可以在DRBL server上,執行
cat /tftpboot/nbi_img/kernel_version_in_initrd.txt
來得到。
以下我們舉例為2.4.20-30.9drbl,請依照您當時的狀況而定。
2. 如果你的作業系統版本是Fedora Core 2之前(含),請確認server有安裝這個核心以及它的source,以本例而言就是kernel-2.4.20-30.9drbl與kernel-source-2.4.20-30.9drbl,可以用這樣查詢:
rpm -q kernel-source-2.4.20-30.9drbl
rpm -q kernel-2.4.20-30.9drbl
如果沒有找到的話,請用apt或是yum來安裝,例如執行
apt-get install kernel#2.4.20-30.9drbl
apt-get install kernel-source#2.4.20-30.9drbl
確認/usr/src下面有安裝好這個kernel source (/usr/src/linux-2.4.20-30.9drbl/)。
如果你的作業系統版本是Fedora Core 3,原則上就不需要安裝kernel-source了,只要有kernel就好了。如果是Fedora Core 4或是之後的版本,請用"yum install kernel-devel"來安裝對應的kernel headers。
如果您現在正在執行的kernel不是您要的版本(可以用uname -r來查詢),請重新開機,選擇使用2.4.20-30.9drbl這個核心來開機,這樣才能正確編譯驅動程式給用戶端使用。
3. 下載您的硬體的Linux驅動程式原始碼,或是可以編譯的,不要抓供特定核心版本使用的binary檔
4. 將DRBL server開機成client用的那個核心的版本,以本例而言,就是開機的時候選用2.4.20-30.9drbl
5. 依照您的硬體的Linux驅動程式中的說明來編譯驅動程式,這裡一般來說是
a. 解開tarball: tar xvzf xxx.tgz
b. ./configure
c. make
d. make install
當然也可能是用rpmbuild或是其他方式來作,例如Nvidia的驅動程式,就是直接執行Nvidia提供的shell script檔案(例如執行"sh NVIDIA-Linux-x86-1.0-5336-pkg1.run")
6.
如果不是網路卡的話,直接執行四步安裝法中的第三步驟(/usr/share/drbl/setup/drblpush -i)即可。
如果你的設備是網路卡,
(a).取得client網路卡的PCI ID
a.1 您可以用Live CD或是在client開機後,出現未能mount /root可以進入shell的時候(mkinitrd-net版本1.12-9drbl(含)之後才比較完整),執行
lspci (或是lspci-static)
以及
lspci -n (或是lspci-static -n)
來比對,找到您的網路卡的PCI ID,例如,您找到的PCI ID為8086:1026 (以Intel Corp.|82545GM Gigabit Ethernet為例)
a.2
將/usr/lib/mkinitrd-net/initrd-skel/etc/pcitable中的
0x8086 0x1026 "unknown"
改成
0x8086 0x1026 "e1000"
請注意:這邊的間隔要用tab而不是空白(這裡假設您的網路卡driver編譯出來的是e1000).
(b).再執行四步安裝法中的第二步驟
也就是
/usr/share/drbl/setup/drblsrv -i
來針對網路卡重新產生網路開機所需的檔案.
(c).然後執行四步安裝法中的第三步驟
/usr/share/drbl/setup/drblpush -i
重新將檔案複製給client端。
7. client端可能要重新設定一下,例如X-window的設定檔,您可以找一台client來設定後,然後用drbl-cp-host複製設定檔給其他client.
|
|