一江春水向東流

          做一個有思想的人,期待與每一位熱愛思考的人交流,您的關(guān)注是對我最大的支持。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks
          昨天看了看在Linux下配置網(wǎng)卡的驅(qū)動程序,總結(jié)了一下:
          ?
          ??? 以D-Link530的網(wǎng)卡進行模塊的編譯.

          ??? 由于Linux的默認內(nèi)核已經(jīng)建立很多網(wǎng)卡驅(qū)動程序模塊,所以在編譯網(wǎng)卡模塊之前就要確認網(wǎng)卡芯片是否被支持,如果被支持,就不需要編譯模塊.

          ??? D-Link530的網(wǎng)卡的芯片組是有名的via-rhine(有時也寫成viarhine),先找找有沒有這塊網(wǎng)卡的模塊,如果有,你的網(wǎng)卡已經(jīng)被支持,可以跳過編譯過程,直接進行模塊的加載.

          ??? 1.先查看內(nèi)核版本,因為不同版本的模塊放置的路徑不同
          ????? uname -r

          ??? 2.內(nèi)核模塊的路徑

          ????? cd /lib/modules/`uname -r`/kennel/drivers/net

          ????? 以上為2.4版的路徑

          ????? cd /lib/modules/`uname -r`/net

          ????? 以上為2.2版的路徑

          ??? 3.查詢模塊

          ????? ls -l via*
          ?
          ??? 如果自己不知道網(wǎng)卡被Linux檢測到,可以用以下方法來測試:

          ????? dmesg | grep eth

          ??? 如果檢測到,就不需要編譯內(nèi)核模塊.萬一檢測不到,就必須進行編譯工作了.
          ?
          ??? 1.下載網(wǎng)卡驅(qū)動程序模塊.

          ??? 2.確定存在所需要的包:由于驅(qū)動程序需要配合內(nèi)核來編譯,就會用到kernel source或kernel header的數(shù)據(jù),此外也需要編譯器的幫助,先確定Linux中是否已經(jīng)存在下面的包(以Red Hat 9為例):

          ????? kernel-source-2.4.20-18.9
          ????? kernel-2.4.20-18.9
          ????? gcc-3.2.2-5
          ????? make-3.79.1-17

          ???? 如果沒有以上的包,就要拿出光盤,將他們安裝到Linux中.
          ?
          ???? 注意:由于很多內(nèi)核模塊默認都是由/usr/src/linux這個kernel source的目錄來取得所需信息,但偏偏目前很多的Linux都是使用/usr/src/linux-2.4這個目錄來鏈接,所以很多時候就會發(fā)現(xiàn)找不到文件的錯誤信息. 因此,可以使用下面的方式來鏈接目錄:

          ????? cd /usr/src
          ????? ln -s linux-2.4.20-18.9 linux?
          ?
          ???? 3.編譯下載的模塊

          ?????? 下載完整的驅(qū)動程序源代碼,如文件名為:dlkfet-4.24.tar.gz
          ??????? 1.將取得的文件放置到/tmp下,并解壓文件
          ????????? cp dlkfet-4.24.tar.gz /tmp
          ????????? cd tmp
          ????????? tar -zxvf dlkfet-4.24.tar.gz
          ????????? cd dlkfet-4.24

          ??????? 2.開始編譯

          ????????? make

          ????會產(chǎn)生一個文件模塊:rhinefet.o,將它移動到模塊放置的目錄后,執(zhí)行depmod -a即可.

          ????????? cp rhinefet.o /lib/modules/`uname -r`/kennel/drivers/net
          ????????? depmod -a

          ????? 4.模塊測試

          ??????? 內(nèi)核模塊編譯完成后,就要測試能否正常運行,因為我們已經(jīng)運行depmod -a,所以直接以modprobe進行模塊的加載.

          ??????? 1.加載模塊測試

          ??????? modprobe rhinefet.o

          ??????? 注意,不要寫完整的名稱,.o不需要寫.rhinefet就是剛剛編譯出來的rhinefet.o.

          ??????? lsmod

          ??????? 2.設置開機加載摸塊

          ??????? 就是編輯/etc/modules.conf
          ??????? vi /etc/modules.conf

          ??????? 在文件中加入下面一行:

          ??????? alias eth0 rhinefet

          ??????? 3.重新啟動,看是否正常啟動模塊

          ??????? sync;sync;reboot

          ??? 上面我們使用的是rhinefet模塊,如果不是這個名稱,就請依你的實際情況來修改.接下來就是測試這個網(wǎng)卡是否正常工作.
          posted on 2008-12-23 10:10 allic 閱讀(913) 評論(0)  編輯  收藏 所屬分類: linux內(nèi)核,驅(qū)動
          主站蜘蛛池模板: 塔城市| 新晃| 内乡县| 康马县| 肃宁县| 岑巩县| 彭山县| 临城县| 射阳县| 西平县| 方城县| 沅江市| 虹口区| 鄂托克前旗| 海宁市| 清水河县| 米泉市| 巴东县| 通州市| 凉城县| 咸阳市| 四平市| 茂名市| 房产| 渑池县| 乌兰察布市| 出国| 四平市| 郯城县| 雷波县| 锡林浩特市| 南昌市| 江津市| 陕西省| 赤水市| 江北区| 贵溪市| 三门县| 阿城市| 大连市| 屏东县|