ubuntu上编译Linux内核步骤

这篇具有很好参考价值的文章主要介绍了ubuntu上编译Linux内核步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一、虚拟机的准备

1.下载Ubuntu镜像

Enterprise Open Source and Linux | Ubuntu

在最左边Ubuntu Desktop处点22.04LTS下载iso文件

2.在VMware上创建新的虚拟机

Ubuntu 20.04 虚拟机安装教程_柯基@的博客-CSDN博客_虚拟机安装ubuntu20.04

特别注意: 在"指定磁盘容量"这一步把"最大磁盘大小"设置为50G

如果忘记了或者已经设为默认的20G, 后续编译可能出现文件系统空间不足的情况

这种情况的解决办法: 首先在终端中输入如下命令查看文件系统的空间大小

df -h

ubuntu编译内核,linux,运维,服务器,ubuntu

 如果提示文件系统空间不足而编译失败, 则会有一行的"已用%"为100%(或者百分比最大且容量最大的那一行, 如图应该是/dev/sda3而不是/dev/sr0)。记住这一行的名字。

关闭虚拟机,在""虚拟机设置"中,点击"硬盘",点击"扩展磁盘容量",设置为合适的大小.但是这个操作并不能扩展文件系统的大小,需要进一步设置。

开启虚拟机,在终端中输入如下命令安装分区管理工具gparted。

sudo apt-get install gparted

再输入属下命令启动gparted

sudo gparted

ubuntu编译内核,linux,运维,服务器,ubuntu

 在这个页面中,找到刚才记住的那一行(如果没记住的话, 就是"文件系统"这一列为"ext4"的这一行). 点击这一行,右键,选择"调整大小/移动"

ubuntu编译内核,linux,运维,服务器,ubuntu

 可以拖动上边的的条形框或者输入新大小来扩展

然后再输入命令查看文件系统的空间,就会发现不是100%了,这样就可以重新编译了

二、下载内核和必要的依赖

1.下载内核并解压

The Linux Kernel Archivesd

使用Ubuntu自带的火狐浏览器,点击最大的黄框下载. 或者找到你需要的版本

下载完后, 将其移动到/home/username/这个路径下, 将其解压

tar -xavf linux-5.19.8.tar.xz

ubuntu编译内核,linux,运维,服务器,ubuntu

2.替换源

 输入如下命令, 在打开的文本编辑器将所有内容删除.

sudo gedit /etc/apt/sources.list

 在https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/这个网站上找到对应版本的镜像源,将内容复制到文本编辑器中。记得保存

3.下载依赖

逐步输入如下命令

sudo apt-get update
sudo apt-get install make
sudo apt-get install gcc g++
sudo apt-get install flex 
sudo apt-get install bison
sudo apt-get install libncurses-dev 
sudo apt-get install build-essential
sudo apt-get install kernel-package 
sudo apt-get install libssl-dev
sudo apt-get install libc6-dev 
sudo apt-get install bin86  
sudo apt-get install qttools5-dev
sudo apt-get install libelf-dev

 三、编译并安装内核

1.查看当前内核版本

uname -r

2.清理之前编译的结果

每次重新编译,都要做这一步再重新开始

sudo make mrproper
sudo make clean

3.内核配置

进入刚才解压的文件夹, 输入如下命令进入配置

sudo make menuconfig

注意, 如果窗口不够大, 这个页面是打不开的, 会报错, 必须先把窗口调大! 安装VMware tools或者在Ubuntu的设置→显示器→分辨率中调大

ubuntu编译内核,linux,运维,服务器,ubuntu

进入此页面后可以根据需要进行修改,这里保持默认,(这里只能用键盘操作),Exit然后Yes即可.

ubuntu编译内核,linux,运维,服务器,ubuntu

然后输入进一步修改配置(非必须, 但因为每个人配置不同, 跳过有可能编译失败)

sudo gedit .config

按Ctrl+F, 搜索 CONFIG_SYSTEM_TRUSTED_KEYS和CONFIG_SYSTEM_REVOCATION_KEYS, 删除这两条引号中的内容(而不包括引号). 记得保存

4.编译内核

这一步需要一两个小时甚至更久,完成后最后几行如果没有提示有错误,就是成功

可以分别编译

sudo make bzImage -j4  //20min左右
sudo make modules -j4  //2h左右

也可以一步到位 

sudo make -j4

"-j4"是指定4个线程进行编程, 加快速度, 可以改成"-j8"等, 也可以不加

5.安装

sudo make modules_install
sudo make install //将自动修改GRUB配置文件

6.重启测试

sudo reboot
uname -r

重启后, 查看当前内核版本, 如更新为下载的新内核版本, 成功文章来源地址https://www.toymoban.com/news/detail-793376.html

