A: 花了二天,搞定了在筆記型red hat7.0安裝billionton pcmcia cardbus 10/100M fast ethernet card(32bit),從安裝過程體會很多,這份心得可能僅少數人需要,但這模式我想不僅適用於網卡,其它如sound card也應適用,故我將我的經驗分享出來,有誤請大家指教。 notebook安裝pcmcia cardbus,只要是大廠應不致有問題,因為7.0的card database(/etc/pcmcia/config)大抵都支援,因為當初小弟考慮經濟問題故買notebook及 其配備均以價格為考量,買的是e-know牌pIII-800,256M記憶體, 20GB IBM-HD,及billionton 32bit pcmcia cardbus 10/100M fast ethernet card(聽都沒聽過,我當時只要求老板選有附Linux, windows系列的driver,因為我打算install win98, win2000, red hat6.2 於這台notebook上,win98及win2000均稱順利,而redhat6.2也還好,因為剛好附的是red hat6.2的cardbus module -->fethcb_cb.o,但因為6.2在跑x-window時,LCD顯示不平順,故打算改成red hat7.0+cle1.0 ,安裝完後發現在run X-window很平順,但fethcb_cb.o卻無法被pcmcia的cardmgr modprobe進來,而查看/var/run/stab(此檔記錄pcmcia slot card資訊)竟然slot 0 和slot 1是empty,根本沒捉到我的pcmcia網卡,寫信去該支援部,要我到realtek網站看rtl8139 update with cardbus 如何在7.0上work, 看完後我make install其站上所附的all netdrivers, 搞到red hat7.0異常,只好重灌,最後只 好自己大膽來作編譯,這也正是想分享的重點: 若你有非大廠的邊設備模組,但不是您想安裝的新版本(如我的例子, 我的linux pcmcia網卡附6.2版的驅動模組,在7.0無法load進來), 那可能的解法是--->『自行在新的linux版本上編譯出該模組』。 步驟: 一、准備好所附模組的原始檔(*.c &some *.h),這是所有linux的 驅動程式片均會附的。這裡要稍加說明:廠商所附的linux driver通常為module,即為*.o的檔,也同時會附上 *.c的原始碼檔,兩者的關是該廠商寫好*.c 的驅動程式,在該linux版本下用gcc去compiler出*.o模組檔,供linux的kerneld, 或cardmgr去load 進來,但所complier出的*.o模組檔因compiler時所連結的lib和header file的關,僅適用於該kernel版本。 二、准備好*.c原始檔後,利用editor打開看其最後一行,所有c語言的原始碼檔均會在最後附上其compiler-command。 三、不是在終端機上直接下該 compiler-command 即可,會編譯失敗,因為在compiler & link過程會用到一些header file,以網路卡為例:應該把它copy to /usr/src/linux/drivers/net下,再切到該目錄上去執行compiler-command,指令如gcc -DCARDBUS -DMODULE -c xxx.c(原始檔)之類的編譯命令.. 四、compiler完後,看看是否有產生你要的模組檔(xxx.o),若有則恭喜您,大概可以了,若沒有,那可能你放的目錄有誤,如sound card位置又不一樣了,也有可能在 gcc的命令中,-I/usr/******的include path有誤,致使無法順利compiler。 五、compiler成的模組檔,按照你在舊版本時安裝的方式,更改設定檔,以我為例,即/etc/pcmcia/config要加上device名稱及欲bind的module, 這在所附之驅動程式片均會有install.txt可供參考。 學習如何編譯成新版本kernel所需要的module很有用,否則只能等著網路上有人release出來或原廠商的支援了,希望這對想安裝linux在notebook的人,而其一些邊設備並非大廠的人有些許幫助,不過若不受限經濟,倒是選大廠好些。 以上可能有誤,若有任何需改正的,請告知小弟,讓小弟也能修正錯誤。 thanks
轉自:動態網制作指南 www.knowsky.com
[1]
轉自:動態網制作指南 www.knowsky.com