因為跑核心程式需要特定的核心,所以需要特定的核心版本,整理一下網路的教程~
1.準備
官網:或者用 wget 指令 :wget
1.2解壓
tar xf linux-***.tar.xz
1.3 更新當前系統
sudo yum update
sudo yum upgrade
1.4 安裝必要軟體
sudo yum groupinstall "development tools" # 一口氣安裝編譯時所需的一切工具
sudo yum install ncurses-devel #必須這樣才能讓 make *config 這個指令正確地執行。
sudo yum install qt-devel #如果你沒有 x 環境,這一條可以不用
sudo yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel #建立 centos-6 核心時需要它們
2.1 檢視當前系統核心
uname -r
2.6.32-358.11.1.el6.x86_64
2.2 將當前系統的配置檔案拷貝到當前目錄
cp /boot/config-2.6.32-358.11.1.el6.x86_64 .config
2.3 使用舊核心配置,並自動接受每個新增選項的預設設定
sh -c 'yes "" | make oldconfig'
make oldconfig
會讀取當前目錄下的.config
檔案,在.config
檔案裡沒有找到的選項則提示使用者填寫,然後備份.config
檔案為.config.old
,並生成新的.config
檔案,參考
sudo make -j200 bzimage #生成核心檔案
sudo make -j200 modules #編譯模組
sudo make -j200 modules_install #編譯安裝模組
要嚴格按照這個先後順序進行編譯
-j
後面的數字是執行緒數,用於加快編譯速度,一般的經驗是,有多少g記憶體,就填寫那個數字,例如有8g記憶體,則為-j8
。
編譯過程會比較漫長。大概1-2小時
sudo make install
如果出現了error: modinfo: could not find module ***
,數量少的話,可以忽略。
安裝完成後,需要修改grub引導順序,讓新安裝的核心作為預設核心。
編輯grub.conf
檔案,
sudo vim /etc/grub.conf
centos7 grub在:
/boot/grub2
數一下剛剛新安裝的核心在哪個位置,從0開始,然後設定default為那個數字,一般新安裝的核心在第乙個位置,所以設定default=0
。
重啟後,看一下當前核心版本號,
uname -r
如果失敗,重新開始的話,要清理上次編譯的現場
make mrproper #清理上次編譯的現場
然後轉到第2步,重新開始。
參考自:
centos公升級核心
登入 根據自己的系統版本選擇 uname r 產看核心版本 我這裡是centos6所以選擇這個 rpm uvh 然後是安裝 yum enablerepo elrepo kernel install kernel lt y 安裝核心操作 安裝完修改 vim etc grub.conf 根據安裝好以後的...
CentOS公升級核心到2 6 27 46
想用kvm,而不太想用xen,折騰來折騰去,最後決定公升級核心。先到 linux kernel http www.kernel.org 找乙個穩定的版本,我選了2.6.27.46 安裝的過程很簡單,1,準備 tar jxvf linux 2.6.27.46.tar.bz2 c usr src cd ...
centos6 4 86 64核心公升級
目錄 wget 1.2 解壓tar xf linux 3.11.6.tar.xz 1.3 更新當前系統sudo yum update sudo yum upgrade 1.4 安裝必要軟體sudo yum groupinstall development tools 一口氣安裝編譯時所需的一切工具 ...