Heim System-Tutorial LINUX Kompilieren und installieren Sie den neuesten Linux Kernel 6.0 rc3 unter CentOS7

Kompilieren und installieren Sie den neuesten Linux Kernel 6.0 rc3 unter CentOS7

Feb 13, 2024 pm 08:20 PM
linux linux教程 linux系统 linux命令 shell脚本 eingebettetes Linux Erste Schritte mit Linux Linux-Lernen

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

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

安装编译环境

CentOS7安装必要的包

1

2

3

4

5

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

Nach dem Login kopieren

CentOS7更新gcc版本

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

1

2

3

 sudo yum install centos-release-scl -y &&

 sudo yum install devtoolset-8-gcc* -y &&

 scl enable devtoolset-8 bash

Nach dem Login kopieren

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

1

2

3

4

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++

Nach dem Login kopieren

下载最新的Linux Kernel6.0 rc3

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

1

2

3

 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

Nach dem Login kopieren

配置config

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

通过menuconfig

1

make menuconfig

Nach dem Login kopieren

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

1

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

Nach dem Login kopieren

根据现有内核拷贝生成config

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

1

2

3

cp /boot/config-3.10.0-957.el7.x86_64 ./.config 

make oldconfig //操作这里要一路回车

cat  .config

Nach dem Login kopieren

执行编译

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

1

make -j12 all

Nach dem Login kopieren

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

1

2

3

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

make modules_install &&

make install 

Nach dem Login kopieren

设置默认新的kernel启动

1

2

3

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg &&

sudo grub2-set-default 0 &&

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Nach dem Login kopieren
Nach dem Login kopieren

编译成rpm包

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

1

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

Nach dem Login kopieren

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

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

1

2

3

-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

Nach dem Login kopieren

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

1

2

3

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg &&

sudo grub2-set-default 0 &&

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Nach dem Login kopieren
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonKompilieren und installieren Sie den neuesten Linux Kernel 6.0 rc3 unter CentOS7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was tun, wenn der Port Apache80 belegt ist Was tun, wenn der Port Apache80 belegt ist Apr 13, 2025 pm 01:24 PM

Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

So starten Sie Apache So starten Sie Apache Apr 13, 2025 pm 01:06 PM

Die Schritte zum Starten von Apache sind wie folgt: Installieren Sie Apache (Befehl: sudo apt-Get-Get-Installieren Sie Apache2 oder laden Sie ihn von der offiziellen Website herunter). (Optional, Linux: sudo systemctl

So überwachen Sie die NGINX SSL -Leistung auf Debian So überwachen Sie die NGINX SSL -Leistung auf Debian Apr 12, 2025 pm 10:18 PM

In diesem Artikel wird beschrieben, wie die SSL -Leistung von NGINX -Servern auf Debian -Systemen effektiv überwacht wird. Wir werden Nginxexporter verwenden, um Nginx -Statusdaten in Prometheus zu exportieren und sie dann visuell über Grafana anzeigen. Schritt 1: Konfigurieren von Nginx Erstens müssen wir das Modul stub_status in der nginx -Konfigurationsdatei aktivieren, um die Statusinformationen von Nginx zu erhalten. Fügen Sie das folgende Snippet in Ihre Nginx -Konfigurationsdatei hinzu (normalerweise in /etc/nginx/nginx.conf oder deren inklusive Datei): location/nginx_status {stub_status

So beginnen Sie mit der Überwachung von Oracle So beginnen Sie mit der Überwachung von Oracle Apr 12, 2025 am 06:00 AM

Die Schritte zum Starten eines Oracle -Listeners sind wie folgt: Überprüfen

So richten Sie im Debian -System einen Recyclingbehälter ein So richten Sie im Debian -System einen Recyclingbehälter ein Apr 12, 2025 pm 10:51 PM

In diesem Artikel werden zwei Methoden zur Konfiguration eines Recycling -Bin in einem Debian -System eingeführt: eine grafische Schnittstelle und eine Befehlszeile. Methode 1: Verwenden Sie die grafische Schnittstelle Nautilus, um den Dateimanager zu öffnen: Suchen und starten Sie den Nautilus -Dateimanager (normalerweise als "Datei") im Menü Desktop oder Anwendungen. Suchen Sie den Recycle Bin: Suchen Sie nach dem Ordner recycelner Behälter in der linken Navigationsleiste. Wenn es nicht gefunden wird, klicken Sie auf "Andere Speicherort" oder "Computer", um sie zu suchen. Konfigurieren Sie Recycle Bin-Eigenschaften: Klicken Sie mit der rechten Maustaste auf "Recycle Bin" und wählen Sie "Eigenschaften". Im Eigenschaftenfenster können Sie die folgenden Einstellungen einstellen: Maximale Größe: Begrenzen Sie den im Recycle -Behälter verfügbaren Speicherplatz. Aufbewahrungszeit: Legen Sie die Erhaltung fest, bevor die Datei automatisch im Recyclingbehälter gelöscht wird

So starten Sie den Apache -Server neu So starten Sie den Apache -Server neu Apr 13, 2025 pm 01:12 PM

Befolgen Sie die folgenden Schritte, um den Apache -Server neu zu starten: Linux/MacOS: Führen Sie sudo systemCTL RESTART APache2 aus. Windows: Net Stop Apache2.4 und dann Net Start Apache2.4 ausführen. Führen Sie Netstat -a | Findstr 80, um den Serverstatus zu überprüfen.

So optimieren Sie die Leistung von Debian Readdir So optimieren Sie die Leistung von Debian Readdir Apr 13, 2025 am 08:48 AM

In Debian -Systemen werden Readdir -Systemaufrufe zum Lesen des Verzeichnisinhalts verwendet. Wenn seine Leistung nicht gut ist, probieren Sie die folgende Optimierungsstrategie aus: Vereinfachen Sie die Anzahl der Verzeichnisdateien: Teilen Sie große Verzeichnisse so weit wie möglich in mehrere kleine Verzeichnisse auf und reduzieren Sie die Anzahl der gemäß Readdir -Anrufe verarbeiteten Elemente. Aktivieren Sie den Verzeichnis -Inhalt Caching: Erstellen Sie einen Cache -Mechanismus, aktualisieren Sie den Cache regelmäßig oder bei Änderungen des Verzeichnisinhalts und reduzieren Sie häufige Aufrufe an Readdir. Speicher -Caches (wie Memcached oder Redis) oder lokale Caches (wie Dateien oder Datenbanken) können berücksichtigt werden. Nehmen Sie eine effiziente Datenstruktur an: Wenn Sie das Verzeichnis -Traversal selbst implementieren, wählen Sie effizientere Datenstrukturen (z.

Wie Debian Readdir sich in andere Tools integriert Wie Debian Readdir sich in andere Tools integriert Apr 13, 2025 am 09:42 AM

Die Readdir -Funktion im Debian -System ist ein Systemaufruf, der zum Lesen des Verzeichnisgehalts verwendet wird und häufig in der C -Programmierung verwendet wird. In diesem Artikel wird erläutert, wie Readdir in andere Tools integriert wird, um seine Funktionalität zu verbessern. Methode 1: Kombinieren Sie C -Sprachprogramm und Pipeline zuerst ein C -Programm, um die Funktion der Readdir aufzurufen und das Ergebnis auszugeben:#include#include#includeIntmain (intargc, char*argv []) {Dir*Dir; structDirent*Eintrag; if (argc! = 2) {{

See all articles