龙空技术网

linux内核编译和安装

爱相随不后悔1 813

前言:

此时各位老铁们对“linux系统如何重新安装”大概比较看重,小伙伴们都想要了解一些“linux系统如何重新安装”的相关知识。那么小编同时在网络上汇集了一些关于“linux系统如何重新安装””的相关文章,希望朋友们能喜欢,我们快快来了解一下吧!

1.编译环境

ubuntu 16.04.6 LTS,当前linux版本号是4.15.0-142-generic

generic:当前内核版本为通用版本,另有表示不同含义的server(针对服务器)、i386(针对老式英特尔处理器)x86_64:采用的是64位的CPUSMP:对称多处理机,表示内核支持多核、多处理器Tue Apr 13 09:27:15 UTC 2021 内核的编译时间

Ubuntu——系统版本查看_ubuntu版本-CSDN博客

Linux内核版本介绍与查询_centos 查看arm-CSDN博客

ubuntu版本

查看linux内核版本

查看linux内核版本

版本命名规范《LINUX内核设计与实现》

2.linux内核源码获取

路径:

本次使用的版本

下载的压缩文件

解压.xz文件:xz -d linux-5.10.188.tar.xz

解压文件得到.tar文件

解压文件:tar -xvf linux-5.10.188.tar -C ./linux_5 解压到当前目录下的linux_5目录下。

得到解压的linux内核源码文件

内核源码树

3.下载编译需要使用到的命令工具

sudo apt-get updatesudo apt-get install makesudo apt-get install gcc g++sudo apt-get install flex sudo apt-get install bisonsudo apt-get install libncurses-dev sudo apt-get install build-essentialsudo apt-get install kernel-package sudo apt-get install libssl-devsudo apt-get install libc6-dev sudo apt-get install bin86  sudo apt-get install qttools5-devsudo apt-get install libelf-dev

Minimal requirements to compile the Kernel  The Linux Kernel documentation

ubuntu上编译Linux内核步骤_ubuntu编译内核-CSDN博客

Linux内核编译与安装(完整过程)【Ubuntu18.04下】_编译linux内核-CSDN博客

4.清理

首次编译可以不用清理,编译之后如果想完整重新编译,可以使用清理命令

此路径下执行:~/Desktop/linux_5/linux-5.10.188

# make mrproper会删除配置的.config以及其他备份sudo make mrproper # make clean会删除编译过程中生成的中间文件和内核镜像文件sudo make clean
5.内核配置

内核配置

sudo make menuconfig
6.编译

可以单独编译或者全部编译

单独编译:# 编译内核镜像sudo make bzImage -j6# 编译其他所有模块sudo make modules -j6全部编译:# 编译内核镜像及其他所有模块,-j指定6个线程进行编程,提升编译效果sudo make -j6

编译报错提示空间不足

编译报错

查看内存

unbuntu硬盘扩容:

1.先到/var/cache/apt/archives 中删掉一部分下载的工具

2.安装分区工具 sudo apt-get install gparted,使用分区工具扩容

ubuntu硬盘空间不足,扩容_ubuntu重新分配磁盘空间_树先生~的博客-CSDN博客

Linux内核开发——编译Ubuntu 20.04内核代码_ubuntu编译内核_-飞鹤-的博客-CSDN博客

扩容20G

内核镜像编译完成

其他模块编译完成,生成.ko文件

7.安装内核

安装内核----《linux内核设计与实现》

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

 sudo cp System.map /boot/System.map-5.10.188  sudo cp arch/x86/boot/bzImage /boot/vmlinuz-5.10.188

拷贝bzImage文件

拷贝System.map文件

(2)建立镜像文件:

sudo mkinitramfs /lib/modules/5.10.188 -o /boot/initrd.img-5.10.188 

建立镜像文件

(3)更新GRUB:

更新grub文件,命令会自动检测boot目录中的initrd文件,将最新的initrd文件设置为默认启动版本。

sudo update-grub

引导配置文件

查看menuenty

8.重启 sudo reboot

重启在Advanced options for ubuntu中选择5.10.188内核

步骤一选择第二项

步骤二选择第一项(或者第二、第三项)

加载内核界面

出现的问题:在重启的时候,Ubuntu会出现”System is deadlocked on memory”

系统重启问题

解决办法

关闭虚拟机,打开Ubuntu设置,选择”内存“增大到4GB(4096MB),然后重新启动ubuntu。

Linux内核开发——编译Ubuntu 20.04内核代码_ubuntu编译内核_-飞鹤-的博客-CSDN博客

调整虚拟机内存

9.重启后查看内核版本信息

内核版本为5.10.188,说明编译的新内核ok。

查看内核版本信息

参考:(1)csdn 相关文章,链接已给出

(2)《linux内核设计与实现》第三版

标签: #linux系统如何重新安装 #linux系统怎么重新安装 #ubuntu下编译后内存占用怎么清除 #ubuntu构建内核树 #ubuntu编译内核内存不足怎么解决