详解Debian系统中安装Linux新内核的流程
Skycrab 发布时间:2016-07-12 12:04:31 作者:yueguanghaidao 我要评论
自行通过命令行编译安装Linux内核的方法比较通用,这里我们就来看一下详解Debian系统中安装Linux新内核的流程,需要的朋友可以参考下
一直对Linux内核很有兴趣,但苦于入门不易,认真看了ldd前5章突然就来感觉了,光看不练不顶用,首先就需要环境搭建。
使用的是Debian 5.0,内核2.6.26,欲安装的新内核为2.6.28,这里有一点需要注意,安装的内核版本最好要大于使用编译的版本,不然gcc等有些会报错。
下载https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2,解压到任意目录,不需要一定要在/usr/src目录下。
由于我只需要一个内核源码树,所以生成配置文件使用简单的make oldconfig
1.生成config文件
复制代码
代码如下:make oldconfig
make oldconfig会以你已有的配置文件进行增量提示,这里最后都采用系统默认值,也就是一路“回车”,不然可能导致有些模块依赖关系,导致编译失败。
2.生成内核压缩镜像
复制代码
代码如下:make bzImage
这会在你对应平台的boot目录下生成bzImage,如我的linux-2.6.28/arch/x86/boot/bzImage
3.编译模块
复制代码
代码如下:make modules
这步是很花时间的,慢慢等待
4.安装内核模块
复制代码
代码如下:make modules_install
这会在你的/lib/modules/目录下创建对应的内核版本模块
5.安装内核
复制代码
代码如下:make install
这会把我们编译的内核安装到/boot目录下
6.创建initramfs文件
复制代码
代码如下:update-initramfs -c -k 2.6.28
c代表创建一个新的initramfs,k指定内核版本
7.更新grub
复制代码
代码如下:update-grub
如果不行还可以手动通过修复/boot/grub/menu.lst,可以参考之前的配置文件,只需要增加"title","root","kernel","initrd"字段就可以了。注意:update-grub新加的内核版本将出现在老版本的前面。
8.reboot,enjoy it。
相关文章
- 这篇文章主要介绍了Linux系统中查询发型版本号以及内核版本的命令总结,文中罗列了Ubuntu、CentOS以及Debian等常用的发行版的查询示例,需要的朋友可以参考下2015-12-28
- 这篇文章主要介绍了Linux内核及其相关架构的依赖关系,分析了kernel和模块之间的调用等内容,需要的朋友可以参考下2015-12-10
- 内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了。Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你编程中的一个bug就2015-11-02
- 在Linux环境下,升级的对象可以是一般的软件,可以是编译器,也可以是系统的内核,甚至是系统本身。下文就分别讲讲对不同对象的升级方法,需要的朋友可以参考一下2015-10-22
- 这篇文章主要介绍了Linux系统中的内核抢占机制,包括内核抢占的时机和如何避免内核抢占等方面的问题,需要的朋友可以参考下2015-10-08
- 这篇文章主要介绍了获知Linux的进程运行在哪个CPU内核上的方法,在服务器维护方面有时候会用得到,需要的朋友可以参考下2015-10-07
- 这篇文章主要介绍了在Ubuntu系统下删除无用的Linux内核的方法,毕竟Linux更新内核以后没有CCleaner这样的工具来清理,需要的朋友可以参考下2015-09-24
- 这篇文章主要介绍了Ubuntu系统中升级Linux内核的一般步骤,文中以4.2内核的更新作为示例,需要的朋友可以参考下2015-09-14
- 这篇文章主要介绍了Linux系统中一些内核管理命令,主要为lsmod和modinfo以及modprobe相关的一些命令,需要的朋友可以参考下2015-07-07
- 这篇文章主要介绍了命令行查看Linux的系统版本和内核版本以及机器字长,是一些Linux入门学习中的基础命令,需要的朋友可以参考下2015-07-07
最新评论