天天看點

debian9更新4.9.0核心到4.19.2核心過程

更新之前,

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

結果,我這邊是不動了,讓我按了幾十個回車,才出現

#
# configuration written to .config
#      

原因是,

通過指令界面配置核心,但是會自動載入既有的.config配置檔案,并且隻有在遇到先前沒有設定過的選項時,才會要求你手動設定。然而,make config卻會要求你手動設定所有的選項,即使你之前曾設定過。開發者通常會通過此方法将他們的配置更新為官方配置選項所做的變更,以避免重新設定整個核心的配置。

第五步,配置核心,

## 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,因為我這裡隻能安裝這個,其他兩個都找不到。

因為(差異處用紅色字型)

我參考的文章​​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