Linux内核管理

Linux Kernel 
  但内核体系设计,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制
    内核组成部分:
    kernel:内核核心,一般为bzImage,通常在/boot目录下,名称为vmlinuz
    kernel object 内核对象,一般放置于/lib/modules/VERSION-RELEASE/
        [ ]:N
        [M]:M
        [*]:Y
    辅助文件ramdisk
      initrd
      initramfs

    运行中的内核 
        uname -r 显示VERSION-RELEASAE
              -n显示结点名称
        
       模块
    lsmod :显示由内核已经装载的内核模块
    显示的内容来自于:/proc/modules 文件

    modinfo命令
        显示模块的详细描述信息
        modinfo [ -k kernel] [modulename|filename...]
        -n  只显示模块文件路径
        -p  显示模块参数
        -a  author
        -d  描述
        -l  license
    
    modprobe装载或者卸载内核模块
        -r ipv6 卸载ipv6
        
    depmod
        内核模块依赖关系及系统信息映射文件的生成工具
    装载或卸载内核模块
    insmod  ..
    rmmod ..


/proc目录
   内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出

  参数
    只读:输出信息
    可写:(一般/proc/sys) 可接受用户指定“新值”来实现对内核某功能或特性的配置

        sysctl用于查看或设定此目录中的诸多参数
        -w path.to.parameter=VALUE
        eg: # sysctl -w kernel.hostname=mail.meu.com

        echo通过重定向的方式也可以修改大多数参数的值

        echo "VALUE" > /proc/sys/path/to/parameter

        eg: echo "www.mdu.com" > /proc/sys/kernel/hostname


    sysctl命令
        配置文件:/etc/sysctl.conf
        (1)设置参数
            sysctl -w parameter=VALUE
        (2)通过读取配置文件设置参数
            sysctl -p [/path/to/conf_file]

    内核中的路由转发
        /proc/sys/net/ipv4/ip_forward

        常用的几个参数
        net.ipv4.ip_forward
        vm.drop_caches
        kernel.hostname


/sys目录

   sysfs:输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的设定信息;有些参数是可以修改的,用于调整硬件工作特性。

   udev通过此路径下输出的信息动态为各设备创建所需要文件设备;udev是运行用户空间程序:专用工具udevadmin,hotplug


  udev为设备创建设备文件时,会读取其事先定义好的规则文件,一般在/etc/udev/rules.d及/usr/lib/udev/rules.d目录下

  

ramdisk文件的制作

  (1)mkinitrd
    为当前正在使用的内核重新制作ramdisk文件
        mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
  (2)dracut
    为当前正在使用的内核重新制作ramdisk文件
        dracut /boot/initramfs-$(uname -r).img $(uname -r)


  编译内核
    前提:
    (1)准备好开发环境
    (2)获取目标主机上硬件设备的相关信息
    (3)获取到目标主机系统功能的相关信息,例如要启用的文件系统
    (4)获取内核源代码包
准备好开发环境
   包组(centos6)
    Server Platform Development
    Development Tools

目标主机硬件设备相关信息

CPU:    
cat /proc/cpuinfo 查看内核cpu信息
lscpu [-v]
x86info -a

PCI设备:
lscpi [-v]  [-vv]

lsusb

lsblk

了解全部硬件设备信息
hal-device


简单依据模板文件的制作过程

    tar xf linux-3.10.67.tar.xz  -C /usr/src
    cd /usr/src
    in -sv linux-3.10.67 linux
    cd linux
    cp /boot/config-$(uname -r)  ./.config
    make  menuconfig
    screen  

{一个虚拟屏幕执行  
make -j 4   screen会一直工作,
只要你不结束
screen -ls
screen -r 数字 删掉
}

    make -j #

    make modules_install
    make install
重启并测试使用新内核
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值