首頁  >  文章  >  運維  >  linux核心如何編譯

linux核心如何編譯

王林
王林原創
2020-02-14 14:01:382419瀏覽

linux核心如何編譯

環境: 

電腦作業系統:ubuntu10.04 。 

linux核心版本:linux-3.12.6

具體步驟:

1、開啟終端,更改為root用戶。輸入命令su,再輸入密碼即可。

2、進入下載到的核心所在的目錄,將下載的核心移到/usr/src/目錄下

mv linux-3.12.6.tar.xz /usr/src

3、切換到/usr/src/目錄下,解壓縮內核壓縮包。由於下載的壓縮包是.tar.xz後綴,解壓縮分為兩步:

xz -d linux-3.12.6.tar.xz
tar -xvf linux-3.12.6.tar

然後進行一些準備工作,將/usr/include/asm、/usr/inlude/linux、/usr/include /scsi連結到/usr/src/linux/include目錄下的對應目錄。

linux核心如何編譯

以上紅色字體部分不是必做。

(線上學習影片教學分享:linux影片教學

同時,清理核心原始碼中的殘渣(多次編譯留下的):

cd /usr/src/linux-3.12.6
make mrproper

4、輸入cd linux-3.12.6 進入解壓縮後的目錄下。

以下要進行核心的配置了。

5、由於系統中沒有圖形介面設定工具ncurses,因此先下載此工具安裝包,然後在終端機開啟工具所在目錄,切換到root使用者下,輸入以下指令:

tar zxvf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
make
make install

這樣就安裝好了ncurses,可以使用了。

6、第五步是獨立步驟。單獨操作。這一步接著上面第四步。在終端機輸入以下命令:

make menuconfig

出現了配置的圖形介面。

linux核心如何編譯

說一下設定:

對每一個設定選項,使用者有三種選擇,它們分別代表的意義如下:

< ;*>或[*]—將該功能編譯進核心

[]—不將此功能編譯進核心

[M]—將此功能編譯成可以在需要時動態插入到核心中的程式碼

7、這一步是設定過程。配置你需要的內容。配置完成以後,儲存退出。

8、設定完成以後,開始編譯內核,在終端機輸入make指令即可。

還有一個比較麻煩的方法,在終端機依序輸入以下指令:

make dep
make clean
make bzlmage
make modules

這樣也可以。

這一步需要很長時間,耐心等待吧。

然後是安裝核心模組。

9、輸入指令

make modules_install

10、輸入指令

make install

此時,核心編譯完成。剩下是修改啟動程式配置,然後執行新的核心程式。

11、將產生的bzImage檔案和System.map檔案拷貝到/boot/目錄下,指令如下:

cp /usr/src/linux-3.12.6/arch/x86/boot/bzImage /boot/
cp /usr/src/linux-3.12.6/System.map /boot/

 12、在終端機輸入指令:

mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6

來建立鏡像文件,然後輸入指令:

update-initramfs -c -k 3.12.6

再輸入指令:

update-grub2

更新修改系統引導設定。

13、進入引導程式(boot loader)的設定檔看看,對於不同的引導程式(LILO和GRUB),其設定檔所在路徑不同。

對於LILO,路徑為:/etc/lilo.conf

對於GRUB,路徑為:/boot/grub/grub.cfg  

本系統為GRUB引導,因此進入/boot/grub/grub.cfg,命令如下:

cd /boot/grub
gedit grub.cfg

看到設定檔中有以下內容:

linux核心如何編譯

說明核心已經加入到啟動項了。

14、到此,核心編譯就算全部完成,可以重新啟動電腦了。

15、以上是ubuntu下編譯核心的全過程。

相關文章教學推薦:linux教學

#

以上是linux核心如何編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn