學習重新編譯Linux內核


一、實驗目的
學習重新編譯Linux內核,理解、掌握Linux內核和發行版本的區別。
 
二、實驗內容
在Linux操作系統環境下重新編譯內核。實驗主要內容:
A. 查找並且下載一份內核源代碼,本實驗使用最新的Linux內核2.6.36。
B. 配置內核。
C. 編譯內核和模塊。
D. 配置啟動文件。
本次實驗環境是Linux2.6.35內核的環境下,下載並重新編譯內核源代碼(2.6.36);然后,配置GNU的啟動引導工具grub,成功運行編譯成功的內核。
 
三、主要儀器設備(必填)
Linux環境:utuntu10.10,linux內核2.6.35
待編譯內核:linux2.6.36
 
四、操作方法和實驗步驟
【1】下載內核源代碼
從網站上下載最新的Linux內核2.6.36。
 
【2】部署內核源代碼
打開終端,更改用戶權限為root。具體做法是在終端輸入sudo su,然后按提示輸入密碼。判斷是否是root用戶是使用whoami命令,若輸出為root則已經切換到root賬戶。
輸入mv linux-2.6.36.tar.gz  /usr/src,目的是把下載的內核源代碼文件移到/usr/src目錄。
輸入cd /usr/src切換到該目錄下。
輸入tar zxvf linux-2.6.36.tar.gz,目的是解壓內核包,生成的源代碼放在linux-2.6.36目錄下。
輸入cd linux-2.6.36,切換到該目錄下。
輸入cp /boot/config-,然后按下Tab鍵,系統會自動填上該目錄下符合條件的文件名,然后繼續輸入 .config,目的是使用在boot目錄下的原配置文件。
 
【3】配置內核
配置內核的方法很多,主要有如下幾種:
#make menuconfig  //基於ncurse庫編制的圖形工具界面
#make config  //基於文本命令行工具,不推薦使用
#make xconfig  //基於X11圖形工具界面
#make gconfig  //基於gtk+的圖形工具界面
由於對Linux還處在初學階段,所以選擇了簡單的配置內核方法,即make menuconfig。在終端輸入make menuconfig,等待幾秒后,終端變成圖形化的內核配置界面。進行配置時,大部分選項使用其缺省值,只有一小部分需要根據不同的需要選擇。
對每一個配置選項,用戶有三種選擇,它們分別代表的含義如下:
<*>或[*]——將該功能編譯進內核
[]——不將該功能編譯進內核
[M]——將該功能編譯成可以在需要時動態插入到內核中的代碼
本實驗在make menuconfig后,把ext2和ext3文件系統編譯進內核。如果用戶是在虛擬機下編譯的,那么一般要把SCSI設備編譯進內核。不是在虛擬機下編譯的也可以把它編譯進去,不會有什么影響的。
 
【4】編譯內核
這步是時間最長的一個步驟,一般在3個小時左右。
編譯內核只需在終端輸入make,然后等待編譯的完成。
 
【5】編譯和安裝內核模塊
輸入make modules_install,這步很快能完成。
 
【6】安裝內核
輸入make install
 
【7】生成啟動
依次輸入:
sudo mkinitramfs -o /boot/initrd.img-2.6.36
sudo update-initramfs -c -k 2.6.36
sudo update-grub2  //自動修改系統引導配置,產生grub.cfg啟動文件。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM