电脑技术学习

在笔记型电脑上装 RedHat 7.0

dn001
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

标签: