编译Linux内核源码

在centos7下编译Linux4.14.14源码,未安装
1.下载Linux源码并解压
Linux官方网站 https://www.kernel.org/
国内连接 http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/
使用国内连接下载

wget http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.14.14.tar.gz

解压

tar -xf linux-4.14.14.tar.gz

2.配置config
配置config的方式有四种

make config 基于文本的配置界面
make menuconfig 基于文本菜单的配置界面
make xconfig 基于图形窗口的配置界面
make oldconfig 基于原来配置内核的基础上修改

这里使用第二种方式
先安装一下ncurses-devel

yum install ncurses-devel

执行make menuconfig,进行配置

make menuconfig

在这里插入图片描述
如果碰到
Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.
make[1]: *** [menuconfig] 错误 1
make: *** [menuconfig] 错误 2
是因为命令行窗口太小,需要拉伸命令行窗口。

这里直接退出。它会使用centos内部的配置文件作为这次编译的配置文件。

3.编译
编译之前,需要先安装一下 elfutils-libelf-devel

yum install elfutils-libelf-devel

开始编译
```shell
make

在这里插入图片描述
需要先安装一下依赖

yum install openssl-devel

编译需要较长时间,编译成功之后可以看到vmlinux。
在这里插入图片描述

ubuntu更换内核

1.使用 make modules_install 安装模块
2.使用 make install 安装内核
3.使用 ls /boot/可以看到安装好的内核。

4.配置主动选择内核

sudo vim /etc/default/grub
#file::/etc/default/grub
#2、开机进入grub菜单可以主动选择以哪个内核进入系统
GRUB_DEFAULT=0
#************* Display grub *************
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
#************** End Display *************
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

更新配置

sudo update-grub

重启

sudo reboot

选择Advanced options for Ubuntu

在这里插入图片描述

选择内核
在这里插入图片描述

参考:https://blog.csdn.net/mrzhouxiaofei/article/details/79140435


版权声明:本文为qq_41285455原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。