专栏首页科技分享编译linux内核源码,安装、删除内核【转】

编译linux内核源码,安装、删除内核【转】

转自:https://blog.csdn.net/qq_28437139/article/details/83692907?utm_source=distribute.pc_relevant.none-task

Linux内核编译、安装流程 本博客属于原创,转载请注明来源

此处只讲linux内核编译步骤至于安装虚拟机,安装ubuntu操作系统请自行百度

环境信息: Linux操作系统:ubuntu16.04

内核版本:4.15.0-29-generic

需要编译和安装的内核源码版本:4.19

第一步:下载linux内核源码 官网地址地址:https://www.kernel.org/

官网大致是这个样子,大家关注我标出的位置就OK了

第一列:

mainline当前在开发的内核新版本

stable 稳定的内核版本

longterm 长期维护的内核版本

第二列:

版本号以小数点分割

第一个位置主版本号一般有重大改变时会修改的版本号(具有里程碑意义)

第二个位置次版本号偶数代表稳定版本(可商用),奇数代表开发板不稳定(不可商用)

第三个位置这个号码代表当前版本修改次数(每次可能修改一些bug)

第三列:

当前版本最后一次修改代码时间

第四列:

tarball:完整的代码

pgp:验证签名

patch:基于上一个版本的补丁(一般商用的系统不会频繁的编译内核,所以可以打补丁上去方便)

在这里我们点击tarball下载完整代码

第二步:上传代码解压,安装软件 登录ubuntu16.04

切换到root权限:su - root

查看当前操作系统安装了哪些内核(注意:当前操作系统可以安装许多内核,但是当前运行的内核只能有一个)

dpkg --list | grep linux-image

查看当前运行的内核版本

uname –r

为了防止后面安装的时候报错首先执行下面命令安装软件

sudo apt-get install libncurses5-dev libssl-dev -y

sudo apt-get install build-essential openssl -y

sudo apt-get install zlibc minizip -y

sudo apt-get install libidn11-dev libidn11 -y

sudo apt-get install bison -y

sudo apt-get install flex -y

sudo apt-get install libelf-dev -y

sudo apt-get install libelf-devel -y

sudo apt-get install elfutils-libelf-devel –y

sudo apt-get install flex –y

sudo apt-get install bison -y

将内核源码解压到/usr/src/目录下

tar xvf 源码包

将解压后的源码包创建新链接

ln –s 解压后源码包名 linux

第三步:配置编译选项开始编译安装内核 make mrproper 清空一些配置信息检查源码是否完整

make clean 清空一些编译信息

cd /usr/src/linux

make menuconfig

这里选择内核中哪些模块参与编译(简单的说就是哪些编译好的内核有哪些功能,具体的功能在下一节博客中会给大家详细介绍),这里打下按向右的箭头,选择退出,弹出对话框口选择yes,这里的意思是选择默认的配置。

在当前目录下执行

make(相当于make bzImage加make modules)另外make可以加-j 20 意思启动20个线程编译

make modules 生成相应的模块

make modules_install 将相应的模块拷贝到对应的目录下

make install 该命令的作用是将.config,vmlinuz,initrd.img,System.map文件到/boot/目录、更新grub。默认启动新内核

如何删除内核: 查看当前安装的内核

dpkg --get-selections | grep linux

如上图所示,在该图列表中含image 部分是已经安装过的内核

执行apt-get remove linux-image-****-generic

或者

sudo apt-get purge linux-image-****-generic

(移除后启动选项中还会有卸载的内核选项)

update-grub 更新grub这样在系统启动的时候就不会有卸载掉的内核了这样就彻底的卸载了

问题

dpkg --get-selections|grep linux

有时候这个命令找不到刚才安装的内核

这个时候用一下方法

删除boot下面和要删除的内核版本相关的文件 rm –rf rm -f *3.19.8* 删除/usr/src/目录下的内核源码 update-grub 更新grub ———————————————— 版权声明:本文为CSDN博主「一只小黑」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_28437139/article/details/83692907

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python将图片转换为Framebuffer裸数据格式(终端显示图片)

    要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口,直接写入像素信息即可。

    用户3033338
  • python将图片转换为Framebuffer裸数据格式(终端显示图片)【转】

    转自:https://www.cnblogs.com/zqb-all/p/6107905.html

    用户3033338
  • 终端的乐趣--Linux下有趣的终端命令或者工具【转】

    转自:https://blog.csdn.net/gatieme/article/details/52144603

    用户3033338
  • install project on preferati

    用户授权 给本地用户mql分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。

    pydata
  • ubuntu好看的字体安装

    ubuntu linux用了很久,可是对终端下的字体一直不是很满意,今天终于找到了一些比较好看的终端字体,尤其是droid sans mono字体,简直爱死了,...

    飞奔去旅行
  • Facebook宣布开源Caffe2:可在手机与树莓派上训练和部署模型

    选自Caffe2.ai 机器之心编译 在今年的 F8 开发者大会上,Facebook 正式宣布开源其全新深度学习框架 Caffe2。据 Caffe2 官方博客介...

    机器之心
  • [视频教程] 包管理器方式安装使用openresty新手上路

    OpenResty是一个通过Lua扩展Nginx实现的可伸缩的Web平台,内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。 用于方便地搭建能够处理超...

    陶士涵
  • 【入门篇】一个小白在Jetson TX2上安装caffe的踩坑之旅

    作为一个在深度学习上的小白,买Jetson TX2一个很大的原因就是想学习深度学习。那么当用Jetpack刷好板子后,第一个任务肯定是要学着安装caffe!...

    GPUS Lady
  • ROS init.sh

    sudo apt-get install vim sudo apt-get install openssh-server sudo apt-get instal...

    Pulsar-V
  • Emacs利器0x01 Ubuntu 18.04安装 Emacs25.3

    古语有说:工欲善其事,必先利其器; Emacs无疑是编程的神器。通过这一系列的小文章,让我们一起记录熟练使用和打造这一神兵利器。

    上善若水.夏

扫码关注云+社区

领取腾讯云代金券