当前位置: 首页 > news >正文

【重学Linux系列(二)之一一Linux内核更换】

0.预备

当前版本:4.15升级为5.0.9(我下载的是这个版本)

虚拟机配置:(硬盘至少30GB)

扩容的方法:https://blog.csdn.net/pengshengli/article/details/89683225

 

1.下载内核:https://www.kernel.org/

2.解压:

xz -d linux-5.0.9.tar.xz

解压为:linux-5.0.9.tar

3.再解压:

tar -vxf linux-5.0.9.tar

4.复制配置文件到当前版本的目录下:

cp /boot/config-4.15.0-47-generic ./.config

5.make menuconfig

make menuconfig 

出现如下界面:

这里可能会出现错误:scripts/kconfig/Makefile:207: recipe for target 'scripts/kconfig/mconf-cfg' failed

需要安装:

apt-get install libncurses5-dev

 还有可能需要安装:

apt-get install flex
apt-get install bison

6. 编译内核

make -j6

 (1)报错:

scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: No such file or directory
 #include <openssl/opensslv.h>


安装:

apt-get install libssl-dev 

注:cpu核数调的尽量大,我的是6核,所以上面的命令为-j6(比单核编译的快)

(2)报错:error: code model kernel does not support PIC mode

修改${kernel_path}/arch/x86/Makefile文件中的BITS := 64脚本代码块,添加一行来修改gcc的编译参数,KBUILD_CFLAGS += -fno-pic

用htop命令可以查看6个cpu的利用率:

大概过30-40分钟。。。

7.安装驱动:linux-5.0.9#make modules_install

make modules_install

8.生成bzImage

make bzImage

9.copy Image放到boot中

cp arch/x86/boot/bzImage /boot/vmlinuz-5.0.9

10.copy System.map 文件

cp System.map /boot/System.map-5.0.9

11.copy config文件

cp .config /boot/config-5.0.9

12.升级initramfs

进入到/lib/modules/5.0.9

update-initramfs -c -k 5.0.9

13.升级grub文件(在/lib/modules/5.0.9

update-grub

14.重启

可能出现CPU禁用

解决:把内存调大点,我调成4G

15.查看版本:

相关文章:

  • Linux扩容(虚拟机)
  • python常用的几个操作(读数据库、读ini、写日志)
  • zookeeper实践及原理
  • 敏捷开发
  • mogodb数据库恢复报错:too many positional arguments
  • mongodb恢复数据库
  • windows10安装Ubuntu子系统
  • socket API(linux)
  • Linux socket编程实战(阻塞)
  • Linux socket编程实战(非阻塞)
  • coredump配置调试
  • Linux I/O复用技术---select
  • log4cpp的使用
  • Linux I/O复用技术---poll
  • Linux I/O复用技术---epoll
  • $translatePartialLoader加载失败及解决方式
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 《剑指offer》分解让复杂问题更简单
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 345-反转字符串中的元音字母
  • AHK 中 = 和 == 等比较运算符的用法
  • Hibernate最全面试题
  • in typeof instanceof ===这些运算符有什么作用
  • Joomla 2.x, 3.x useful code cheatsheet
  • js 实现textarea输入字数提示
  • js数组之filter
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MySQL的数据类型
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Puppeteer:浏览器控制器
  • Redis 懒删除(lazy free)简史
  • Web Storage相关
  • windows下使用nginx调试简介
  • 设计模式(12)迭代器模式(讲解+应用)
  • 我与Jetbrains的这些年
  • 小而合理的前端理论:rscss和rsjs
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 回归生活:清理微信公众号
  • # include “ “ 和 # include < >两者的区别
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #AngularJS#$sce.trustAsResourceUrl
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C++17) optional的使用
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (四)JPA - JQPL 实现增删改查
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一) springboot详细介绍
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码