Linux内核编译与安装(完整过程)【Ubuntu18.04下】

您所在的位置:网站首页 内核官网 Linux内核编译与安装(完整过程)【Ubuntu18.04下】

Linux内核编译与安装(完整过程)【Ubuntu18.04下】

2023-07-16 23:29| 来源: 网络整理| 查看: 265

0 前言

暑假作业的第一步。 第一次弄,失败了不少次,最后发现只要步骤都对,其实很简单,只是时间问题。 起初在CentOS7上编译安装5.13和4.14的内核都不行,也不知道是哪里出了问题,查了一下说似乎是GCC版本与内核版本不兼容,然后赶紧太麻烦了,遂放弃。 在这里插入图片描述然后装了一个Ubuntu18.04,可以make menuconfig了,但是手贱不知道哪里弄错了,又不行了。 又装了Ubuntu个10.04,想装了3.6版本的内核(怕高版本不兼容),无奈刚开始没找到资源(其实很好找),还是用Ubuntu18.04吧。 重装了Ubuntu18.04,为以防万一,分配了50G空间,4G内存,1CPU,2核心,重新开始。

Ubuntu18.04第一次装可能会有些小问题。

一、网络不可用 更改设置->还原默认设置->VmNet8(NAT模式),搞定。 在这里插入图片描述

在这里插入图片描述 二、无法在Ubuntu与windows之间实现复制粘贴

sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop

搞定,屡试不爽。

1 进入正题

Ubuntu版本:18.04 Kernel版本:4.14.238(18.04本身的版本是5,可以试试5.13.1,我这里是为了保险)

1.在www.kernel.org上选择要下载的内核版本

点击tarball,或者那个大黄方块的最新版本 (直接在Ubuntu上下载,可以使用命令,也可以网页上手动下载) 在这里插入图片描述

2.解压 sudo xz -d linux-4.14.238.tar.xz sudu tar -xvf linux-4.14.238.tar -C /usr/src/ 这里直接解压到/usr/src/ 这两步也似乎可简化成一步 用xvJf 3.安装依赖库

这一步很重要,要不后面会有很多报错

sudo apt-get update sudo apt-get install libncurses5-dev #用于menuconfig sudo apt-get install build-essential openssl sudo apt-get intall flex sudo apt-get intall bison sudo apt-get intall openssl sudo apt-get intall libssl-dev 如果还有报错,查看一下是不是还缺少其他依赖库就行了,网上也有很多报错的说明,直接搜linxu内核编译错误就行 4.配置内核编译参数 cd /usr/src/linxu-4.14.238 sudo make mrproper sudo make clean sudo make menuconfig

然后会进入如下界面,第一次弄,不太懂,就没改动配置了,直接save->load->exit(我乱点的哈哈哈哈哈哈哈)

在这里插入图片描述

5.编译内核!!! sudo make bzImage

这个需要比较长的时间啦,出现第二张图就ok了。

在这里插入图片描述

在这里插入图片描述

6.编译和安装modules sudo make modules sudo make modules-install

命令mmmmmmmmmm…这一步时间更久,等着吧!主要是第一条命令,第二条命令出现 DEPMOD即可。

在这里插入图片描述

7.安装内核!!! sudo make install

在这里插入图片描述

8.查看和启动新内核

(这部分似乎又多余的地方,但是不影响,毕竟我只是总结别人的方法)

将生成的bzImage文件和System.map文件拷贝到/boot/目录下

cp /usr/src/linux-4.14.238/arch/x86/boot/bzImage /boot/ cp /usr/src/linux-4.14.238/System.map /boot/

来建立镜像文件

mkinitramfs 4.14.238 -o /boot/initrd.img-4.14.238

更新修改系统引导配置

update-initramfs -c -k 4.14.238 update-grub2 #这块我不知道啥意思 grub2?第二个?

进入引导程序

cd /boot/grub gedit grub.cfg

看到配置文件中有:

在这里插入图片描述 最重要的一步来了!

cd sudo grep menuentry /boot/grub/grub.cfg sudo gedit /etc/default/grub

第一条命令结果如图左部,查看自己编译安装的内核在第几个menuentry,这里可以看到4.14.238在第5个,记住咯。 第二条指令结果如图右部所示,修改默认启动的内核, GRUB_DEFAULT=“1 >4” 即可。请注意在(2)中提到的需要更换的内核4.14.238在submenu的第5个menuentry,因此是“1 >4“,懂得都懂,唯一需要的就是数好这个! 在这里插入图片描述

sudo update-grub #必须更新一下 sudo reboot #重启

重启后,查看内核版本

sudo uname -r sudo uname -a

在这里插入图片描述

至此,告一段落。 (似乎有个什么交叉编译,之后再了解吧!)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3