马哥Linux学习笔记13-4Linux内核管理初步

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

  • 运行中的内核:
    uname命令:uname - print system information
    uname [OPTION]…
    -n:显示节点名称
    -r:显示VERSION-RELEASE

  • 模块:

  • lsmod命令:显示由核心已经装载的内核模块,显示的内容来自于:/proc/modules文件

  • modinfo命令;显示模块的详细描述信息
    moinfo [ -k kernel ] [ modulename|fielname… ]
    -n 只显示模块文件
    -p 显示模块参数
    -a author
    -d description
    -l license

  • modprobe命令:
    装载或卸载内核模块
    modprobe [ -C config-file ] [ modulename ] [ module parame-ters… ]
    配置文件:/etc/modprobe.conf,/etc/modprobe.d/*.conf
    modprobe [ -r ] modulename…

  • depmod命令:内核模块依赖关系文件及系统信息映射文件的生成工具

  • 装载或卸载内核模块
    insmod命令:insmod [ filename ] [ module options… ]
    rmmod rmmod [ modulename ]

  • proc目录:
    内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出
    参数:
    只读:输出信息
    可写:可接受用户指定新值来实现对内核某功能或特性的配置/proc/sys
    1sysctl命令用于查看或设定此目录中诸多参数
    sysctl -w path.to.parameter=VALUE
    sysctl -w kernel.hostname=mail.magedu.com
    2echo命令通过重定向的方式也可以修改大多数参数的值
    echo “www.magedu.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是运行用户空间程序,专用工具:udevadmn,hotplug
    udev为设备创建设备文件时,会读取其事先定义好的规则文件,一般在/etc/udev/rules.d及/usr/lib/udev/rules.d目录下

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

  • 编译内核:
    前提:1准备好开发环境
    2获取目标主机上硬件设备的相关信息
    3获取目标主机系统功能的相关信息,例如要启用的文件系统
    4获取内核
    准备好开发环境:
    包组(centos 6):
    server platform development
    development tools
    目标主机硬件设备相关信息:
    CPU:cat /proc/cpuinfo
    x86info -a
    lscpu
    PCI设备:
    lspci
    -v
    -vv
    或lsusb
    -v
    -vv
    或lsblk
    了解全部硬件设备信息
    hal-device
    简单依据模板文件的制作过程:
    tar xf linux-3.10.67.tar.xz -C /usr/src
    cd /usr/src
    Ln -sv Linux-3.10.67 Linux
    cd Linux
    cp /boot/config-$(uname -r) ./.config
    make menuconfig
    screen
    make -j #
    make modules_install
    make install
    重启系统,并测试使用新内核

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值