debian9升級4.9.0核心到4.19.2核心過程(9.4到9.6)
更新之前,
##uname -r
4.9.0-8-amd64
第一步,下載核心,
##firefox www.kernel.org
開啟瀏覽器,進入到www.kernel.org,下載你需要的,我這裡是要更新最新的核心版本,所以直接點選黃色那個框“Lastest Stable Kernel 4.19.2”,然後儲存到/tmp目錄下,
注:longterm 是提供長期支援的版本,stable是穩定版本,不是beta測試版本,stable版本不一定是提供長期提供支援的版本,但是longterm一定是stable穩定版本。
第二步,解壓核心,
## xz -d linux- linux-4.19.2.tar.xz ## tar -xvf linux-4.19.2.tar
事實上,我下載下來之後,我debian9系統要我提取,提取的結果就是上面兩步解壓過程的結果,上面命令我測試過,是可以的。
解壓命令參考:https://www.jb51.net/article/112859.htm
第三步,複製當前系統的核心配置檔案到新核心檔案下,
## cd /tmp/linux-4.19.2/
## cp /boot/config-4.9.0-8-amd64 .config
我電腦上還有一個4.9.0-7,我選擇4.9.0-8這個,
第四步,編譯(這步我個人覺得是可以跳過的,我懶得去測試,編譯時間太久了,誰測試了留言告訴我結果),
## make oldconfig
結果提示,
/bin/sh 1 : bison: not found
scripts/Makefile.lib:196: recipe for target 'scripts/kconfig/zconf.tab.c' failed
...
那麼安裝bison就好,
## sudo aptitude install bison
再編譯,
## make oldconfig
結果又發現flex沒有發現,
/bin/sh 1 : flex: not found
...
...
繼續安裝,
## sudo aptitude install flex
再編譯
## make oldconfig
編譯錯誤參考:https://blog.csdn.net/zxhio/article/details/80312316
結果,我這邊是不動了,讓我按了幾十個回車,才出現
#
# configuration written to .config
#
原因是,
通過命令介面配置核心,但是會自動載入既有的.config配置檔案,並且只有在遇到先前沒有設定過的選項時,才會要求你手動設定。然而,make config卻會要求你手動設定所有的選項,即使你之前曾設定過。開發者通常會通過此方法將他們的配置更新為官方配置選項所做的變更,以避免重新設定整個核心的配置。
原因參考:https://blog.csdn.net/david_xtd/article/details/7609529
第五步,配置核心,
## make menuconfig
沒有修改的就儲存,退出就好。
第六步,正式編譯核心,
## make -j 4
makefile : 958 : *** "cannot gerater ORC metadata for CONFIG_UNWINDER_ORC=y,please install libelf-dev,libelf-devel or elfulils-libels-devel"。stop
對此,安裝libelf-dev,因為我這裡只能安裝這個,其他兩個都找不到。
此處安裝參考:https://blog.csdn.net/zxhio/article/details/80312316,因為(差異處用紅色字型)
我參考的文章http://www.docin.com/p-282412986.html中,當然了,這篇文章比較老,這個地方沒有make -j 4,而是 ##fakeroot make-kpkg -initrd -appedn-to-version=kerry -version =1.0 kernel-image,說是會生成一個deb檔案,然後使用##deb -i ***.deb安裝新核心。這個地方,我本來是要測試的,結果發現重啟之後,/tmp下的東西沒有了,所以沒有測試過行不行,有朋友願意測試的,可以的話,請留言告訴我結果。
## sudo aptitude install libelf-dev
繼續make,發現“bc”找不到,繼續安裝,
## sudo aptitude install bc
再make,然後進入等待模式...
我這邊等待了差不多2個小時,
第七步,安裝核心模組,
## sudo make modules_install
第八步,安裝核心,
## sudo make install
第九步,更新grub,
## update-grub
第十步,重啟,檢查是否更換,
## uname -r
4.19.2
全文安裝參考:http://www.docin.com/p-282412986.html