linux內核編譯步驟

本人新學,因此將每一步詳細記錄如下,望能夠對大家有所幫助。

環境: 電腦操作系統:ubuntu10.04 。 linux內核版本:linux-3.12.6

內核源碼下載地址:www.kernel.org

我就按照步驟來,都是按照細小步驟來。

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目錄下的對應目錄中

 

cd /usr/include

rm -rf asm linux scsi

ln -s /usr/src/linux-3.12.6/include/asm-generic asm

ln -s /usr/src/linux-3.12.6/include/linux linux

ln -s /usr/src/linux-3.12.6/include/scsi scsi

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

 

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

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

出現了配置的圖形界面。



 

說一下配置:

    對每一個配置選項,用戶有三種選擇,它們分別代表的含義如下:

<*>[*]——將該功能編譯進內核

[]——不將該功能編譯進內核

[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

看到配置文件中有如下內容:



 說明內核已經添加到啓動項了。

 

14、到此,內核編譯就算全部完成,可以重啓電腦了。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

16、參考網上各種資料,在別的linux系統下編譯內核在最後配置啓動過程的時候略有差別,在此列出。

17、其他版本一:配置/etc/lilo.conf文件。在該文件中加入下面幾行:

   default=linux-2.3.14

   p_w_picpath=/boot/vmlinuz-2.3.14

   label=linux-2.3.14

   root=/dev/hda1

   read-only   

使新配置生效  輸入  /sbin/lilo

重新啓動系統    /sbin/reboot 

 

 

好了,本文到此結束。希望對大家有所幫助。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章