1、配置环境

修改apt源

修改 /etc/apt/sources.list.d/ubuntu.sources ,添加 "deb-src"到 Types:,修改后的文件内容如下:

Types: deb deb-src
URIs: http://cn.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

安装依赖包

如果依赖包安装失败,提示不满足依赖,请检查apt源修改是否正确

sudo apt update
sudo apt build-dep linux linux-image-unsigned-$(uname -r)
sudo apt install fakeroot llvm libncurses-dev dwarves gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf git

获取内核源码

这里只想修改内核,不想升级内核,因此下载了当前版本的内核源码,内核源码下载在执行apt source的路径下

cd ~
apt source linux-image-unsigned-$(uname -r)

2、编译内核

预处理内核源码

在编译内核前需要对内核源码进行以下处理

cd <内核源码的目录>
chmod a+x debian/rules
chmod a+x debian/scripts/*
chmod a+x debian/scripts/misc/*
fakeroot debian/rules clean

修改内核配置

如果想要修改内核defconfig,使用以下指令。如果不想修改,跳过当前步骤

cd <内核源码的目录>
fakeroot debian/rules editconfigs

编译内核

执行以下命令来编译内核

cd <内核源码的目录>
fakeroot debian/rules clean
fakeroot debian/rules binary

3、安装内核

安装内核

如果构建成功,将会在源码根目录的上级目录中生成几个.deb二进制包文件。

cd <内核源码的目录>/../
sudo dpkg -i linux-headers-<内核版本>*_all.deb
sudo dpkg -i linux-headers-<内核版本>-*.deb
sudo dpkg -i linux-image-unsigned-<内核版本>-*.deb
sudo dpkg -i linux-modules-<内核版本>-*.deb
sudo reboot

如我的内核源码版本是6.8.0-51-generic,生成的文件如下:

linux-buildinfo-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-cloud-tools-6.8.0-51_6.8.0-51.52_amd64.deb
linux-cloud-tools-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-cloud-tools-common_6.8.0-51.52_all.deb
linux-doc_6.8.0-51.52_all.deb
linux-headers-6.8.0-51_6.8.0-51.52_all.deb
linux-headers-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-image-unsigned-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-libc-dev_6.8.0-51.52_amd64.deb
linux-lib-rust-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-modules-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-modules-extra-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-modules-ipu6-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-modules-iwlwifi-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-modules-usbio-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-source-6.8.0_6.8.0-51.52_all.deb
linux-tools-6.8.0-51_6.8.0-51.52_amd64.deb
linux-tools-6.8.0-51-generic_6.8.0-51.52_amd64.deb
linux-tools-common_6.8.0-51.52_all.deb
linux-tools-host_6.8.0-51.52_all.deb

检查内核

安装完成后使用以下命令观察内核版本号和构建日期是否发生变化

uname -a

编译Ubuntu 24.04 LTS 内核(BuildYourOwnKernel)的更多相关文章

  1. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  2. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  3. 【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码

    原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码       ...

  4. 基于Ubuntu 14.04 LTS编译Android4.4.2源码

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS ...

  5. 基于Ubuntu 14.04 LTS编译Android4.4.2源代码

    转载自:雨水:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码     ...

  6. Ubuntu 14.04 LTS 64bit 编译SDL的问题

    http://blog.csdn.net/jhting/article/details/38523945 Ubuntu 14.04 LTS 64bit 编译SDL的问题 分类: C/C++2014-0 ...

  7. 在Ubuntu 16.04 LTS上用g++和gcc编译C/C++代码错误提示“.../x86_64-linux-gnu/crt1.o: ELF section name out of range”

    (有一些图片我是直接从个人的CSDN博客上复制来的) 最近一个多月来,我曾经多次尝试在Ubuntu 16.04 LTS上使用g++和gcc(这俩好像合起来叫MinGW?)来编译C/C++代码,但是在解 ...

  8. [Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

    本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...

  9. 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1

    目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...

  10. Ubuntu 14.04 LTS 安装Docker

    Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...

随机推荐

  1. 旧电脑配置玩魔兽世界带不动?云电脑轻松解决,用ToDesk!

    最近魔兽世界重新回归,不少游戏老玩家都摩拳擦掌准备上线回忆青春,但发现手里的旧电脑早已带不动游戏,硬要打开很容易出现画面卡顿.延迟严重,甚至频繁掉线,这些问题都让游戏乐趣大打折扣.但要为此再重新买一台 ...

  2. docker网络管理--项目三

    一.Docker网络概念 1.网络驱动 Docker 网络子系统使用可插拔的驱动,默认情况下有多个驱动程序,并提供核心联网功能. bridge:桥接网络,这是默认的网络驱动程序(不指定驱动程序创建的容 ...

  3. 好未来:多云环境下基于 JuiceFS 建设低运维模型仓库

    好未来,前身学而思,于 2010 年在美国纽约证券交易所上市.公司积极将大模型研究应用于教学产品中,近期推出了数学领域的千亿级大模型. 在大模型的背景下,存储系统需处理巨量数据和复杂文件操作,要求支持 ...

  4. VMware安装教程---------------------以及Windows,Linux,Apple MAC OS系统安装

    1.什么是VMware虚拟机 VMware虚拟机是一个虚拟机软件,它可以在一台机器上同时运行多个系统,这些系统包括Windows,Linux,Apple os等. 2.虚拟机有什么用 虚拟机的用处很多 ...

  5. python列表自动扩容机制

    问题引入:在对比列表与元组的优缺点时,百度答案为:列表是可变的,可以随时进行增加.修改.删除操作,可以进行动态扩容,动态扩容是以牺牲性能损耗的为代价的,于是我搜索了一下列表的动态扩容 当在创建一个列表 ...

  6. 6、oracle网络(监听)

    oracle包含 1.软件 2.数据库 3.实例 4.监听(listener) 监听的特点 可以独立启动,就是说,数据库没有启动,监听可以启动:数据库启动,监听也可以不启动:数据库启动,监听也启动 监 ...

  7. highcharts中的环形图

    环形图如下效果: 代码: that.options = { chart: { type: 'pie', backgroundColor: 'transparent', color: '#fff', / ...

  8. Git commit注释规范

    指定规范的提交格式, 方便后期版本的回滚与记录的查询 格式规范: <type>(<scope>): <subject> // 空一行 <body> 范例 ...

  9. JPEG格式研究——(1)压缩原理及流程

    之前一直很好奇图片和视频是如何压缩的,由于视频格式会更复杂,所以先从JPEG下手 因为网上资料太难找太分散,有些又看不太懂,所以根据自己的理解整理了一下 JPEG简介 JPEG(Joint Photo ...

  10. Redis中常见的延迟问题

    使用复杂度高的命令 Redis提供了慢日志命令的统计功能 首先设置Redis的慢日志阈值,只有超过阈值的命令才会被记录,这里的单位是微妙,例如设置慢日志的阈值为5毫秒,同时设置只保留最近1000条慢日 ...