频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Linux下设备完全驱动(4)

作者: foxl 出处:51CTO.com 2007-11-13 13:36    砖    好    评论   进入论坛
阅读提示:自动配置安装 如果安装完Linux系统后,又添加了新的硬件,那么系统必须载入正确的驱动程序才可以使用它。

系统初始化过程驱动程序的安装

在Linux安装过程中,系统上的硬件会被检测,基于检测到的结果安装程序会决定哪些模块需要在引导时被载入。Red Hat的安装程序为anaconda,它提供了自动检测硬件,并且安装的机制。

但是,如果计算机内的某些硬件没有默认的驱动程序,比如一块SCSI卡,我们可以在启动后的boot提示符下,输入“linux dd”,在加载完内核后,系统会自动提示插入驱动盘,这时就有机会把该硬件的Linux驱动程序装入。

如果在安装系统时,某种硬件总是因为中断冲突(ISA总线的设备较常见,比如一块ISA网卡)没法正常驱动,或者是缺少驱动程序,那么可以在boot提示符下输入“linux noprobe”。在这种模式下,安装程序不会自动配置找到的硬件,可以自己来选择现有驱动,配置驱动程序的参数,或者选择用光盘或软盘加载驱动程序。

定制引导盘

系统启动时是如何加载驱动的?下面让我们来看一下Red Hat的安装光盘是怎样引导的。当Linux安装光盘启动时,加载位于光盘上isolinux中的内核文件vmlinuz,内核运行完毕后,又将initrd.img的虚拟文件系统加载到内存中。这个文件为ext2文件系统的镜像,经过gzip压缩,可以通过以下步骤查看该镜像中的内容:

# mount /mnt/cdrom
# mkdir /mnt/imgdir
# gunzip < /mnt/cdrom/isolinux/initrd.img > /ext2img

# mount -t ext2 -o loop /ext2img /mnt/imgdir
# cd /mnt/imgdir
# ls -F
bin@
dev/
etc/

linuxrc@
lost+found/
modules/
proc/
sbin/
tmp/

var/
# ls  modules/
module-info
modules.cgz
modules.dep

modules.pcimap

pcitable

其中modules.dep为模块的注册文件,同时有各种模块的依存关系。modules.cgz为cpio的打包文件,实际的各种驱动模块就在该文件中。我们可以通过以下命令解包:

# cpio -idmv < modules.cgz

由此可以看到,解包出来的目录2.4.21-4XXX。进入该目录下的i386目录,就可以看到当前启动盘中支持的所以驱动程序:

# ls

3c59x.o
3w-xxxx.o
8139cp.o
8139too.o
8390.o
aacraid.o

acenic.o
aic79xx.o
……

若希望在系统中加入需要的驱动程序,可以相应地修改这些文件,比如在modules.dep中加入该模块的名字和依存关系,将编译好的驱动模块文件加入modules.cgz中,这样就可以制定自己的安装光盘。

硬盘上的系统启动过程与上面类似,但是initrd的镜像文件要更简单些,一般在initrd-2.4.XXX.img的虚拟文件系统中,只会在/lib目录下包含ext3.o jbd.o lvm-mod.o等少数文件,用来驱动硬盘上的ext3的文件系统。加载文件系统后,就可以使用/lib/modules/2.4.XXX/下的modules.dep文件及Kernel目录中的各种驱动文件。

自动配置安装

如果安装完Linux系统后,又添加了新的硬件,那么系统必须载入正确的驱动程序才可以使用它。在Red Hat Linux中,可以使用kudzu来配置硬件。这是PnP设备的检测程序,当系统使用新硬件引导后,运行kudzu(默认会自动运行),如果新硬件被支持,那么它就会被自动检测到。该程序还会为它配置驱动模块,把结果写入到文件/etc/sysconfig/hwconf中,kudzu可以通过对比这个文件发现新安装的硬件,并进行配置;也可以通过编辑模块配置文件/etc/modules.conf来手工指定加载模块。

Kudzu服务默认每次启动时都要运行,如果需要缩短启动时间,使用下面命令可以停止系统启动时的kudzu服务:

# chkconfig kudzu off

如果要安装新的硬件,可以手动运行kudzu程序。

# kudzu

那么kudzu程序如何认识硬件的呢?可以查看/usr/share/hwdata/目录下的文件,根据这些文件中的PnP信息,kudzu可以识别各种硬件设备。

以上介绍了Linux下驱动程序的大体结构、主要的加载方式和相关配置文件,在安装Linux时加载驱动程序,并且根据需要定制自己的引导盘,在安装完成后安装新的、即插即用硬件。下一讲开始,我们将学习具体硬件驱动的安装方法。

【责任编辑:刘兵 TEL:(010)68476606】


共4页: 上一页 [1] [2] [3] 4
【内容导航】
 第 1 页:内核和驱动模块  第 2 页:设备文件
 第 3 页:使用/proc目录中的文件监视驱动程序的状态  第 4 页:系统初始化过程驱动程序的安装
关于 Linux  Kudzu  服务
专题
Windows Home Server 家用服务器专题
Linux——从菜鸟到高手
服务器维护与应用基础
服务器基础知识入门
垃圾邮件新对策:远程定制托管服务
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
· 谷歌Android手机Q4前难..
· 下载:微软Process Mon..
· 499元微软Vista系统本..
· X3850 M2/3950 M2常见..
· [原创]手动配置Ubuntu ..
· 让IIS支持PHP的配置步骤
  · 微软打破常规 承诺将XP..
· 微软发布Mac版Office 2..
· 微软Mac部门大规模招聘..
· 100m独享服务器租用◆1..
· linux加入域后如何设置..
· 远程服务器未响应连接..
排行榜
·Windows XP远程桌面连接图解(.. (查看56377次)
·Solaris基础知识入门 (查看47764次)
·Windows操作系统安装 (查看34661次)
·设置远程桌面连接 (查看34190次)
·Linux的安装 (查看31196次)
·微软在中国等13个国家发起52项反盗版诉讼 (1149个砖)
·Windows Vista 初步 (293个砖)
·Windows Server 2003企业应用 (167个砖)
·Ruby on Rails之Oracle应用 (147个砖)
·Windows操作系统安装 (135个砖)
·Windows Vista 初步 (294个好)
·Windows Server 2003企业应用 (243个好)
·Windows操作系统安装 (174个好)
·Solaris 10 配置管理 (172个好)
·Cisco IOS (159个好)
·系统应用日志分析管理 (12月)
·Linux——从菜鸟到高手 (12月)
·Windows Server 2008专题 (07月)
·Ubuntu 中文开源频道 (06月)
·Solaris基础知识入门 (01月)
· 周末病毒预报:视频宝..
· NAC精要指南:什么是网..
· 布线测试中的常见问题..
· ASP.NET Ajax网站开发..
· 网管员必读:网络链路..
· SQL Server 2008中不推..
· 路由器故障排除实例讲解
· Cisco 认证考试费用全..
  · 微软针对XP SP2的远程..
· 山东临沂网通联合公安..
· Cisco考试费用全线涨价..
· 企业无线网络设置10大..
· Windows Server 2003网..
· 上海宣判三起网络知识..
· 微软Sever 2008自带虚..
· 金山信息安全技术公司..
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
专题
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解..
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解..
SQL Server 2008/2005全解
SQL Server 2008/..
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解..
SQL Server 2008/2005全解
SQL Server 2008/..
SQL Server入门到精通
SQL Server入门到..
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用