一江春水向東流

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

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

          ??? 由于Linux的默認內核已經建立很多網卡驅動程序模塊,所以在編譯網卡模塊之前就要確認網卡芯片是否被支持,如果被支持,就不需要編譯模塊.

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

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

          ??? 2.內核模塊的路徑

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

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

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

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

          ??? 3.查詢模塊

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

          ????? dmesg | grep eth

          ??? 如果檢測到,就不需要編譯內核模塊.萬一檢測不到,就必須進行編譯工作了.
          ?
          ??? 1.下載網卡驅動程序模塊.

          ??? 2.確定存在所需要的包:由于驅動程序需要配合內核來編譯,就會用到kernel source或kernel header的數據,此外也需要編譯器的幫助,先確定Linux中是否已經存在下面的包(以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中.
          ?
          ???? 注意:由于很多內核模塊默認都是由/usr/src/linux這個kernel source的目錄來取得所需信息,但偏偏目前很多的Linux都是使用/usr/src/linux-2.4這個目錄來鏈接,所以很多時候就會發現找不到文件的錯誤信息. 因此,可以使用下面的方式來鏈接目錄:

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

          ?????? 下載完整的驅動程序源代碼,如文件名為: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

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

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

          ????? 4.模塊測試

          ??????? 內核模塊編譯完成后,就要測試能否正常運行,因為我們已經運行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模塊,如果不是這個名稱,就請依你的實際情況來修改.接下來就是測試這個網卡是否正常工作.
          posted on 2008-12-23 10:10 allic 閱讀(913) 評論(0)  編輯  收藏 所屬分類: linux內核,驅動
          主站蜘蛛池模板: 藁城市| 杂多县| 饶平县| 温宿县| 桂平市| 翁牛特旗| 龙口市| 襄樊市| 靖西县| 遂宁市| 岳普湖县| 达尔| 云龙县| 伊通| 盈江县| 禹城市| 崇明县| 沙田区| 清远市| 托克托县| 紫阳县| 泰安市| 延长县| 巩义市| 汉源县| 新巴尔虎右旗| 石河子市| 内黄县| 惠来县| 西城区| 亳州市| 陆丰市| 封开县| 拉萨市| 图木舒克市| 隆昌县| 大关县| 邛崃市| 霍山县| 海盐县| 福建省|