Mandrake 9.2上安裝DRBL


      
在國家電腦中心蕭志榥先生(Steven)的協助住下,我終於成功地在Mandrake 9.2上安裝DRBLSteven囑咐我要把這個過程寫下來,提供給其他有心安裝DRBLMandrake上的朋友參考,拖了很久之後,我終於把它完成了,希望對有心嘗試DRBL的朋友有所助益。如果你還有所疑問或想要給指正的話,也請你mail給我 supau@ilc.edu.tw),大家相助切磋一下。最後還是要謝謝國家電腦高速中心,沒有你們的協助,我是無法跨入這個領域的。請注意本文件沒有任何擔保,若因本文件而產生任何直接或間接的損失,本文作者不負任何法律及道義上的責任。

宜蘭縣.三民國小.詹勝凱

    課:   Penguinzilla for RedHat/Fedora/Mandrake    
特別是這份文件:Penguinzilla for Redhat (包含8.0, 9, FC1)以及Mandrake (9.2, 10.0)  
我使用的是「四步安裝法」 。


取得相關程式:


wget http://drbl.nchc.org.tw/redhat/desktop/download/stable/drbl-setup-current.i386.rpm


wget http://opensource.nchc.org.tw/mandrake/apt/mandrake/i586/RPMS.9.2-drbl/kernel-source-2.4.22-28drbl.i586.rpm

一般來說,你是不需要安裝drblkernel-source,但是因為我要在系統上跑nVidia的驅動程式,所以我需要安裝drblkernel-source

wget http://download.nvidia.com/XFree86/Linux-x86/1.0-5336/NVIDIA-Linux-x86-1.0-5336-pkg1.run


這裡可以去下載drbl相關的程式 位置一 位置二


這裡可以去下載nVidia的驅動程式 位置 看圖


Server端:


1. 安裝 Mandrake 9.2 作業系統


2. # rpm -ivh drbl-setup-current.i386.rpm

   安裝 drbl 程式。


3. # /opt/drbl/setup/drblsrv-mdk -i

   這裡有份供你參考的執行過程


4. # uname -r

   你可能看到這樣的回應「2.4.22-10mdk」,這表示要做為server的這台電腦,「這次」開機所使用的的核心(kernel)是「2.4.22-10mdk」。但是我們需要drbl的核心,所以我們需要重新開機,使用drbl的核心。

   最簡單的方法,是你在開機選單中,選用drbl的核心開機,而非預設的Mandrake核心。但是這不是長久之計,因為只要server每次開機,你都得乖乖的坐在電腦前,手動選kernel,這實在也累人。

   一勞永逸的方法,是執行drakconf,在開機的地方去設定,使drbl-kernel成為預設開機的核心。


選「2422-28drbl」作為預設開機核心,「*」是預設開機的意思。


5. # root

   重新開機。


6. # rpm -qa | grep kernel-source

   進一步的來看看,系統中我們到底安裝了哪些kernel-source。下上一行指令,你可能得到這樣的回應「kernel-source-2.4.22-10mdk」,這表示系統中僅有Mandrakekernel-source,沒有drblkernel-source,但是因為我們要安裝nVidia的驅動程式,所以需要drblkernel-source


7. # rpm -ivh kernel-source-2.4.22-28drbl.i586.rpm

   安裝drblkernel-source


8. # init 3

   進入文字模式(安裝nVidia的驅動程式,需要在文字模式中完成)。


9. # chmod 777 NVIDIA-Linux-x86-1.0-5336-pkg1.run

   # ./NVIDIA-Linux-x86-1.0-5336-pkg1.run

   安裝時,你應該會看到下列的抓圖,並依序執行。


8. # vi /etc/X11/XF86Config-4

   修改 /etc/X11/XF86Config-4 ,把其中「nv」改成「nvidia」。


9. # reboot

   

10. # /opt/drbl/setup/drblpush -i

   server上建置client的檔案系統。這也有份參考的操作過程

   其中做到這個步驟時,就需把client端的電腦接上switch,並打開電源,讓server抓取client網卡的MAC address

******************************************************

現在我們可以收集用戶端電腦網卡卡號(MAC Adrees)!
這步驟可以讓您的DRBL環境為用戶端電腦配置固定IP,
如果您沒有用戶端網卡卡號的紀錄檔時,你現在就應該做!
用戶端電腦的網卡卡號(MAC Adrees)將會依照您用戶端電腦開機的順序依序被紀錄下來.
請先將用戶端的電腦設定為由網路開機(etherboot或是PXE),
並依照您想要排列的順序開機!
你是否要收集用戶端的網卡卡號("yes"或是"y" 開始收集, 其他字母略去此步驟)?
[y/N] y
******************************************************

10. # vi /etc/inittab

   建議server開機進入文字模式,而非圖形介面,這樣一來,至少可以減少server的記憶體使用。一般說來,開完機只用到不到64MB的記憶體。


