Linux内核编译

0 前言 

  Linux系统中可同时安装多个内核镜像,启动时选其一运行即可,《Linux内核安装》介绍了通过apt-get工具安装内核的方法,本文将介绍如果由源码安装新内核。

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

1 源码

1.1 标准内核

(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)方法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

(2)方法2

    Ubuntu还可以通过下面方法下载内核源码[25]:

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

# 下面命令无需sudo权限
apt-get source linux-image-unsigned-$(uname -r)
# or failing that:
apt-get source linux-image-$(uname -r)

    正常情况下会将源码下载到当前目录。

:“/etc/apt/sources.list”中原有的“deb-src”配置默认被注释掉了,指定上述命令会提示错误[26]: 

E: You must put some 'source' URIs in your sources.list

    将“/etc/apt/sources.list”中的“deb-src”配置全都取消注释,“sudo apt-get update”更新一下就好。

(3)方法3

    方法1、方法2下载的源码有时并非最新的,此时可通过各发行版官网下载内核,例如Ubuntu内核官网

# jammy(ubuntu22.04)
git clone https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy # [25]

# focal(ubuntu20.04)
git clone https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal # [21][25][28]

:Ubuntu各版本的代号(吉祥物)详见参考资料[29]。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

OneSea

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

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

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

打赏作者

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

抵扣说明:

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

余额充值