第八章 設備管理和內核升級

一.  設備管理概述

1. Linux設備的分類

字符設備(c):以字符爲單位,傳輸速率較低,無需緩衝區。

塊設備(b):以數據塊爲單位組織和傳輸數據,需要建立緩衝區

管道設備(p):是一種FIFO緩衝區

網絡設備:一種通過SOCKET接口進行主機通信的設備

2. Linux系統設備管理層次

(1) 上層的設備文件

 功能:用於用戶訪問設備進行輸入和輸出操作

 常見的設備文件:設備文件通常保存在/dev

/dev/hd*   IDE接口的硬盤

/dev/sd*   SCSI/USB設備

/dev/cua*  串口設備

/dev/lp*   並口設備

/dev/tty*  終端設備

  /dev/consol 控制檯設備

  /dev/eth*  以太網設備

 /dev/cdrom 光驅

 /dev/fd*   軟驅

 /dev/audio 音頻設備

      /dev/scd   SCSI的光驅

      /dev/ppp   PPP設備

      /dev/isdn*  ISDN設備

  建立設備文件:

   # mknod 

  格式:mknod  文件名  類型   主設備號   從設備號

  類型:c字符設備

        b塊設備

        p管道設備

實例:# mknod   /dev/fdo   b   1   2

(2) 下層的驅動程序

 功能:用於直接控制設備

二.  驅動程序的安裝

1. Linux驅動程序的特點

 內核代碼:驅動程序可以和內核代碼相結合

 動態加載:驅動程序作爲內核的可裝模塊

 可配置性

2. 安裝過程

(1) 獲取設備的驅動程序(*.tar.gz)

(2) 解壓、生成目標文件複製到/lib/modules/內核版本號/kernel/drivers/相應子目錄中

(3) 添加到內核中

實例:在RH 9.0 Linux中安裝D-link 530tx 100m網卡驅動

(1) 從http://www.legend-networks.com.cn/downfile/linux530_321.tar處下載驅動到/usr/src目錄中

(2) #cd  /usr/src;tar –xvf  linux530_321.tar

(3) #cd  linux530_321;make

(4) #cp via-rhine.o  /lib/modules/2.4.20-8/kernel/drivers/net/

(5) #vi   /etc/rc.d/rc.local

添加以下內容:

/sbin/modprobe  via-rhine

注:modprobe用於裝載驅動程序模塊,也可以用以下方法實現:

#vi  /etc/modules.conf

添加以下內容:

alias   eth0   via-rhine

(6) # init  6

注:(1lsmod 顯示內核模塊

2modprobe   模塊名    添加模塊,自動解決依賴關係

 (3)  insmod   模塊名      添加模塊,手工解決依賴關係

三.  編譯升級內核

1. 內核功能

內核是Linux操作系統核心部分,現在的操作系統都採用層次結構,功能模塊化.作爲內核主要有以下功能:

n 實現定時器和中斷處理

n 實現對虛擬內存的管理

n 實現進程之間的通信

n 實現對外圍設備的驅動

n 實現對虛擬文件系統的管理

n 對網絡的支持和管理

2. 編譯升級的理由

n 現有內核不支持或沒有將用戶系統中某些硬件的驅動程序編譯

n 刪除內核中實際系統中根本不用的設備驅動,以減少對內存的佔用

n 使用一些現有的內核沒有編譯進去的網絡通信協議

n 提高Linux的效率

n 修改錯誤、支持新的應用程序

3.編譯升級kernel-2.6.0

kernel-2.6.0編譯升級比以前的版本要簡單的多,具體如下:

(1)  下載2.6.0的內核到/usr/src/

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.gz

(2) 在/usr/src目錄下解壓內核

#cd  /usr/src

#tar zvxf  /usr/src /linux-2.6.0.tar.gz

(3) 配置

#cd /usr/src/linux-2.6.0

# make mrproper

# make menuconfig

注:make mrproper 是清理代碼樹的動作,保證源代碼是乾淨的

(4) 編譯

#make

(5) 安裝

#make  modules_install

#make  sinstall

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章