Linux系統管理(一)Linux設備和內核管理


設備和內核管理
linux

一.  設備管理概述微信

1.Linux設備的分類網絡

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

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

網絡設備(s):一種經過SOCKET接口進行主機通訊的設備工具

2.設備文件ui

1)功能spa

用於用戶訪問設備進行輸入和輸出操做操作系統

2)常見的設備文件debug

/dev/hd*   IDE接口的硬盤(IDE接口的設備)

/dev/sd*   SCSI/USB設備

/dev/cua*  串口設備

/dev/lp*  並口設備

/dev/tty* 終端設備

/dev/consol 控制檯設備

/dev/eth*  以太網設備

/dev/cdrom IDE光驅

/dev/fd*   軟驅

/dev/audio音頻設備

/dev/scd   SCSI的光驅

/dev/ppp   PPP設備

/dev/isdn*  ISDN設備

3)創建設備文件

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

類型:c字符設備

   b塊設備

   p管道設備

   s 網絡設備

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

3.驅動程序

1)功能

操做系統是經過各類驅動程序來駕馭硬件設備,它爲用戶屏蔽了各類各樣的設備,驅動硬件是操做系統最基本的功能,而且提供統一的操做方式。

2Linux驅動程序的特色

內核代碼:驅動程序能夠和內核代碼相結合

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

可配置性:配置硬件的相關參數

二.  編譯內核

1.      內核功能

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

n 實現定時器和中斷處理

n 實現對虛擬內存的管理

n 實現進程之間的通訊

n 實現對外圍設備的驅動

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

n 對網絡的支持和管理

2.      編譯升級的理由

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

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

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

n 提升Linux的效率

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

3.編譯kernel-2.4.xx

1)從www.kernel.org下載到Kernel-2.4的源代碼到/usr/src目錄中

2)解壓縮

#tar –xzvf  linux-2.4.20.tar.gz

#cd  /usr/src/linux-2.4.20

3)配置編譯參數

#make mrproper (清除上次編譯留下垃圾文件)

#make clean (清除殘留文件)

#make menuconfig

選擇處理器
      Processor type and features--->Processor family--->386
Ram Disk驅動
      Block devices--->
      < * > RAM disk support
      (4096) Default RAM disk size (NEW)
      < * > Initial RAM disk (initrd) support
文件系統
      File systems--->
      [ * ] Ext3 journalling file system support
      [ * ] Ext3 Security Labels
      [ * ] JBD (ext3) debugging support
BusLogic驅動
      SCSI support--->
      SCSI low-level drivers --->
      < M >BusLogic SCSI support

4)解決依賴關係

#make dep (解決依賴關係)

5)產生內核文件

#make bzImage

6)編譯和安裝模塊

#make modules

#make modules_install

7)安裝內核

#make install

#vi  /boot/grub/grub.conf

4.編譯kernel 2.6.xx(在Red Hat 9.0環境下)

(1)       下載2.6.0內核及相關工具到/usr/src/

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

http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.0.tar.gz

(2)      安裝編譯所需的工具

l   安裝module-init-tools

#tar -zxvfmodule-init-tools-3.0.tar.gz

#cd module-init-tools-3.0

#./configure --prefix=/sbin

#make

#make install

#./generate-modprobe.conf  /etc/modprobe.conf

l   安裝modutils

#rpm -i modutils-2.4.21-23.src.rpm

#rpmbuild -bb/usr/src/redhat/SPECS/modutils.specrpmbuild創建二進制包)

#rpm -Fi/usr/src/redhat/RPMS/i386/modutils-2.4.21-23.i386.rpm

(3)      解壓縮內核

#cd /usr/src

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

(4)      配置

#cd/usr/src/linux-2.6.0

#make mrproper

#make menuconfig

(5)      編譯

#make

(6)     安裝

#make  modules_install

#make  install

三.  驅動程序的安裝

1.內核模塊加載的相關命令

(1)      lsmod

功能:列出當前內核加載的模塊信息

實例:#lsmod

(2)      modprobe

功能:插入模塊,且自動解決依賴關係

實例:#modprobe  ide-cd

(3)      rmmod

功能:刪除未使用的模塊

實例:#rmmod  ide-cd

     #rmmod –a cdrom

(4)      modinfo

功能:顯示模塊信息

實例:#modinfo  ext3

2.驅動程序的安裝方法

(1)      安裝Linux系統過程當中安裝驅動

l Linux安裝過程當中,系統上的硬件會被檢測,基於檢測到的結果安裝程序會決定哪些模塊須要在引導時被載入。Red Hat的安裝程序爲anaconda,它提供了自動檢測硬件,而且安裝的機制。

l 若是計算機內的某些硬件沒有默認的驅動程序,能夠在啓動後的boot提示符下,輸入「linux dd」,在加載完內核後,系統會自動提示插入驅動盤,這時就有機會把該硬件的Linux驅動程序裝入。

(2)       安裝Linux系統以後安裝驅動

l Linux系統利用kudzu服務自動檢測和配置硬件,若是硬件的驅動系統自帶則自動配置,若是不自帶,須要手工安裝驅動。

l 有的硬件驅動必須從新編譯內核才能使用(IDE/SCSI),有的硬件驅動可使用動態模塊加載。

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

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

(2)       #cd  /usr/src;

(3)       #tar –xvf  linux530_321.tar

(4)       #cd  linux530-_321;

(5)       #make

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

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

添加如下內容:

/sbin/modprobe  via-rhine

(8)       #init  6

 

 微信掃一掃 、關注公衆號

   不定時分享資料視頻

20191030160339365.jpg

相關文章
相關標籤/搜索