到了这里,关于ubuntu上编译Linux内核步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux内核学习(包含Linux 2.6内核编译安装流程)

    Linux内核官方网站为:http://www.kernel.org 或者使用git将源码clone下来(我这里使用的版本为2.6): clone下来的源码目录结构如下:  其中比较重要的目录的官方描述如下: 对应的中文描述如下: 由于centos7.6初始gcc版本为4.8.5,而编译内核需要的最低版本为5.1.0,所以需要安装高

    2024年02月07日
    浏览(65)
  • Linux技术内核:数字化时代企业运维的终极武器

    在当今企业的IT运维领域,Linux操作系统因其开源性、高稳定性和强大的定制能力而成为众多企业的首选。Linux技术内核作为系统的核心,对于保障企业运维的稳定性、安全性以及提升效率起着至关重要的作用。接下来,本文将深入探讨Linux技术内核在企业运维中的应用及其带

    2024年03月18日
    浏览(60)
  • linux内核分析编译体验

    linux-2.6.22.6 下载地址 https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/ linux-2.6.22.6_jz2440.patch下载地址 https://download.csdn.net/download/zjq_5586288/10438800?utm_source=bbsseo cd /home/li/kernel_learn/linux-2.6.22.6 patch -p1 …/linux-2.6.22.6_jz2440.patch 三种方式 (1)make menuconfig (2)使用默认配置(defconfig)在上面

    2023年04月11日
    浏览(40)
  • 树莓派Linux内核编译

    树莓派内核源代码保存在GitHub上github.com/raspberrypi/linux,可以看做是Linux主线内核代码的一个分支。树莓派内核源代码是从Linux主线的长期维护的稳定版本加上树莓派特有的改动形成的。树莓派的内核更新可以通过apt命令自动更新到最新的稳定版本。但是如果你需要使用到最新

    2024年02月08日
    浏览(46)
  • ARM & Linux 基础学习 / 配置交叉编译工具链 / 编译 Linux 应用和驱动 / 编译内核

    编辑整理 by Staok。 本文部分内容摘自 “100ask imx6ull” 开发板的配套资料(如 百问网的《嵌入式Linux应用开发完全手册》,在 百问网 imx6ull pro 开发板 页面 中的《2.1 100ASK_IMX6ULL_PRO:开发板资料》或《2.2 全系列Linux教程:在线视频与配套资料》里面可以下载到),还有参考 菜

    2024年02月04日
    浏览(53)
  • 【小吉送书—第三期】Linux私教课:技术内核与企业运维篇

    find [搜索范围] [选项] 🎈按文件名 根据名称查找/home目录下的hello.txt文件 🎈按拥有者 查找/opt目录下,用户名称为nobody的文件 🎈查找Linux系统下大于200M的文件 (+n 大于,-n 小于,n 等于) 查找整个Linux系统下大于200M的文件(M是大写) (因为是整个Linux系统,所以find后面是

    2024年02月08日
    浏览(52)
  • 编译Linux 2.6.34内核

    《Linux内核设计与实现(第三版)》中所用的内核版本为2.6.34,这个版本太旧了,在高版本系统中编译各种不支持,所以选了Ubuntu 14.04进行编译。 编译环境 :Ubuntu 14.04 GCC版本:4.8.4 编译的内核版本:Linux 2.6.34 内核源码下载:https://mirrors.edge.kernel.org/pub/linux/kernel/ 解压源码l

    2024年02月10日
    浏览(42)
  • Linux内核的编译、安装、调试

    Linux内核下载The Linux Kernel Archives 打开 .config 更改 CONFIG_SYSTEM_TRUSTED_KEYS 和 CONFIG_SYSTEM_REVOCATION_KEYS 更改 CONFIG_DEBUG_INFO_BTF 注释掉CONFIG_X86_X32 首先安装模块 这里加上 INSTALL_MOD_STRIP=1 是为了避免内核启动时卡在 loading initial ramdisk 安装内核 更改引导 更改 grub 修改文件 更新 重启 在

    2024年02月11日
    浏览(47)
  • 编译tiny4412 Linux 内核

    工作环境 Ubuntu 22 交叉编译器 4.5.1 解压Linux内核源码,进入目录 将官方配置完好的defconfig文件作为配置文件 由于内核版本较低,需要下载低版本的gcc,选择下载gcc-9与g+±9 将gcc g++版本都切换为9 切换后可以通过 gcc -v 查看是否切换成功 进入Linux目录,执行make编译 出现错误 C

    2024年02月11日
    浏览(46)
  • 【送书福利-第十八期】《Linux私教课:技术内核与企业运维篇》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包