Chinaunix首页 | 论坛 | 博客
  • 博客访问: 798726
  • 博文数量: 281
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2770
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 19:45
个人简介

邮箱:zhuimengcanyang@163.com 痴爱嵌入式技术的蜗牛

文章分类
文章存档

2020年(1)

2018年(1)

2017年(56)

2016年(72)

2015年(151)

分类: 嵌入式

2015-06-26 09:06:06

Ubuntu下升级内核:(纯属折腾篇)
----------------------------------------------------------------------------

1. 下载比较新的内核到/usr/src/下面

2. 解压,生成/usr/src/linux-2.6.39
   #tar jxvf   linux-2.6.39.tar.bz2
   
3. 进入文件夹/usr/src/linux-2.6.39,执行命令
    $ make mrproper
    
4. 配置,可以根据菜单提示,选择编译配置选项,并保存配置文件为.config
    $ make menuconfig

5. 确定依赖性
    $ make dep
    
6. 清除中间文件
    $ make clean
    
7. 编译新内核
    $ make bzImage
    
8. 生成Modules
    $ make modules
    
9. 安装modules
    $ make modules_install
    
10. 建立要载入的ramdisk映像文件
    mkinitramfs -o /boot/initrd.img-2.6.39      2.6.39
    
    如果你的linux不是ubuntu,而是其他的发行版本,那么使用的命令可能不是mkinitramfs,而是mkinitrd,但功能和用法类似。
    
    出现错误信息:
        
意思是:/boot分区已经没有空间了。
查看/boot 分区具体文件的大小:

book@book-desktop:/usr/src/linux-2.6.39$ sudo du -sh /boot/
86M     /boot/

book@book-desktop:/usr/src/linux-2.6.39$ sudo du -sh /boot/*
615K    /boot/abi-2.6.31-14-generic
109K    /boot/config-2.6.31-14-generic
790K    /boot/grub
7.3M    /boot/initrd.img-2.6.31-14-generic
72M     /boot/initrd.img-2.6.39         这个文件太大了,root分区容不下了。所以报错
12K     /boot/lost+found
126K    /boot/memtest86+.bin
1.6M    /boot/System.map-2.6.31-14-generic
2.0K    /boot/vmcoreinfo-2.6.31-14-generic
3.8M    /boot/vmlinuz-2.6.31-14-generic
55K     /boot/vmlinuz-2.6.39

先mark在这里吧,网上也有很多方法。具体没有去试,可以重新分区,将/root分区加大。
   
11. 安装内核
    $ make install
    
    此时系统会把linux内核的镜像文件还有System.map考入到/boot下,然后会自动生成引导菜单。
    
12. 配置grub引导程序

    首先用chmod更改该文件的只读属性。然后参照里面的已有内容添加一个新启动项。
    
menuentry 'Ubuntu,Linux 2.6.39' --class ubuntu --class gnu-linux --class gnu --class os {
       recordfail
       gfxmode $linux_gfx_mode
       insmod gzio
       insmod part_msdos
       insmod ext2
       set root='(hd0,msdos1)'
       search --no-floppy --fs-uuid --set=root ee7c3a4d-5305-46b1-807e-fa9f39a5d13e
       linux       /boot/vmlinuz-2.6.39 root=UUID=ee7c3a4d-5305-46b1-807e-fa9f39a5d13e ro   quiet splash $vt_handoff
       initrd       /boot/initrd.img-2.6.39    (名字要正确)
}
menuentry 'Ubuntu,Linux 2.6.39 (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
       recordfail
       insmod gzio
       insmod part_msdos
       insmod ext2
       set root='(hd0,msdos1)'
       search --no-floppy --fs-uuid --set=root ee7c3a4d-5305-46b1-807e-fa9f39a5d13e
       echo       '载入 Linux 2.6.39 ...'
       linux       /boot/vmlinuz-2.6.39 root=UUID=ee7c3a4d-5305-46b1-807e-fa9f39a5d13e ro recovery nomodeset
       echo       '载入初始化内存盘...'
       initrd       /boot/initrd.img-2.6.39
}
阅读(1587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~