1. 程式人生 > >Mac下重新編譯Linux內核

Mac下重新編譯Linux內核

nload usr linux內核 linu fig 內核源碼 clas 過程 耐心

Mac下重新編譯Linux內核

操作系統實驗,要求添加系統調用並重新編譯內核,這裏記錄一下編譯內核的過程

0.下載VirtualBox

博主一直用parallel desk,但因為驅動等問題,在PD上重新編譯後無法出現圖形界面,所以建議采用絕緣性較好的VirtualBox來編譯內核。

1.下載內核

從Linux的官網http://www.kernel.org下載內核代碼即可,註意版本號,建議用比較新的Ubuntu系統的話就采用新的內核。

這裏博主遇到了一個坑,在16.04的Ubuntu下編譯3.11.4內核時遇到error,原因是系統的gcc版本是5,而3.11.4內核不包含gcc5.h,直接報錯。

2.部署內核源碼

# 把內核解壓到/usr/src目錄下
cd /usr/src
tar -xvf ~/Downloads/linux-4.14.1.tar.xz #解壓源碼

3.在內核代碼目錄下創建.config

如果沒有大的改動的話可以通過原來的配置文件來生成新的配置文件

cd linux-4.14.1
cp /boot/config-`uname -r` .config #這裏`uname -r`可以求出當前的內核版本
sudo make oldconfig

之後會出現一些列配置選項,全部回車即可

4. 編譯內核

sudo make
sudo make modules_install
sudo make install

編譯時可能出現缺少openssl,apt install即可,make的時間比較長,中途如果出錯再次編譯前最好先sudo make clean

5. 測試

sudo reboot #重啟
uname -r # 查看內核版本

第一次重啟可能比較慢,耐心等待即可。

Mac下重新編譯Linux內核