Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1040573
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:29:37


前一节Linux培训园地:Linux下设备完全驱动之一,大家看过之后相信一定印象深刻。这一节首先讲述IDE硬盘及光驱的设置、IDE刻录机的使用,以及如何安装SCSI硬盘驱动。然后介绍以太网卡驱动模块的加载及网络接口的启功过程,如何调整网卡的参数,Modem、ADSL和宽带的驱动安装,以及PPP连接的设置等。

IDE硬盘及光驱

1.IDE设备的驱动过程

操作系统首先是安装在块设备上,没有对块设备的支持系统就无法启动,所以首先介绍常见块设备的安装。硬盘就是最常见的块设备,普通PC上的硬盘通常是IDE接口的,而服务器上的硬盘通常是SCSI接口的。

一般内核中内置对通用IDE控制芯片的支持。下面看一下IDE硬盘在内核中的驱动过程,dmesg命令可以看到内核在启功和加载内核模块时的信息:

#dmesg|less
在Linux内核启动过程中,可以发现内核首先驱动初始化CPU、内存、系统时钟部分,接着加载PCI总线的驱动,然后就加载了通用的IDE驱动程序:
UniformMulti-PlatformE-IDEdriverRevision:7.00beta4-2.4
接着初始化IDE的控制器,IDE控制器集成在Intel的ICH4南桥芯片组中,IDE控制芯片驱动加载后,进行初始化传输模式:
ICH4:chipsetrevision1
ICH4:not100%nativemode:willprobeirqslater
ide0:BM-DMAat0xbfa0-0xbfa7,BIOSsettings:hda:DMA,hdb:pio
ide1:BM-DMAat0xbfa8-0xbfaf,BIOSsettings:hdc:DMA,hdd:pio
该驱动程序会向核心中注册主设备号为3的block型设备。可以看到,在IDE控制器初始化时,占用的I/O资源及分配给它的中断号:
ide0at0x1f0-0x1f7,0x3f6onirq14
ide1at0x170-0x177,0x376onirq15
接着使用IDE控制器查找连接在IDE接口上的设备,如果检查到硬盘则加载IDE硬盘的驱动程序,设置了该硬盘的基本参数,设置传输方式为UDMA(100),也就是ATA100(100Mb/s的传输速度),并且根据这个驱动程序检测硬盘上的分区:
hda:attachedide-diskdriver.
hda:hostprotectedarea=>1
hda:78140160sectors(40008MB)w/7898KiBCache,CHS=4864/255/63,UDMA(100)
ide-floppydriver0.99.newide
Partitioncheck:
hda:hda1hda2hda3hda4
1
2 3 4 5 6 7 8 9 下一页>>


下载本文示例代码
阅读(324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~