第七讲 Linux硬件管理和内核安装

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上一讲主要内容回顾源代码包的安装:gzip-dapache_1.3.20.tar.gz(解压)tarxvfapache_1.3.20.tar(解包)cdapache_1.3.20./configure(配置)----./configure--help(查看configure选项)make(编译)makeinstall(安装)makeclean(卸载)2上一讲主要内容回顾RPM包的安装:(1)安装#rpm-ivhfoo-1.0-1.i386.rpm(2)卸载#rpm-efoo(3)升级#rpm-Uvhfoo-2.0-1.i386.rpm(4)查询#rpm-qfoo3上一讲主要内容回顾.src.rpm软件包安装:1).执行rpm-iyou-package.src.rpm2).cd/usr/src/redhat/SPECS3).rpmbuild-bbyour-package.specs一个和你的软件包同名的specs文件这时,在/usr/src/redhat/RPM/i386/(根据具体包的不同,也可能是i686,noarch等等)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。4)在编译好的文件目录下再次执行rpm-inew-package.rpm即可安装完成。4本讲引入:如何加载光驱设备?设备和内核管理第7讲主讲人:刘青6教学内容:设备管理概述查看硬件配置驱动程序的安装内核编译升级7教学目标、重点、难点教学目标:了解linux设备的类别、linux设备管理层次掌握系统当前硬件配置的查看熟悉常用的设备文件、驱动程序的功能掌握驱动程序安装和kernel-2.4.xx/2.6.xx内核编译教学重点:查看系统当前的硬件配置驱动程序的安装、kernel-2.6.0.内核编译升级教学难点:kernel-2.6.0内核编译升级8Linux设备的分类字符设备(c):以字符为单位,传输速率较低,无需缓冲区。块设备(b):以数据块为单位组织和传输数据,需要建立缓冲区网络设备(s):一种通过SOCKET接口进行主机通信的设备举例:查看/dev下的文件类型9设备文件(1)功能用于用户访问设备进行输入和输出操作(2)常见的设备文件/dev/hd*IDE接口的硬盘(IDE接口的设备)/dev/sd*SCSI/USB设备/dev/cua*串口设备/dev/lp*并口设备/dev/tty*终端设备10设备文件(2)常见的设备文件(续)/dev/consol控制台设备/dev/eth*以太网设备/dev/cdromIDE光驱/dev/fd*软驱/dev/audio音频设备/dev/scdSCSI的光驱/dev/pppPPP设备/dev/isdn*ISDN设备11设备文件(3)建立设备文件格式:mknod文件名类型主设备号从设备号类型:c字符设备b块设备p管道设备s网络设备实例:#mknod/dev/fdob1212设备号Linux的设备管理是和文件系统紧密结合的,把设备和文件关联起来,这样系统调用可以直接用操作文件一样的方法来操作设备。各种设备都以文件的形式存放在/dev目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备次设备号用来区分同一类型的多个设备对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3。13查看硬件配置的相关命令lspci查看主板信息:我们可以通过lspci-v来查看硬件的irq中断号等,主要是用来列出机器中的PCI设备,比如声卡、显卡、猫、网卡等,主板集成设备也能列出来;free查内存fidsk-l查硬盘空间df-h查硬盘14查看硬件配置的相关命令dmesg:是一个显示内核缓冲区系统控制信息的工具;比如系统在启动时的信息会写到/var/log/dmesg|grepCPU:cpu的信息dmesg|grephd:IDE硬盘信息dmesg|grepsd:SCSI硬盘信息dmesg|grepmem:内存信息dmesg|grepXXX:就是检索xxx的信息dmesg-c注:清理掉缓冲区,下次开机的时候还会自动生成15查看硬件配置的相关命令查看所有硬件的型号dmidecode|more查看memory信息cat/proc/meminfo|more查看CPU信息cat/proc/cpuinfo16驱动程序(1)功能:操作系统是通过各种驱动程序来驾驭硬件设备,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。(2)Linux驱动程序的特点:内核代码:驱动程序可以和内核代码相结合动态加载:驱动程序作为内核的可装模块可配置性:配置硬件的相关参数17硬件驱动是由内核支持的,但驱动都存放在哪里?硬件驱动是必须由内核支持的,无论是我们自己安装驱动,还是内核自带的驱动都是如此。硬件驱动如果是以内核模块支持的,驱动目录位于:/lib/modules/内核版本/kernel/目录或/lib/modules/内核版本/kernel/drivers目录中;[root@localhost/]#uname-r2.6.11-1.1369_FC4[root@localhost/]#ls/lib/modules/2.6.11-1.1369_FC4/kernelarchcryptodriversfslibnetsound注:只有驱动在内核中以模块的方法支持的,或者我们自己安装的驱动,驱动才位于/lib/modules/相应的目录;如果是直接置入内核的,不会出现在/lib/modules驱动相关的目录;18硬件不被系统支持怎么办?如果一个Linux系统不支持您的硬件,解决的办法无非是有两种,一是下载驱动自己安装,Linux的驱动大多是开源社区开发的,厂商提供的比较少;二是有时也可能要重编内核,主要看驱动内部的说明文件怎么说了。因为驱动本来是要内核支持的,编译内核也极为正常;值得注意的是:如果我们要重新编译内核,最好把硬件情况摸清楚了,比如鼠标、光驱、软驱、USB设备;硬盘、文件系统......都要仔细的查看;19不同的硬件有不同的配置文件不同的硬件有不同的配置工具,也有与之相应的配置文件;比如关于显示器和显示卡的配置文件是/etc/X11/xorg.conf,对于老的Linux版本应该是/etc/X11/X86Config或X86Config-4,xorg或X86的配置文件还包括鼠标、键盘等在X桌面环境下的配置和控制等;声卡的配置文件是/etc/modprobe.conf或/etc/modules.conf;文件系统的配置文件是/etc/fstab;声卡的配置工具,一般情况下是alsaconf20不同的硬件有不同的配置工具当然不同的发行版也有相应的硬件配置或管理工具,比如FedoraCore4.0有如下的硬件配置或管理工具;system-config-mousesystem-config-network-tuignome-system-monitorsystem-config-networksystem-config-printer-guisystem-config-soundcardsetup当然这些图形化的工具并不是万能的,他们的功能还是有极大的局限性;所以在硬件配置上,大多还是通过文本模式来操作的;21驱动程序的安装(内核模块加载的相关命令)lsmod功能:列出当前内核加载的模块信息实例:#lsmodmodprobe功能:插入模块,且自动解决依赖关系实例:#modprobeide-cdrmmod功能:删除未使用的模块实例:#rmmodide-cd#rmmod–acdrommodinfo功能:显示模块信息实例:#modinfoext322驱动程序的安装方法安装Linux系统过程中安装驱动在Linux安装过程中,系统上的硬件会被检测,基于检测到的结果安装程序会决定哪些模块需要在引导时被载入。RedHat的安装程序为anaconda,它提供了自动检测硬件,并且安装的机制。如果计算机内的某些硬件没有默认的驱动程序,可以在启动后的boot提示符下,输入“linuxdd”,在加载完内核后,系统会自动提示插入驱动盘,这时就有机会把该硬件的Linux驱动程序装入。安装Linux系统之后安装驱动Linux系统利用kudzu服务自动检测和配置硬件,如果硬件的驱动系统自带则自动配置,如果不自带,需要手工安装驱动。有的硬件驱动必须重新编译内核才能使用(IDE/SCSI),有的硬件驱动可以使用动态模块加载。23驱动程序的安装实例:在RH9.0Linux中安装D-link530tx100m网卡驱动从处下载驱动到/usr/src目录中#cd/usr/src;#tar–xvflinux530_321.tar#cdlinux530_321;make#cpvia-rhine.o/lib/modules/2.4.20-8/kernel/drivers/net/#vi/etc/rc.d/rc.local添加以下内容:/sbin/modprobevia-rhine#init624编译内核内核功能:内核是Linux操作系统核心部分,现在的操作系统都采用层次结构,功能模块化.作为内核主要有以下功能:实现定时器和中断处理实现对虚拟内存的管理实现进程之间的通信实现对外围设备的驱动实现对虚拟文件系统的管理对网络的支持和管理25编译内核编译升级的理由现有内核不支持或没有将用户系统中某些硬件的驱动程序编译删除内核中实际系统中根本不用的设备驱动,以减少对内存的占用使用一些现有的内核没有编译进去的网络通信协议提高Linux的效率修改错误、支持新的应用程序26编译kernel2.6.xx(在RedHat9.0环境下)下载2.6.0内核及相关工具到/usr/src/安装编译所需的工具安装module-init-tools#tar-zxvfmodule-init-tools-3.0.tar.gz#cdmodule-init-tools-3.0#./configure--prefix=/sbin#make#makeinstall#./generate-modprobe.conf/etc/modprobe.conf28安装编译所需的工具安装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.rpm29编译kernel2.6.xx(在RedHat9.0环境下)解压缩内核#cd/usr/src#tarzvxf/usr/src/linux-2.6.0.tar.gz配置#cd/usr/src/linux-2.6.0#makemrproper#makemenuconfig编译#m

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功