Linux内核编译(首次)--实验(自用)

1、实验环境

Ubuntu64位: ubuntu 20.04LTS
待编译内核: linux-5.4.109
虚拟机: VMware

2、下载内核源码

网址:https://www.kernel.org
在这里插入图片描述
我是选择了对应版本的tarball下载的

3、解压缩内核原码文件

(1)切换到root用户——“su”并输入密码
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021040520171586.png
(如果显示什么密码啥失败 就设置一下root密码——“sudo passwd root”)
("exit"命令切换回用户态)

(2)将下载的新内核压缩文件复制到/usr/src目录下

mkdir /usr/src/linux-5.4.109
——在/usr/src目录下创建文件夹linux-5.4.109

cp linux-5.4.109.tar.xz /usr/src/linux5.4.109
——到下载包的位置,执行命令

xz -d linux-5.4.109.tar.xz
——解压缩xz,大概执行一分钟左右
tar -xvf linux-5.4.109.tar.xz
——解压缩tar
解压完成

4、清除残留的.config和.o文件

(1)进入/usr/src/linux-5.4.109/linux-5.4.109目录
(第一个linux-5.4.109是之前创的文件夹名,第二个是下载的内核中的文件,不要混淆了)

(2)安装ncurses包 (我已经安装了就不演示了)
apt-get install libncurses5-dev

(3)make mrproper
在这里插入图片描述
【注意:一定要进入linux-5.4.109子目录,不然会报错:make: *** No rule to make target 'meproper'. Stop.

5、配置内核

make menuconfig

【报错了:/bin/sh: 1: flex: not found
make[1]: *** [scripts/Makefile.host:9: scripts/kconfig/lexer.lex.c] Error 127】
在这里插入图片描述
解决(依次安装bison和flex):apt-get install bison apt-get install flex

成功后如图:
在这里插入图片描述
一般采用默认值 选择保存配置信息
在这里插入图片描述
文件名采用默认的.config→→ (如果修改了配置就这样,没修改直接第一个界面选择第二个选项)

配置的话:
“y”——将相应特性的支持或设备驱动程序编译进内核
“m”——将相应特性的支持或设备驱动程序编译进可加载模块,在需要时可由系统或用户自行加入到内核中;
“n”——内核不提供相应特性或驱动程序的支持。
在这里插入图片描述

6、编译内核,生成启动映像文件

(1)安装openssl
apt-get install libssl-dev
没安装的话会报错
在这里插入图片描述

(2)执行编译内核命令:make或者make -j2 (双核CPU编译)make -j4(4核CPU编译) 【多核编译可加快编译速度】

(3)报错解决

错误:
在这里插入图片描述
解决:
vim .config

②找到行并置空CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/benh@debian.org.cert.pem"
修改为
CONFIG_SYSTEM_TRUSTED_KEYS=" "
【用:/CONFIG_SYSTEM_TRUSTED_KEYS搜索定位到该行】
在这里插入图片描述
:wq 保存并退出
在这里插入图片描述

7、编译模块

make moudles

8、安装内核

(1)安装模块:make moudles_install
(2)安装内核:make install

9、配置gurb引导程序

update-grub2 【该命令会自动修改grub】

10、重启系统

重启系统:reboot
查看Linux内核版本号:uname -a

好文章分享:
http://linux.kutx.cn/linux/linux6223.htm

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值