1. 程式人生 > >linux_4.19內核編譯總結

linux_4.19內核編譯總結

方案 遇到 -s lin 執行 長時間 lib 進入 文檔

1、內核功能:內存、外設管理
2、實驗步驟:
安裝相應的軟件包
拷貝源碼包到/usr/src並解壓(也可以放到其他目錄)
進入源碼所在目錄
make menuconfig
make
make modules_install
make install
如果都成功,則可得到內核鏡像

3、.deb結尾的文件都是離線安裝包

4、make官方手冊:http://www.gnu.org/software/manual/
makefile官方手冊:http://www.gnu.org/software/make/manual/make.html#Rule-Example
5、grub相關文檔:http://www.gnu.org/software/grub/grub-documentation.html

安裝總結:
使用make menuconfig時需要有ncurses庫,因此執行sudo make menuconfig之前應該先執行sudo apt-get install libnurses5-dev;安裝完之後再次執行sudo make menuconfig發現:flex:not found.因此我們還需要sudo apt-get install flex;之後再執行sudo make menuconfig;ojerk!

使用sudo make正式編譯內核時需要事先安裝libssl-dev,即sudo apt-get install libssl-dev.否則會提示:
致命錯誤:openssl/opensslv.h 沒有那個文件或目錄。安裝之後在執行sudo make 就ok了。我們知道,編譯內黑需要花費很長時間,因此我們可以開四個線程去編譯它:sudo make -j 4,這樣可以快一點。

遇到問題:gcc:internal compiler error時,考慮虛擬機內存分配是否小了,或者gcc版本是否過低。我的解決方案是將虛擬機內存從2048提到了2560.完美解決。

遇到問題:終端顯示屏太小,至少需要19*80.此時只要調整一下終端大小就行。調大小時,虛擬機的拉伸模式應該設置為保持縱橫比。

遇到問題:裝虛擬機後如果沒有安裝gcc,那麽直接在線安裝:sudo apt-get install gcc,然而這個時候你可能會遇到:無法獲得/var/apt/dpkg/lock。這個時候你直接sudo rm /var/apt/dpkg/lock。然後再根據他的提示修改一些東西即可。

執行完sudo make modules_install 後,接著執行sudo make install,這一步應該會執行10分中左右,因為他會幫你把啟動引導放到/boot目錄下,還會為你更新grub.cfg。如果你不更改grub.cfg的啟動延時,那麽reboot系統後將進入新的linux內核。

linux_4.19內核編譯總結