linux内核编译与卸载

原创 2016年05月31日 20:44:07

         linux开行版的自带内核不一定能满足linux学习和某些特殊的要求,这时我们就不得不根据自己的需求重新安装内核。这里我介绍一些常用编译内核的步骤。

编译内核

一、一定是下载满足需求的内核啦。

官网:https://www.kernel.org/
p.s. 学习最新的内核,可以克隆linus在github的代码:https://github.com/torvalds/linux

二、选择内核配置:

         进入下载好的源码的根目录下,输入:

make menuconfig

         选择配置之后保存退出。之后在源码的根目录下会有.config文件。这个文件就是配置文件。

p.s.选择默认选项的话:

make defconfig

p.s. 有时会将补丁打入内核,所有在make menuconfig之前,先打补丁:

patch -p1 < (PATCH_PATH)/(PATCH_NAME)。

         参数 p1 :将补丁中的​需要修改或添加的文件的第一级路径省略。如:“a/include/linux/cgroup_subsys.h” 和省略 a/。

p.s. 如果需要当前内核的配置文件时,那么就得克隆当前配置文件:

zcat /proc/config.gz > .config; make oldconfig。

p.s. make menuconfig可能不能使用,这是因为缺少编译环境。

sudo apt-get install libncurses5 libncurses5-dev build-essential kernel-package

         问题就会迎刃而解

三、如果之后又修改过配置文件,或者在用已用的配置文件配置新的代码树的时候。应该验证和更新配置:
make oldconfig
四、通过之上四步,内核已经配置好了,这是就可以编译了。
make -j(cpu数×2)
五、安装新内核。注意:必须是root用户!
make modules_install --------------->可以把所有编译好的模块安装到正确的主目录/lib/modules下。

make install -----------> 自动将映像添加到/boot目录下​。

这是已安装新内核了。重新启动就可以选择不同内核了。

p.s. ubuntu 发行版时,系统可能会自动隐藏grub菜单。所以必须修改grub文件:

打开 /etc/default/grub 注释 GRUP_HIDDEN_TIMEOUT = 0 仅在前头加一个#即可。

最后必须更新grub :

update-grub

卸载内核:

卸载自己编译的内核

在/boot目录下,存放着内核文件及镜像:
/boot/vmlinuz*KERNEL-VERSION*
/boot/initrd*KERNEL-VERSION*​
/boot/System-map*KERNEL-VERSION*​
/boot/config-KERNEL-VERSION
/lib/modules​
KERNEL-VERSION代表你想卸载的内核的版本号。依次删除所示文件

最后必须更新grub :

update-grub。
卸载发行版自带的内核

1、查找内核文件 :

dpkg --get-selections|grep linux 。

带有image的就是内核文件。如:

linux-image-3.16-amd64                   nstall

2、卸载:

sudo apt-get remove linux-image-(接内核版本)

最后必须更新grub :

update-grub
版权声明:本文为博主原创文章,未经博主允许不得转载。

Ubuntu下Linux内核的卸载

在之前的文章中就已经介绍过如何来编译生成一个内核。那么相应的,当然还有如何卸载我们不许要的内核。 卸载内核我们分为两部分来介绍: 1. 卸载由于系统自动升级而产生的旧内核 2. 卸载自己编译生成...
  • hjj605
  • hjj605
  • 2015年02月25日 02:02
  • 740

安全删除linux旧内核的方法

我们在用yum升级系统之后,希望往往会为我们保持旧的内核文件,这样以防在出现硬件或者软件冲突的时候我们能够返回到旧的内核文件继续使用,如果我们想要安全的删除旧的内核文件,可以follow下面的方法。 ...
  • CaryaLiu
  • CaryaLiu
  • 2011年12月04日 21:33
  • 13075

linux卸载内核

1. 查看所安装的所有内核 ls /boot/ 2.  在删除旧内核之前,记住最好留有2个最近的内核(最新的和上一个版本),以防主要的版本出错。现在就让我们看看如何在Ubun...
  • w383117613
  • w383117613
  • 2017年11月14日 22:24
  • 78

linux删除多余内核

查看当前使用的内核                      #uname -r                      2.6.18-194.26.1.el5查看系统中安装的内核         ...
  • wangmoon00
  • wangmoon00
  • 2010年12月01日 21:29
  • 2006

Ubuntu编译、更换、删除内核

一直想将自己的linux内核更换一下,换一个低版本的方便平时做实验课程的时候使用,于是就开始了Ubuntu下换内核的过程....
  • tang152453
  • tang152453
  • 2014年11月16日 09:59
  • 2810

Linux内核代码删减

Linux内核代码删减嵌入式开发大多需要Linux开源内核源码,源码包解压后动辄500MB大小,磁盘吃不消啊。。。且用svn从服务器check out代码需要刷脸啊,遇到公司网络差的时候一个小时都下载...
  • XiangKanHe
  • XiangKanHe
  • 2016年10月05日 22:41
  • 195

Linux内核编译安装和卸载内核

linux开行版的自带内核不一定能满足linux学习和某些特殊的要求,这时我们就不得不根据自己的需求重新安装内核。这里我介绍一些常用编译内核的步骤。 内核编译安装:​ 一、一定是下载满足需求的内核...
  • qutiezhu
  • qutiezhu
  • 2016年11月23日 15:41
  • 680

Ubuntu14.04卸载内核

1 前言     通过apt-get install安装的内核可以通过apt-get remove卸载;通过dpkg -i安装的内核可以通过dpkg -r卸载;但是通过《Ubuntu14.04编译安装...
  • Q1302182594
  • Q1302182594
  • 2016年07月21日 09:29
  • 1660

Linux添加与删除内核

添加内核添加内核一般来说并不需要,当然也不是完全不需要。安装新内核大体有以下几种需求: 1. 尝鲜新功能 2. 原来的内核比较臃肿 3. 和硬件兼容 4. 特殊需求 笔者安装新内核就是处于特...
  • aneutron
  • aneutron
  • 2015年10月15日 16:37
  • 3292

linux内核升级后如何删除旧的内核

linux内核升级后如何删除旧的内核   首先我们需要查看一下当前使用的是哪个内核:            uname -r                          ...
  • arlanhon
  • arlanhon
  • 2014年02月05日 15:01
  • 3764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux内核编译与卸载
举报原因:
原因补充:

(最多只允许输入30个字)