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以上紅色字型部分不是必做。
同時,清理核心原始碼中的殘渣(多次編譯留下的):
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
出現了配置的圖形介面。
說一下配置:
對每一個配置選項,使用者有三種選擇,它們分別代表的含義如下:
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
image=/boot/vmlinuz-2.3.14
label=linux-2.3.14
root=/dev/hda1
read-only
使新配置生效 輸入 /sbin/lilo
重新啟動系統 /sbin/reboot