• Linux Kernel升级


    目的:

    把CentOS 6.3自带的内核(2.6.32.279)升级到3.6.0

    步骤:

    kernel 3.6.0下载:www.kernel.org

    tar jxvf linux-3.6.tar.bz2 -C /usr/src    #将解压包放在/usr/src中

    cd linux-3.6

    make mrproper   #清除环境变量,即清除配置文件,清除掉以前升级留下的文件

    make menuconfig

    make menuconfig在菜单模式下选择需要编译的内核模块:

    networking support—>networking options—>network packet filtering framework(netfilter)

    (1) core netfilter configuration

    A 将”Netfilter connection tracking support” 编译成模块

    B 将netbios name service protocal support(new) 编译成模块,不然后面升级iptables后启动时会出错 

    C 将“Netfilter Xtables support (required for ip_tables)”编译成模块

    (2) IP: Netfilter Configuration

    A 将 “IPv4 connection tracking support (require for NAT)” 编译成模块

    B 将IP tables support (required for filtering/masq/NAT) 编译成模块

    C 将 “Full NAT” 下的 “MASQUERADE target support” 和 “REDIRECT target support” 编译成模块

    (3) 其它模块可以根据自己的需要进行选择,若不懂可以参考内核配置手册。 基本上可以用默认配置。

    make dep     #建立编译时所需的从属文件,如果内核从未编译过,此步可跳过

    make clean     #确保所有东西均保持最新状态.如果内核从未编译过,此步可跳过

    make bzImage     #生成内核文件在/usr/src/linux/arch/i386/boot

    make modules     #编译模块

    make modules_install     #安装模块

    make install     #安装

    mkinitrd /boot/initramfs-3.6.0.img     #根据内核版本和指定参数生成映像文件(似乎不需要,已经是3.6.0)

    cp /usr/src/linux-3.6/arch/x86_64/boot/bzImage /boot/vmlinuz-3.6.0    #(似乎不需要 ,已经是3.6.0 )

    cp /usr/src/linux-3.6/System.map /boot/System.map-3.6.0    #(似乎不需要,已经是3.6.0)

    在/etc/grub.conf添加如下3.6.0的信息,并把default=1改为default=0

    重启成功后,uname -a或uname -r再看看内核,是3.6.0,ok了。

    附:

    make vmlinux    编译内核
    make bzImage    用于生成initramfs image
    make -j 数字    是让make工具启动多个gcc进程编译,在一个比较空闲的系统中,有一个推荐值作为-j的参数,即大约等于系统上的CPU core的数量(CPU超线程也算core)
    make modules_install    默认将module安装打拼/lib/modules/$kernel_version/kernel目录中
    make uninstall   清除make install的东西   
    make clean    清除make的东西   
    make distclean    清除configure的东西   
    make installcheck   运行自测程序   
  • 相关阅读:
    Android json操作之取得一个对象
    Uubntu E: Sub-process /usr/bin/dpkg returned an error code问题的解决办法
    转 Android
    Android 将从网络获取的数据缓存到私有文件
    Android 每隔3s更新一次title
    Android UI主线程与子线程
    Android 解析JSON数组
    MySql中的内外联结查询
    MySQL执行外部sql脚本
    Ubuntu 下启动/停止/重启mysql服务
  • 原文地址:https://www.cnblogs.com/qyddbear/p/2747514.html
Copyright © 2020-2023  润新知