把「id:5:initdefault:」,改成「id:3:initdefault:」。「5」是圖形介面,「3」是文字模式。



11. # vi /etc/rc.d/rc.local

   另外,如果把硬碟的DMA打開,那將可大幅提昇硬碟的讀取速率。在下圖,可以看到未開啟DMA前,硬碟的讀取速度是「7.38 MB/sec」,開啟之後則達到「55.33 MB/sec」,相差到7.5倍,所以建議開啟。


   方法是在 /etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 /dev/hda 這樣每次開機後,硬碟的 DMA 就會開啟,不必每次手動設定。 如果您的硬碟機支援 ATA33 可以加上 -X66 這個參數,ATA66則是 -X68,像我的硬碟是 ATA66 那麼完整參數就是 /sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda

1011步驟,並不一定要作,只是作了之後,可以大幅提高系統的效率。



client:


進入client端的電腦


12. # vi /etc/X11/XF86Config-4

   過法同「步驟8」,只是步驟8是在server端作,步驟12是在client端作。


13. # vi /etc/modules.conf

   把「alias char-major-195 nvidia」加入 /etc/modules.conf 中。


14. # reboot

   重新開機,client端就可以使用,nVidia的驅動程式了。


15. # vi /etc/rc.local

   另外client端的光碟機在讀取音樂光碟與VCD都有問題,這時我們需做一點處理。在client那台的/etc/rc.local最後面加上「cd /dev/; ln -fs hdc cdrom」這行。


或者是在client那台機器
# cd /dev   
# ln -fs hdc cdrom   

如果你的音效出不來的話,你可能需要做面的16.17.步驟。

16. # cp -rf /etc/modules.conf /root /etc/modules.conf 這個檔案備份到 /root

   這時你在 cat /etc/modules.conf ,可能可以看到下面的回應。

-----------------------------------------

alias char-major-195 nvidia

probeall usb-interface usb-uhci ehci-hcd

-----------------------------------------

因為在執行 alsaconf 時,會清掉 /etc/modules.conf 裡的設定,所以我們需要先把原先 /etc/modules.conf 的設定行備份起來。


17. # alsaconf

   你可能可以看到這樣的圖。


17. # vi /etc/modules.conf

   把原先在執行 alsaconf 前,在 /etc/modules.conf 看到的部份,加入 /etc/modules.conf 中。

   編輯 /etc/modules.conf 後,可能看到的情況,例如:

   這時你在 cat /etc/modules.conf ,可能可以看到下面的回應

------------------------------------------------------------------------

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF verion 0.9.0 ---

alias char-major-116 snd

alias snd-card-0 snd-intel8x0

alias char-major-14 soundcore

alias sound-slot-0 snd-0

alias sound-service-0-0 snd-mixer-oss

alias sound-service-0-1 snd-seq-oss

alias sound-service-0-3 snd-pcm-oss

alias sound-service-0-8 snd-seq-oss

alias sound-service-0-12 snd-pcm-oss

options snd major=116 cards_limit=1

options snd-intel8x0 index=0

# --- END: Generated by ALSACONF, do not edit. ---

alias char-major-195 nvidia

probeall usb-interface usb-uhci ehci-hcd


-----------------------------------------------------------------------



P.S.下面是一些我跟Steven通的mail中,我覺得值得參考的說明:

client的所有設定都是在server/tftpboot/nodes/192.168.x.x下,以IP來分。其中有etc這個目錄就是。



您可以在執行drblsrv-mdk.sh的時候,問到你
請選取升級套件時欲使用的 apt 伺服器. [0/1/2/3/4/5]
0 -> opensource.nchc.org.tw. (預設)
1 -> drbl.sourceforge.net(DRBL 套件) ayo.freshrpms.net(其餘套件),
2 -> ayo.freshrpms.net opensource.nchc.org.tw.
3 -> 硬碟、光碟或網路檔案系統(NFS)裡的目錄(須包含安裝 DRBL 所需套件)
4 -> 本機的 apt 伺服器(須包含安裝 DRBL 所需套件).
5 -> 手動輸入 apt 伺服器的網址與路徑.

我有非常多台學生的電腦要設定X-window,請問如何快速設定?

我的client有一些硬體在原來的RedHat/Mandrake中並沒有支援,但是可以找到driver,例如NVidia的顯示卡,請問如何讓client端使用?

我在server上新安裝的程式後,要如何讓每台學生的電腦都可以有這個新的程式?

我的電腦不是很慢,可是裝了Penguinzilla之後,開機到"Starting NFS services:"之後就停在那裡很久,不知道為什麼?

我的學生電腦使用USB的滑鼠或是鍵盤,在第一次開機的時候,滑鼠或是鍵盤都不會動.