zoukankan      html  css  js  c++  java
  • ubuntu 12.04 更新内核

    经过多次苦痛的编译低版本linux-2.6.34内核而无法开机,发现貌似使用着高版本号的内核是无法更新为低版本的内核的。(若有人有成功经验,欢迎留言)

    所以换成版本linux-3.6.3终于成功了。

    这里记录下编译过程。

    # uname -a//显示当前内核版本的全部信息
    
    Linux linx 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux 
    
    //当前版本号为 3.2.0 低于3.6.3
    
     //下载好内核包
    
    tar xvf linux-3.6.3.tar.bz2 
    
    cd linux-3.6.3
    
    cp /arch/x86/configs/i386_deconfig .config //或者cp /boot/config-3.2.0-23-generic-pae .config
    
    make menuconfig
    
    //若无法使用menuconfig可能是ncurses包不全
    
    //可以尝试apt-get update 更新源 然后apt-get install ncurses-*更新ncurses文件 
    
    //make menuconfig的设置可以直接读取当前设置然后保存当前设置
    
    make -j6//可以-jn实现多线程编译,提高编译速度。若想不回显无用信息,可以在后面加 > /dev/null
    
    make module //编译模块
    
    make module_install //安装模块
    
    mkinitramfs -o initrd.img-3.6.3 3.6.3 //产生的文件名尽量保持当前操作系统的命名规则
    
    //3.6.3必须得再/lib/modules目录下存在,若之前的编译没错,则将自动生成
    
    cp /arch/x86/boot/bzImage /boot/vmlinuz-3.6.3 
    
    cp initrd.img-3.6.3 /boot/
    
    //将镜像和引导文件拷贝至boot目录下
    
    gedit /boot/grub/grub.cfg //手动修改grub文件

    复制一段原有的

    menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    
    recordfail
    
    gfxmode $linux_gfx_mode
    
    insmod gzio
    
    insmod part_msdos
    
    insmod ext2
    
    set root='(hd0,msdos6)'
    
    search --no-floppy --fs-uuid --set=root 35a98672-5254-407d-a028-f27af3349765
    
    linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=35a98672-5254-407d-a028-f27af3349765 ro   quiet splash $vt_handoff
    
    initrd 
    /boot/initrd.img-3.2.0-23-generic-pae
    
    } 

    修改红色标注的内容

    第一个修改信息可以换成自己希望看到的引导信息,例如 my linux...

    第二个修改信息换成我们刚才拷贝到boot目录下的vmlinux-3.6.3

    第三个修改信息换成刚才生成initrd.img-3.6.3

    接着就可以reboot了。

    //在ubuntu下,默认开机引导目录是不可见的,所以会出现无法选择编译好的内核

    //可以使用boot-repair工具,具体内容可google

     

     

  • 相关阅读:
    ubuntu 安装PHP
    修改rm 防止误删除
    游标输出
    微软已经提供了好几个开源的小项目供学习参考
    数据库存取时间比较
    UML建模工具比较
    16进制与BYTE类型转换
    显示有换行字符的提示框
    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob)
    .net 动态sql 参数应用 oracle和sql server的比较
  • 原文地址:https://www.cnblogs.com/plinx/p/2772515.html
Copyright © 2011-2022 走看看