天天看點

核心編譯

2、導入Linux

<a href="https://s3.51cto.com/wyfs02/M01/A5/BA/wKioL1nCUeSCUYz-AAArEoOaAn8574.png" target="_blank"></a>

3、為了友善實驗,先清空/app檔案夾,将源碼檔案移動到檔案夾下,解壓

<a href="https://s3.51cto.com/wyfs02/M00/A5/BA/wKioL1nCUeTzKs0tAAAi-K4pfN4183.png" target="_blank"></a>

4、解壓成功,順便看一下大小為875M

<a href="https://s3.51cto.com/wyfs02/M02/07/09/wKiom1nCUhjje585AAAfaZP7hOU869.png" target="_blank"></a>

5、接下來我們需要一個模闆,在/boot下有一個config-xxxxx檔案,這個檔案定義了編譯的時候哪些特性啟用了,啟用上的是什麼模式,都寫在這個檔案裡。我們可以以它為模闆。

<a href="https://s3.51cto.com/wyfs02/M01/A5/BA/wKioL1nCUeSRCpqrAABlQqJKdDw601.png" target="_blank"></a>

将這個檔案拷貝到app/linux-4.13.2檔案夾下,并且命名為.config的隐藏檔案

<a href="https://s3.51cto.com/wyfs02/M02/07/09/wKiom1nCUhiSaqrxAAAUBJ2qhqs032.png" target="_blank"></a>

這樣,等會我們去制作選擇的功能啟用的時候,它會自動的從這個目錄下找這個.config檔案,自動列出來它需要的哪些功能項,我們就可以在它的基礎上進行修改了。

6、裝包組

yum groupinstall "developmenttools" 包組大小寫不敏感,可以都寫成小寫

7、然後進入/app/linux-4.13.2目錄下(一定要進入目錄!)

8、make menuconfig配置核心選項

<a href="https://s3.51cto.com/wyfs02/M00/07/09/wKiom1nCUhnhlfE5AABEWqiD1vc674.png" target="_blank"></a>

顯示缺少ncurses-devel包,那我們就來安裝它yum install ncurses-devel

然後再次make menuconfig

<a href="https://s3.51cto.com/wyfs02/M02/A5/BA/wKioL1nCUeXxtLduAADEDTDMisY695.png" target="_blank"></a>

顯示界面

<a href="https://s3.51cto.com/wyfs02/M01/07/09/wKiom1nCUhmh1ADdAAAy8KtBEGc290.png" target="_blank"></a>

我們可以先改個核心本地名:

進入General setup

<a href="https://s3.51cto.com/wyfs02/M00/A5/BA/wKioL1nCUeWidrBfAABfkVOWPDc217.png" target="_blank"></a>

有一個本地版本,就是本來核心名字隻有4.13.2,我們可以在後面加上自己定制的名字

<a href="https://s3.51cto.com/wyfs02/M02/07/09/wKiom1nCUhnTLk5DAABK9h-jWYw565.png" target="_blank"></a>

我們在裡面輸入内容-1.0-lkylinux。

然後還要再啟用一個NTFS功能:

<a href="https://s3.51cto.com/wyfs02/M02/A5/BA/wKioL1nCUeXzBbvKAAAQ6S7tWFI760.png" target="_blank"></a>

進入File systems

<a href="https://s3.51cto.com/wyfs02/M01/A5/BA/wKioL1nCUeXwpUeHAAAeTgHH9rE347.png" target="_blank"></a>

進入DOS/FAT/NT Filesystems

<a href="https://s3.51cto.com/wyfs02/M00/07/09/wKiom1nCUhqiex_hAAAqX8XRWec883.png" target="_blank"></a>

将這一項改為M

<a href="https://s3.51cto.com/wyfs02/M00/07/09/wKiom1nCUhqz89J2AAAgXyN1_d0577.png" target="_blank"></a>

将最後一行打上星号。

然後Exit退出退出退出

<a href="https://s1.51cto.com/wyfs02/M02/A5/BA/wKioL1nCUeaxYDkoAAAVjfraK2k560.png" target="_blank"></a>

Yes儲存

<a href="https://s1.51cto.com/wyfs02/M00/A5/BA/wKioL1nCUeaxnZB0AAAbcWxED1Q973.png" target="_blank"></a>

然後我們檢視一下.config檔案,發現它确實是剛剛被改過的,我們剛才做的設定就是改了這個檔案。

<a href="https://s1.51cto.com/wyfs02/M01/07/09/wKiom1nCUhqQBvPoAAAV_7IgGk0992.png" target="_blank"></a>

我們檢視一下文檔,可以看到我們剛才改的NTFS确實變成了y。

然後我們要開始編譯啦!

使用make -j 4指令,4個核心一起編譯

<a href="https://s1.51cto.com/wyfs02/M00/A5/BA/wKioL1nCUebRLVqQAAAm4Fl1tDU315.png" target="_blank"></a>

發現現實缺少軟體包,于是我們還要安裝軟體包yum install openssl-devel

然後再次make -j 4

(我在指令前後都加了個顯示時間存到文檔裡date &gt;&gt; /app/date.log ;make -j 4 ;date &gt;&gt; /app/date.log)

<a href="https://s1.51cto.com/wyfs02/M02/07/09/wKiom1nCUhriiJDMAAARvKKgONQ192.png" target="_blank"></a>

檢視了一下時間,編譯了一個多小時啊喂!

<a href="https://s1.51cto.com/wyfs02/M01/07/09/wKiom1nCUhqw1Si3AAAMUehS8Ac514.png" target="_blank"></a>

再檢視一下大小,9個多G。

9、安裝子產品

在安裝之前先看一下/lib/modules下,目前隻有一個3.10.0版本

<a href="https://s1.51cto.com/wyfs02/M01/A5/BA/wKioL1nCUebCCzPVAAARNO8XaCg552.png" target="_blank"></a>

運作make modules_install指令安裝子產品

運作完之後可以再檢視一下/lib/modules,已經多了一個我們新的核心4.13.2,後面跟的-lkylinux就是我之前定義的本地版本名。

<a href="https://s1.51cto.com/wyfs02/M02/07/09/wKiom1nCUhvy5SBhAAASLNx1hkk882.png" target="_blank"></a>

10、安裝核心相關檔案

同樣的,安裝前我們先看一下/lib/modules下檔案,隻有一些3.10.0的檔案

<a href="https://s4.51cto.com/wyfs02/M01/A5/BA/wKioL1nCUeeDNhg3AABLWQ0aqUU510.png" target="_blank"></a>

然後運作make install

<a href="https://s4.51cto.com/wyfs02/M00/07/09/wKiom1nCUhuAh1J5AABpzAWhorQ526.png" target="_blank"></a>

運作完之後再去檢視/lib/modules下的檔案,就多了一些4.13.2的檔案了。

<a href="https://s4.51cto.com/wyfs02/M02/A5/BA/wKioL1nCUefgw37MAADL6SJDDe4337.png" target="_blank"></a>

再使用cat /boot/grub2/grub.cfg看一下啟動菜單,也多了4的菜單。

編譯成功~~

本文轉自 Ty_endless 51CTO部落格,原文連結:http://blog.51cto.com/tyendless/1967254

繼續閱讀