您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第5章设备和内核管理
红旗软件技术学院——RCE课程之系统管理邮电:z_an_d@tom.com第5章设备和内核管理教学内容:设备管理概述驱动程序的安装内核编译教学目标:了解linux设备的类别、linux设备管理层次熟悉常用的设备文件、驱动程序的功能掌握驱动程序安装和kernel-2.4.xx/2.6.xx内核编译教学重点:驱动程序的安装内核编译教学难点:内核编译一.设备管理概述1.Linux设备的分类字符设备(c):以字符为单位,传输速率较低,无需缓冲区。块设备(b):以数据块为单位组织和传输数据,需要建立缓冲区网络设备(s):一种通过SOCKET接口进行主机通信的设备2.设备文件(1)功能用于用户访问设备进行输入和输出操作(2)常见的设备文件/dev/hd*IDE接口的硬盘(IDE接口的设备)/dev/sd*SCSI/USB设备/dev/cua*串口设备/dev/lp*并口设备/dev/tty*终端设备/dev/consol控制台设备/dev/eth*以太网设备/dev/cdromIDE光驱/dev/fd*软驱/dev/audio音频设备/dev/scdSCSI的光驱/dev/pppPPP设备/dev/isdn*ISDN设备(3)建立设备文件红旗软件技术学院——RCE课程之系统管理邮电:z_an_d@tom.com格式:mknod文件名类型主设备号从设备号类型:c字符设备b块设备p管道设备s网络设备实例:#mknod/dev/fdob123.驱动程序(1)功能操作系统是通过各种驱动程序来驾驭硬件设备,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。(2)Linux驱动程序的特点内核代码:驱动程序可以和内核代码相结合动态加载:驱动程序作为内核的可装模块可配置性:配置硬件的相关参数二.编译内核1.内核功能内核是Linux操作系统核心部分,现在的操作系统都采用层次结构,功能模块化.作为内核主要有以下功能:实现定时器和中断处理实现对虚拟内存的管理实现进程之间的通信实现对外围设备的驱动实现对虚拟文件系统的管理对网络的支持和管理2.编译升级的理由现有内核不支持或没有将用户系统中某些硬件的驱动程序编译删除内核中实际系统中根本不用的设备驱动,以减少对内存的占用使用一些现有的内核没有编译进去的网络通信协议提高Linux的效率修改错误、支持新的应用程序3.编译kernel-2.4.xx(1)从的源代码到/usr/src目录中(2)解压缩#tar–xzvflinux-2.4.20.tar.gz#cd/usr/src/linux-2.4.20(3)配置编译参数红旗软件技术学院——RCE课程之系统管理邮电:z_an_d@tom.com#makemrproper(清除上次编译留下垃圾文件)#makeclean(清除残留文件)#makemenuconfig选择处理器Processortypeandfeatures---Processorfamily---386RamDisk驱动Blockdevices---*RAMdisksupport(4096)DefaultRAMdisksize(NEW)*InitialRAMdisk(initrd)support文件系统Filesystems---[*]Ext3journallingfilesystemsupport[*]Ext3SecurityLabels[*]JBD(ext3)debuggingsupportBusLogic驱动SCSIsupport---SCSIlow-leveldrivers---MBusLogicSCSIsupport(4)解决依赖关系#makedep(解决依赖关系)(5)产生内核文件#makebzImage(6)编译和安装模块#makemodules#makemodules_install(7)安装内核#makeinstall#vi/boot/grub/grub.conf4.编译kernel2.6.xx(在RedHat9.0环境下)(1)下载2.6.0内核及相关工具到/usr/src/://(2)安装编译所需的工具安装module-init-tools#tar-zxvfmodule-init-tools-3.0.tar.gz#cdmodule-init-tools-3.0红旗软件技术学院——RCE课程之系统管理邮电:z_an_d@tom.com#./configure--prefix=/sbin#make#makeinstall#./generate-modprobe.conf/etc/modprobe.conf安装modutils#rpm-imodutils-2.4.21-23.src.rpm#rpmbuild-bb/usr/src/redhat/SPECS/modutils.spec#rpm-Fi/usr/src/redhat/RPMS/i386/modutils-2.4.21-23.i386.rpm(3)解压缩内核#cd/usr/src#tarzvxf/usr/src/linux-2.6.0.tar.gz(4)配置#cd/usr/src/linux-2.6.0#makemrproper#makemenuconfig(5)编译#make(6)安装#makemodules_install#makeinstall三.驱动程序的安装1.内核模块加载的相关命令(1)lsmod功能:列出当前内核加载的模块信息实例:#lsmod(2)modprobe功能:插入模块,且自动解决依赖关系实例:#modprobeide-cd(3)rmmod功能:删除未使用的模块实例:#rmmodide-cd#rmmod–acdrom(4)modinfo功能:显示模块信息实例:#modinfoext32.驱动程序的安装方法(1)安装Linux系统过程中安装驱动红旗软件技术学院——RCE课程之系统管理邮电:z_an_d@tom.com在Linux安装过程中,系统上的硬件会被检测,基于检测到的结果安装程序会决定哪些模块需要在引导时被载入。RedHat的安装程序为anaconda,它提供了自动检测硬件,并且安装的机制。如果计算机内的某些硬件没有默认的驱动程序,可以在启动后的boot提示符下,输入“linuxdd”,在加载完内核后,系统会自动提示插入驱动盘,这时就有机会把该硬件的Linux驱动程序装入。(2)安装Linux系统之后安装驱动Linux系统利用kudzu服务自动检测和配置硬件,如果硬件的驱动系统自带则自动配置,如果不自带,需要手工安装驱动。有的硬件驱动必须重新编译内核才能使用(IDE/SCSI),有的硬件驱动可以使用动态模块加载。实例:在RH9.0Linux中安装D-link530tx100m网卡驱动(1)从处下载驱动到/usr/src目录中(2)#cd/usr/src;tar–xvflinux530_321.tar(3)#cdlinux530_321;make(4)#cpvia-rhine.o/lib/modules/2.4.20-8/kernel/drivers/net/(5)#vi/etc/rc.d/rc.local添加以下内容:/sbin/modprobevia-rhine(6)#init6
本文标题:第5章设备和内核管理
链接地址:https://www.777doc.com/doc-2196611 .html