首页 > 系统相关 >编译Ubuntu 24.04 LTS 内核(BuildYourOwnKernel)

编译Ubuntu 24.04 LTS 内核(BuildYourOwnKernel)

时间:2025-01-07 10:23:23浏览次数:7  
标签:LTS 24.04 51 BuildYourOwnKernel 内核 linux deb 51.52 6.8

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

标签:LTS,24.04,51,BuildYourOwnKernel,内核,linux,deb,51.52,6.8
From: https://www.cnblogs.com/pypyn/p/18657030

相关文章

  • SaltStack快速入门
    Saltstack快速入门saltstack介绍Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯主要功能:远程执行配置管理,参考官方文档:http://docs.saltstack.cn/安装说明:https://docs.saltproject.io/salt/instal......
  • AutoGeaconC2:一款一键读取Profile自动化生成geacon实现跨平台上线CobaltStrike
    CobaltStrike是渗透测试中常用的一款基于C2框架的攻击工具。生成Windowspayload也很方便。但在CobaltStrike中如何上线Linux设备呢❓AutoGeaconC2是一款一键读取Profile自动化生成geacon实现跨平台上线CobaltStrike。目前仅支持Linuxamd64上线。使用首先下载releases中的Aut......
  • 使用 SecureCRT6.5连接新安装的ubuntu24.04时提示No compatible hostkey
    使用SecureCRT6.5连接新安装的ubuntu24.04时提示NocompatiblehostkeyKeyexchangefailed.Nocompatiblekeyexchangemethod.Theserversupportsthesemethods:sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp25......
  • DefaultSqlSession 和 SqlSessionTemplate 的线程安全问题
    总结自:DefaultSqlSession和SqlSessionTemplate的线程安全问题、MyBatis与Spring整合时是如何解决SqlSession线程不安全的问题的DefaultSqlSession原因1:Connection本身是线程不安全的。如果多个线程获取到同一个Connection进行数据库操作,一个线程正在更新数据,而另......
  • JupyterLab notebook环境在Ubuntu24.04下的安装和Windows 10下vscode远程使用jupyter
    JupyterLabnotebook环境在Ubuntu24.04下的安装,并在Windows10下通过vscode远程使用jupyter安装jupyterLab首先,创建python环境(可选)python-mvenvpy312激活环境sourcepy312/bin/activate安装jupyterlabpipinstalljupyterlab启动服务jupyter-lab--ip0.0.0.0......
  • Ubuntu24.04安装Librenms
    1安装所需的软件包aptinstallaclcurlfpinggitgraphvizimagemagickmariadb-clientmariadb-servermtr-tinynginx-fullnmapphp-cliphp-curlphp-fpmphp-gdphp-gmpphp-jsonphp-mbstringphp-mysqlphp-snmpphp-xmlphp-ziprrdtoolsnmpsnmpdunzippython3-com......
  • Ubuntu 24.04 编译出现 error: ‘uint8_t’ is not a member of ‘std’; did you mea
    1.情况说明安装ubuntu24.04编译某C++开源项目时遇到上述编译报错,uint8_t不是命名空间std下的成员即std::uint8_t未定义2.原因具体原因我也不是很清楚,不过在网上搜到的一篇日本网友的文章:Ubuntu24.04にしたら、C++コンパイルでエラー(‘uint8_t’wasnotdeclaredinthi......
  • Android13编译报错build/make/core/base_rules.mk:304: error: vendor/ma/prebuilts/t
    前言全局说明一、说明1.1环境:Android13二、报错build/make/core/base_rules.mk:304:error:vendor/ma/prebuilts/third_party/atlas/iadfs/qa/qtu:unhandledinstallpath"TARGET_OUT_DATA_EXECUTABLESforqtxtrics".三、解决方法3.1增加LOCAL_MODULE_PATH......
  • 9.4-14域横向-CobaltStrike&SDN&RDP
    域横向RDP-mimikatz1、RDP明文密码链接2、RDP密文hash链接域横向SPN服务-探针,请求,导出,破解,重写SPN扫描当计算机加入域时,主SPN会自动添加到域的计算机账号的ServicePrincipalName属性中。在安装新的服务后,SPN也会被记录在计算机账号的相应属性中。SPN扫描也称为“扫描Kerber......
  • 【STS测试】failure of android.security.sts.KernelLtsTest#testRequiredKernelLts_W
    总结:获取以下信息:1.安全补丁版本spl:2024-12-052.kernel版本5.15.1483.确认spl+6个月是否在【kernel-lifetimes.xml】中对应版本的生命周期之内,如果不在,则报出异常逻辑:确保安全补丁版本+6个月之后,仍旧在kernel的生命周期之内。也就是kernel版本该升级就升级吧。----------......