基於發行版本核心打造自己的核心

2022-06-15 09:30:13 字數 3613 閱讀 7858

linux當中最核心的部分就是核心,這個也是最基礎,最可能被忽視的一部分,隨便找乙個剛入職的運維,學習個兩三天,網上找些資料也能能自己安裝編譯核心了,很多運維的初期培訓就是做的這些學習,為什麼在網上已經有這麼多文章的情況下,還要寫一篇關於核心的文章,這是因為,我想講的是如何去選擇核心

一般來說,找核心的時候都會去下面這個**進行選擇

很多人在問我的時候,都會問,我該怎麼去選擇哪個版本的核心,一般來說我的回答是這樣的

選取最後乙個長期支援版本,或者最後乙個穩定的版本

一般來說,選擇這兩個版本基本不會出太大的問題,並且即使有問題,後面做小版本的公升級也不是很難的事情,當然這是基於你對自定義核心很有興趣,或者需要自己去裁剪,增加一些東西的時候,用我上面說的兩個版本都沒有問題,下面是乙個其他的選擇

最近把linus的just for fun看完了,也基本上了解了linux大概的發展歷程,linux走向成功也有一定的原因是圍繞在其周圍的一些商業公司,紅帽是其中最成功的乙個公司,當然還有其他各種髮型版本,開源版本和商業版本的最大區別在於服務上面,商業公司能夠提供專業的服務,開源並不意味著免費,其中很大一部分是學習成本,然後其次就是包裝和推廣了,最終才是乙個完整的產品

開源有開源的規矩,當然這個規矩在中國不一定行得通,大部分公司不會將開源修改的東西回饋回去,而能夠回饋回去的,基本都是技術非常領先的公司,這些公司核心在於自己的技術,以及對產品的把控,所以也就不介意源**的開源了,並且樂意去引領行業的發展

當然這個對於紅帽這樣級別的公司,**當然是會開源的,而其發行版本的核心,其實都是經過了一些修改的,並且這些修改也都是會開源出來的,只是大部分時候我們並沒有去關注它,這就是本篇的重點

centos版本

這裡我們是要選擇的是原始碼包,因為可能需要自己加些核心模組進去

安裝原始碼包

rpm -ivh kernel-3.10.0-514.el7.src.rpm
rpm2cpio kernel-3.10.0-514.el7.src.rpm |cpio -div
檢查檔案

[root@lab8106 ~]# ll  /root/rpmbuild/sources/

total 82804

-rwxr-xr-x 1 root root 3118 oct 19 23:20 check-kabi

-rw-r--r-- 1 root root 150 oct 19 23:20 cpupower.config

-rw-r--r-- 1 root root 294 oct 19 23:20 cpupower.service

-rw-r--r-- 1 root root 0 oct 19 23:20 extra_certificates

-rw-r--r-- 1 root root 121660 oct 19 23:20 kernel-3.10.0-ppc64.config

-rw-r--r-- 1 root root 121951 oct 19 23:20 kernel-3.10.0-ppc64-debug.config

-rw-r--r-- 1 root root 121229 oct 19 23:20 kernel-3.10.0-ppc64le.config

-rw-r--r-- 1 root root 121531 oct 19 23:20 kernel-3.10.0-ppc64le-debug.config

-rw-r--r-- 1 root root 58278 oct 19 23:20 kernel-3.10.0-s390x.config

-rw-r--r-- 1 root root 57895 oct 19 23:20 kernel-3.10.0-s390x-debug.config

-rw-r--r-- 1 root root 30834 oct 19 23:20 kernel-3.10.0-s390x-kdump.config

-rw-r--r-- 1 root root 137690 oct 19 23:20 kernel-3.10.0-x86_64.config

-rw-r--r-- 1 root root 137991 oct 19 23:20 kernel-3.10.0-x86_64-debug.config

-rw-rw-r-- 1 root root 8582 oct 19 22:19 kernel-abi-whitelists-514.tar.bz2

-rw-rw-r-- 1 root root 83660860 oct 19 22:19 linux-3.10.0-514.el7.tar.xz

-rw-r--r-- 1 root root 0 oct 19 23:20 linux-kernel-test.patch

-rw-r--r-- 1 root root 1757 oct 19 23:20 makefile.common

-rw-r--r-- 1 root root 34277 oct 19 23:20 module.kabi_ppc64

-rw-r--r-- 1 root root 34277 oct 19 23:20 module.kabi_ppc64le

-rw-r--r-- 1 root root 31748 oct 19 23:20 module.kabi_s390x

-rw-r--r-- 1 root root 36881 oct 19 23:20 module.kabi_x86_64

-rw-r--r-- 1 root root 1198 oct 19 23:20 rheldup3.x509

-rw-r--r-- 1 root root 1176 oct 19 23:20 rhelkpatch1.x509

-rw-r--r-- 1 root root 977 oct 19 23:20 securebootca.cer

-rw-r--r-- 1 root root 899 oct 19 23:20 secureboot.cer

-rwxr-xr-x 1 root root 507 oct 19 23:20 sign-modules

-rw-r--r-- 1 root root 361 oct 19 23:20 x509.genkey

如果需要修改預設的核心選項,就修改這個檔案

vim /root/rpmbuild/sources/kernel-3.10.0-x86_64.config
然後開始編譯核心rpm包

rpmbuild -ba /root/rpmbuild/specs/kernel.spec
然後核心包就生成了,在下面目錄當中取rpm包即可

/root/rpmbuild/rpms/x86_64/

Linux的核心和發行版本

核心版本 kernel 核心是系統的心臟,是執行程式和管理磁碟和印表機等硬體的核心程式,它提供了乙個在裸裝置與應用程式間的抽象層。linux核心又分為穩定版和開發版。兩種版本相互聯絡,相互迴圈。穩定版 具有工業級強度,可以廣泛的應用和部署,新的穩定版相對於較舊的只是修正一些bug或加入一些新的驅動程...

如何檢視Ubuntu的核心版本和發行版本號?

有時候,我們在公升級核心版本或者是從乙個版本公升級到新的版本之後,想要檢視一下自己的ubuntu是否公升級成功。可是有沒有一種比較快捷的方法比如說在終端裡面檢視呢?答案是肯定的。為了檢視 ubuntu 的版本號,可以採用以下兩種方法之一。方法一 在終端中執行下列指令 cat etc issue 可以...

如何檢視ubuntu的核心版本和發行版本號?

有時候,我們在公升級核心版本或者是從乙個版本公升級到新的版本之後,想要檢視一下自己的ubuntu是否公升級成功。可是有沒有一種比較快捷的方法比如說在終端裡面檢視呢?答案是肯定的。為了檢視 ubuntu 的版本號,可以採用以下兩種方法之一。方法一 在終端中執行下列指令 cat etc issue 可以...