虛擬機器下Centos7編譯Linux核心

2021-10-04 03:24:25 字數 2123 閱讀 5361

準備好vmware workstation pro 14和centos-7,首先在虛擬機器中安裝centos7,配置好靜態網路,通過ping測試,保證網路,後面要更新操作。我安裝的是桌面版,一開始是選擇的最小安裝,後面使用的時候有問題,建議安裝桌面版本,在輸入命令列的時候可以貼上複製比較方便。記得在安裝的時候,選擇手動分割槽,將/boot分割槽大小保證在2g以上,不然後面編譯核心的時候可能有問題。這是在虛擬機器上做的實驗,可以把cpu設定成4核的,記憶體設定成2g,這樣可以快速的編譯。

具體安裝可參考這篇部落格

配置好虛擬機器,檢視網路設定

搭建編譯環境

配置編譯引數

核心的編譯引數非常多,配置的方式也有很多種,為了保持對當前系統的相容,先把已有核心的編譯配置copy過來,在已有核心編譯引數的基礎上進行配置。

進入原始碼根目錄:

已有核心的編譯配置copy過來,已有核心基礎上進行配置,.config中有的就不再配置了,只列出這裡面沒有的讓使用者選擇。配置完成,在原始碼根目錄下會生成乙個.config檔案,這就是這次編譯的引數配置,之前copy過來的.config檔案變成了.config.old。

或者使用make menuconfig配置編譯環境,執行 make menuconfig,開始選擇配置項

執行上一步 make menuconfig 之後,直接儲存退出就可以了,它會使用 centos 內部的配置檔案作為這次編譯的配置檔案。

5.編譯

配置項選完,config 配置檔案生成之後,就可以開始編譯了,編譯需要 elfutils-libelf-devel 的支援,先執行下面的命令安裝一下:

執行編譯:

其中,「make all」是編譯所有選擇的模組,「-jn」是可選引數,表示允許n個任務同時進行,這樣比較快,這個過程通常比較慢長,跟選擇編譯的專案、硬體效能有關,最終耗時1小時40分鐘。(15.12-16.54)

安裝核心

編譯只是把原始碼變成可執行檔案,但目前為止,這些可執行檔案並沒有被放置到相應的目錄下,新核心也沒有註冊給引導程式。上面配置項有的編譯進核心,有的編譯成模組,所以安裝也分為兩個部分,模組安裝和核心安裝。

執行make modules_install 開始安裝模組:

執行執行 make install 開始安裝核心:

這個命令是將該核心註冊給引導程式,當開機啟動的時候,引導程式會呼叫註冊給它的核心來啟動系統,如果有多個核心,使用者可以選擇從哪個核心啟動。 執行完成之後,就可以在 /boot/ 目錄下看到新編譯的核心了。

7. 更新引導

使用 grub2-mkconfig 來更新引導檔案,下面的命令會根據 /boot/ 目錄下的核心檔案自動更新 grub 檔案

執行完後,下次啟動系統就可選擇我們編譯的核心了。如果想修改預設的啟動核心,可以通過修改 /etc/default/grub 檔案來實現。重啟系統,如果看到兩個核心,說明已經成功了,你可以自由的選擇哪個核心。

VM虛擬機器CentoS 7下安裝Redis教程

最近學習redis,但沒有linux環境,安裝了虛擬機器來實現,以及我在安裝過程中遇到的一些錯誤處理的情況 1.因為redis是c實現的,所以安裝redis之前需要先安裝gcc環境 yum install gcc c 我之前也是執行這個命令,但後來安裝時還是會出錯,為了以防萬一 yum instal...

VMware下Centos7虛擬機器連線網路設定

1.在centos7中開啟終端,輸入 cd etc sysconfig network scripts 2.輸入 vi ifcfg ens33 開啟網路配置檔案ifcfg ens33,如下圖所示 type ethernet 網絡卡型別 為乙太網 proxy method none 方式 關閉狀態 b...

虛擬機器下centOS7配置靜態ip

環境 vmware 15 centos7 1 設定虛擬機器網路連線方式。2 編輯 虛擬網路編輯器 選擇vmnet8 更改設定 3 1 設定子網ip 若你想設定固定ip為192.168.2.2 255,比如192.168.2.2,則子網ip為192.168.2.0 若你想設定固定ip為192.168....