编译Ubuntu 24.04 LTS 内核(BuildYourOwnKernel)
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)的更多相关文章
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
分类: Android 系统开发(5) 作者同类文章X 版权声明:本文为博主原创文章 ...
- Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程
Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程 在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...
- 【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码
原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码 ...
- 基于Ubuntu 14.04 LTS编译Android4.4.2源码
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS ...
- 基于Ubuntu 14.04 LTS编译Android4.4.2源代码
转载自:雨水:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码 ...
- Ubuntu 14.04 LTS 64bit 编译SDL的问题
http://blog.csdn.net/jhting/article/details/38523945 Ubuntu 14.04 LTS 64bit 编译SDL的问题 分类: C/C++2014-0 ...
- 在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++代码,但是在解 ...
- [Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程
本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...
- 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1
目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...
- Ubuntu 14.04 LTS 安装Docker
Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...
随机推荐
- C语言实战项目——学生试卷分数统计
1.题目要求 作为教师,考试以后对试卷进行分析和研究是必须做的一项工作,假定某学校要求老师在考试之后填写的一个表格,并要求教师根据考试分数分布情况画出直方图.下面就来解决这个实际问题. 2.题目分析 ...
- Python 爬取广州商学院新闻----测试版
Python 爬取广州商学院新闻----测试版 程序简述:抓取广州商学院新闻栏目的全部新闻内容 开发环境:PyCharm Community Edition 爬取连接:http://news.gzcc ...
- manim边做边学--通用三维坐标系
ThreeDAxes是Manim中用于创建三维坐标系的类. 在数学.物理和工程等领域,三维坐标系的绘制是非常重要的. ThreeDAxes使得用户能够在动画中直观地展示三维空间中的对象和关系,从而提高 ...
- 2.16 Linux挂载详解
前面讲过,Linux 系统中"一切皆文件",所有文件都放置在以根目录为树根的树形目录结构中.在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构) ...
- Python安装技术类库模块
方法1: 方法2: 用如下命令安装即可(注意都得是英文字符): # 简单粗暴,但是可能安装到了不同的环境 pip install some-package # 复杂但是精准还快速 C:\Python3 ...
- .NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
前言 领导要求做一个小项目,要求独立运行,用以最少的依赖,此时不想集成到主项目中,但是又想用HzyAdmin中如此好用的自动注入,还有操作简单的仓储模式,话不多说,直接开干. HzyAdmin 是一个 ...
- aiflow部署文档
aiflow部署文档 一.简介 本文档用来进行aiflow项目的完全部署 二.安装环境 2.1 安装系统镜像版本 使用Centos镜像文件:CentOS-7-x86_64-DVD-1908.iso c ...
- Ubuntu 22.04 LTS 离线安装 Harbor v2.11 (附https认证,Trivy镜像扫描)
Harbor 介绍 Harbor是一个开源的企业级Docker Registry服务,它提供了一个安全.可信赖的仓库来存储和管理Docker镜像.Harbor翻译为中文名称为"庇护:居住;& ...
- OSG开发笔记(三十二):深入理解相机视口、制作支持与主视图同步变换旋转的相机HUD
前言 深入理解相机视口,摸索相机视口旋转功能,背景透明或者不透明. 本篇,实现了一个左下角旋转HUD且背景透明的相机视口. Demo HUD相机的坐标 ...
- 拯救php性能的神器webman-打包二进制
看了看webman的官方文档,发现居然还能打包为二进制,这样太厉害了吧! 先执行这个 composer require webman/console ^1.2.24 安装这个console的包,然后 ...