1、内核是什么

2、如何管理内核模块

    内核模块存放位置

    Linux内核和硬件管理_硬件

    arch:存储于硬件平台相关的模块

    crypto:存储的是Linux内核提供的加密算法模块

    drivers:存储硬件设备的驱动程序

    fs:存放与文件系统有关的模块

    lib:各种模块所需要用到的链接库

    net:存储网络相关的模块

    sound:存放声卡驱动程序的目录

    查看模块信息 modinfo

Linux内核和硬件管理_硬件_02

     模块文件名filename

     模块的作者author

     模块的说明description

     模块的版权说明license

     模块的参数parameter

     查看已加载的模块

     Linux内核和硬件管理_程序_03

     module:模块名称

     size:模块加载到内存时占用的体积大小,单位字节bytes

     used by:有哪些模块正在使用这个模块

    

     手动加载模块

      # insmod /lib/modules/2.6.18-238.el5/kernel/drivers/char/watchdog/softdog.ko 

     手动卸载模块

     #rmmod 会删除指定的模块,以及该模块所依赖的任何不使用的模块

     Linux内核和硬件管理_程序_04

 

     -s代表要将卸载模块的信息,记录到系统日志服务器

       

     解决模块相依性

     modprobe

     -C:指定内核模块配置文件的位置

     -r:卸载模块

     -l:显示模块文件路径名称

     -a:显示所有模块文件路径名称

     -c:按照现在的模块状态产生设置值

    

    三个模块的依赖关系 lp、parport、parport_pc

    Linux内核和硬件管理_版权_05

     产生模块相依性数据

     depmod

     什么时候需要执行depmod

    例如:使用depmod产生模块相依赖关系

    [root@test1 ~]# ll /lib/modules/2.6.18-238.el5/

    总计 1404

    lrwxrwxrwx 1 root root 44 05-06 04:30 build -> ../../../usr/src/kernels/2.6.18-238.el5-i686

    drwxr-xr-x 2 root root 4096 2010-12-20 extra

    drwxr-xr-x 9 root root 4096 05-06 04:30 kernel

    -rw-r--r-- 1 root root 299708 05-06 04:30 modules.alias

    -rw-r--r-- 1 root root 69 05-06 04:30 modules.ccwmap

    -rw-r--r-- 1 root root 222365 05-06 04:30 modules.dep

    -rw-r--r-- 1 root root 147 05-06 04:30 modules.ieee1394map

    -rw-r--r-- 1 root root 375 05-06 04:30 modules.inputmap

    -rw-r--r-- 1 root root 2699 05-06 04:30 modules.isapnpmap

    -rw-r--r-- 1 root root 74 05-06 04:30 modules.ofmap

    -rw-r--r-- 1 root root 234333 05-06 04:30 modules.pcimap

    -rw-r--r-- 1 root root 589 05-06 04:30 modules.seriomap

    -rw-r--r-- 1 root root 142699 05-06 04:30 modules.symbols

    -rw-r--r-- 1 root root 396941 05-06 04:30 modules.usbmap

    lrwxrwxrwx 1 root root 5 05-06 04:30 source -> build

    drwxr-xr-x 2 root root 4096 2010-12-20 updates

    drwxr-xr-x 2 root root 4096 2010-12-20 weak-updates

    [root@test1 ~]# rm -f /lib/modules/2.6.18-238.el5/modules.*

    [root@test1 ~]# ll /lib/modules/2.6.18-238.el5/

    总计 40

    lrwxrwxrwx 1 root root 44 05-06 04:30 build -> ../../../usr/src/kernels/2.6.18-238.el5-i686

    drwxr-xr-x 2 root root 4096 2010-12-20 extra

    drwxr-xr-x 9 root root 4096 05-06 04:30 kernel

    lrwxrwxrwx 1 root root 5 05-06 04:30 source -> build

    drwxr-xr-x 2 root root 4096 2010-12-20 updates

    drwxr-xr-x 2 root root 4096 2010-12-20 weak-updates

    [root@test1 ~]# depmod

    [root@test1 ~]# ll /lib/modules/2.6.18-238.el5/

    总计 1360

    lrwxrwxrwx 1 root root 44 05-06 04:30 build -> ../../../usr/src/kernels/2.6.18-238.el5-i686

    drwxr-xr-x 2 root root 4096 2010-12-20 extra

    drwxr-xr-x 9 root root 4096 05-06 04:30 kernel

    -rw-r--r-- 1 root root 299708 05-16 14:57 modules.alias

    -rw-r--r-- 1 root root 69 05-16 14:57 modules.ccwmap

    -rw-r--r-- 1 root root 222365 05-16 14:57 modules.dep

    -rw-r--r-- 1 root root 147 05-16 14:57 modules.ieee1394map

    -rw-r--r-- 1 root root 375 05-16 14:57 modules.inputmap

    -rw-r--r-- 1 root root 2699 05-16 14:57 modules.isapnpmap

    -rw-r--r-- 1 root root 74 05-16 14:57 modules.ofmap

    -rw-r--r-- 1 root root 234333 05-16 14:57 modules.pcimap

    -rw-r--r-- 1 root root 589 05-16 14:57 modules.seriomap

    -rw-r--r-- 1 root root 142699 05-16 14:57 modules.symbols

    -rw-r--r-- 1 root root 396941 05-16 14:57 modules.usbmap

    lrwxrwxrwx 1 root root 5 05-06 04:30 source -> build

    drwxr-xr-x 2 root root 4096 2010-12-20 updates

    drwxr-xr-x 2 root root 4096 2010-12-20 weak-updates

     配置内核模块配置文件

     # vim /etc/modprobe.conf

     alias 模块别名

     options 模块默认参数

     install  

     remove

     include

    

    配置内核参数

    Linux内核和硬件管理_版权_06

    使用sysctl工具配置内核参数

    查看、修改、配置文件、调用

    升级内核

    手动安装新版kernel RPM文件

    yum 升级内核

    

    硬件管理

    管理设备文件

        设备文件类型:块设备b、字符设备c

        设备文件识别号码:主要号码、次要号码

        Linux内核和硬件管理_Linux_07

        手动建立设备文件:mknod

        

        使用makedev建立设备文件

        通过udev自动建立设备文件

        udev的组件

        udev运行原理

        配置udev

    监控硬件设备

        内核事件信息

            #dmesg

            查看日志/var/log/dmesg

        通过/proc/相关信息

            #cat /proc/*    

            devices:Linux已驱动的硬件设备列表

            cpuinfo:存储内核检测到的CPU信息

            diskstats:提供磁盘的状态信息

            interrupts:Linux硬件的IRQ中断信息会存储在这里

            iomem:硬件设备的IO地址信息

            mdstat:存储多重磁盘设备的信息

            meminfo:内存的使用状况信息

            partitions:所有磁盘的分区信息                        

        硬件浏览器  图形界面下查看

        # rpm -ivh /media/Server/pyparted-1.8.1-4.el5.i386.rpm

            Preparing... ########################################### [100%]

              1:pyparted ########################################### [100%]

        [root@test1 Server]# rpm -ivh /media/Server/hwbrowser-0.30-3.el5.noarch.rpm

            Preparing... ########################################### [100%]

              1:hwbrowser ########################################### [100%]

    管理PCI设备

        查看PCI设备信息:lspci

        配置PCI设备:setpci

    管理声卡设备

        设置声卡

        设置声卡音量

    管理热插拔设备

        管理USB设备

        lsusb

        cat  /proc/bus/usb/devices

        管理PCMCIA设备

        PC机内存卡国际联合会

如何区分内核的版本

内核的组件:

内核镜像文件

内核模块

initrd镜像文件

RHEL提供的内核rpm:

内核:

1、软件包kernel,普通版本内核

2、软件包kernel-PAE 使用超过4G大小的内存时候使用的内核

3、软件包kernel-xen xen虚拟化系统使用的内核

工具和文件:

kernel-doc:Linux内核说明书

kernel-util:Linux内核的管理工具,以及与内核有关的服务

2:主要版本号码

6:次要版本号码,奇数:开发中的版本  偶数:稳定的版本

18:修正版本号

238.el5:Linux产品厂商所定义的版本编号

# uname -a

Linux test1.cdpc.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686 i686 i386 GNU/Linux

其他详细参数  uname