搜尋
首頁系統教程LinuxCentOS7 編譯安裝最新的Linux Kernel 6.0 rc3
CentOS7 編譯安裝最新的Linux Kernel 6.0 rc3Feb 13, 2024 pm 08:20 PM
linuxlinux教程linux系統linux指令shell腳本嵌入式linuxlinux入門linux學習

哪个男孩不想手动编译一份自己的内核呢?

CentOS7 编译安装最新的Linux Kernel 6.0 rc3

安装编译环境

CentOS7安装必要的包

yum groupinstall "Development Tools" -y &&
yum install openssl-devel -y &&
yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto -y &&
yum install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel -y &&
yum install ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel -y

CentOS7更新gcc版本

必须升级gcc版本,centOS7自带的gcc版本是4.8.5,编译内核会出错

 sudo yum install centos-release-scl -y &&
 sudo yum install devtoolset-8-gcc* -y &&
 scl enable devtoolset-8 bash

永久替换旧的gcc( 可选操作 )

mv /usr/bin/gcc /usr/bin/gcc-4.8.5 &&
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc &&
mv /usr/bin/g++ /usr/bin/g++-4.8.5 &&
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

下载最新的Linux Kernel6.0 rc3

从kernel.org下载6.0 rc3 的压缩包有203MB,由于国内网络的特殊情况下载会非常的慢,请自备加速手段或者耐心。

 wget https://git.kernel.org/torvalds/t/linux-6.0-rc3.tar.gz
tar zxvf linux-6.0-rc3.tar.gz 
cd linux-6.0-rc3

配置config

以下配置config文件的操作二选一,如果拿不准就选择第一个,有图形配置界面的。编辑config文件可以选定编译过中需要的内核模块或者组件。不懂不知道就全程默认。

通过menuconfig

make menuconfig

linux-6.0-rc3目录下敲这个命令,会进去一个配置界面,如果看不懂就保持默认配置,就按右方向键选定 save 然后回车,根据提示保存.config文件,
CentOS7 编译安装最新的Linux Kernel 6.0 rc3

cat  .config //查看有没有正确保存

根据现有内核拷贝生成config

也可通过现有内核参数去生成新的配置参数文件.config 。要注意 /boot/config-3.10.0-957.el7.x86_64,就是/boot/目录下面这个相似的目录。或许不同CentOS7的路径名不同。要根据实际机器的目录改动。

cp /boot/config-3.10.0-957.el7.x86_64 ./.config 
make oldconfig //操作这里要一路回车
cat  .config

执行编译

我要再提醒你一次,金箍戴上以后,你再也不是一个凡人,执行以下命令,你将是一个编译Linux内核的人。-j12参数是因为我给虚拟机分配了12核,让这12核别闲着。根据自己机器的情况改成 -j6、 -j8甚至 -j100都行。自行测试胡改的后果。编译过程费时费力,看编译机器的性能。假如是1C1G的云服务器执行编译,可以先去睡一觉。

make -j12 all

上面命令跑完后,内核模块如果没有特殊需求,可以把内核模块的debug信息给去掉,节约点硬盘空间。

make INSTALL_MOD_STRIP=1 modules_install > /dev/null &&
make modules_install &&
make install 

设置默认新的kernel启动

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg &&
sudo grub2-set-default 0 &&
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

编译成rpm包

编译出单独的通用RPM包可以在其他的CentOS 7机器上直接安装,免去了以上繁琐的手动编译的过程。
在当前目录linux-6.0-rc3下执行 :

yum -y install rpm-build && make rpm-pkg -j32

如果需要压缩体积,可以将make rpm-pkg -j32 换成 make INSTALL_MOD_STRIP=1 rpm-pkg 。

这条命令又会执行一会。执行完不出意外,会在系统的~/rpmbuild/RPMS/x86_64/ 目录下出现三个rpm安装包。

-rw-r--r--. 1 root root  69354600 8月  31 19:46 kernel-6.0.0_rc3-1.x86_64.rpm
-rw-r--r--. 1 root root 179586568 8月  31 19:48 kernel-devel-6.0.0_rc3-1.x86_64.rpm
-rw-r--r--. 1 root root   1545516 8月  31 19:47 kernel-headers-6.0.0_rc3-1.x86_64.rpm

在其他机器CentOS7上安装(yum localinstall kern* -y)这三个rpm包就行可以更新内核了。三个包装完还要更新一下启动项。

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg &&
sudo grub2-set-default 0 &&
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

这是我打包好的三个rpm包,有兴趣的朋友可以下载安装试试。不做任何可靠保证,请避免在生产环境上直接使用。
CentOS7 编译安装最新的Linux Kernel 6.0 rc3

以上是CentOS7 編譯安裝最新的Linux Kernel 6.0 rc3的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:良许Linux教程网。如有侵權,請聯絡admin@php.cn刪除
什么是linux设备节点什么是linux设备节点Apr 18, 2022 pm 08:10 PM

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

Linux中open和fopen的区别有哪些Linux中open和fopen的区别有哪些Apr 29, 2022 pm 06:57 PM

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

linux中什么叫端口映射linux中什么叫端口映射May 09, 2022 pm 01:49 PM

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

linux怎么判断pcre是否安装linux怎么判断pcre是否安装May 09, 2022 pm 04:14 PM

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux中eof是什么linux中eof是什么May 07, 2022 pm 04:26 PM

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

linux怎么查询mac地址linux怎么查询mac地址Apr 24, 2022 pm 08:01 PM

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

手机远程linux工具有哪些手机远程linux工具有哪些Apr 29, 2022 pm 05:30 PM

手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

linux中lsb是什么意思linux中lsb是什么意思May 07, 2022 pm 05:08 PM

linux中,lsb是linux标准基础的意思,是“Linux Standards Base”的缩写,是linux标准化领域中的标准;lsb制定了应用程序与运行环境之间的二进制接口,保证了linux发行版与linux应用程序之间的良好结合。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。