Linux内核编译

本文详述了在Ubuntu系统中从源码编译安装Linux内核的全过程,包括标准内核和发行版内核的获取,配置、编译、安装、启动、卸载等步骤,并提供了针对不同情况的解决方案,适用于Ubuntu 14.04至22.04及UOS Pro 20、银河麒麟SP1 V10。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 前言 

    《Debian内核编译》介绍了Debian及其衍生发行版内核编译为.deb安装包的方法,本文描述更为通用的方法(编译结果不一定为.deb)。

验证版本:Ubuntu14.04/18.04/20.04/22.04、UOS Pro 20、银河麒麟SP1 V10

1 源码

1.1 标准内核

    可到官网下载内核(用于产品的建议选择长期支持版,可获得2~6年支持[35]):

图1.1[34]

(1)方法1:压缩包

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.6.4.tar.gz
tar axvf linux-4.6.4.tar.gz

:压缩包中不含git仓库,因此无法查看提交记录。

(2)方法2:torvalds仓库

git clone https://github.com/torvalds/linux.git

:git tag只含大版本号,不含小版本号(第2个小数点后的版本),因此无法切换到上述4.6.4版本。

(3)方法3:稳定仓库(推荐)

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

:git tag包含详细的版本号,因此可以切换到上述4.6.4版本。

1.2 发行版内核

1.2.1 方法1:普通内核

    Ubuntu可通过下面方式下载含发行版patch的内核:

# 确认当前所用内核版本
uname -r
# 查看可用内核源码
apt-cache search linux-source
# 安装内核源码
apt-get install -y linux-source-5.3.0 # 得到/usr/src/linux-source-5.3.0/linux-source-5.3.0.tar.bz2

1.2.2 方法2:HWE内核

    第1.2.1小节方法通常无法下载HWE版本内核,可通过下面方法下载[25]:

(1)准备

  • <=ubuntu22.04

    将“/etc/apt/sources.list”中的“deb-src”配置全都取消注释,然后

sudo apt-get update
  • >=ubuntu24.04

    相关配置已迁移到了“/etc/apt/sources.list.d/ubuntu.sources”,在其“Types”后添加“deb-src”即可:

图1.1

:若不做上面一步,下面下载会提示“E: You must put some 'source' URIs in your sources.list”错误。

(2)下载

sudo apt-get install -y dpkg-dev # 下面命令需要用到其中的“dpkg-source”

# 无需sudo
apt-get source linux-image-unsigned-$(uname -r)
# or
apt-get source linux-image-$(uname -r)
# or
apt-get source linux-modules-$(uname -r)
# or
apt-get source linux-modules-extra-$(uname -r)

    无论是通过image还是modules名称下载的源码,都是同一份,正常情况下会将源码下载到当前目录,例如ubuntu20.04下载并解压

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneSea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值