Linux核心筆記(1) 編譯核心__Linux

來源:互聯網
上載者:User

核心學習筆記,既然是筆記就記住關鍵的東西,雜七雜八的慢慢再說啦。下面介紹編譯核心的幾個簡單步驟:

 

1。到www.kernel.org下載核心去

2。mkdir /usr/src/linux-2.6.37
cp 2.6.37.tar.bz2 /usr/src/linux-2.6.37 (剛出來的)

3。解壓縮其他的情況不考慮了,具體問題具體分析

     tar -jxvf  2.6.37.tar.bz2

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

下面的作用是更新標頭檔,防止今後你編寫驅動的時候出現標頭檔和核心不一致的現象。。。

將/usr/include/asm、/usr/inlude/linux、/usr/include/scsi連結到/usr/src/linux/include目錄下的對應目錄中。 

  # cd /usr/include 

  # rm -Rf asm linux 

  # ln -s /usr/src/linux/include/asm-i386 asm 

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

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

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

4。 刪除原始碼目錄中殘留的.o檔案和其它從屬檔案。

     make mrproper

5。開始編譯核心這裡做一些配置

     make menuconfig或make config或make xconfig

我用的是ubuntu 10.04需要用make menuconfig 需要安裝點東西

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->

  sudo apt-get install build-essential

  sudo apt-get install libncurses5

  sudo apt-get install libncurses5-dev

6。建立編譯時間所需的從屬檔案

  make dep

7。 清除核心編譯的目標檔案

  make clean

8。編譯核心了

  make zImage

這裡預設情況是編譯的核心大小在640kb以內,如果多了的話就要用 make bzImage

9。編譯可載入模組 
如果使用者在配置核心時設定了可載入模組,則需要對這些模組進行編譯,以便將來使用insmod命令進行載入。

  make modules 

  make modelus_install

10。以上的步驟已經完成了核心的編譯工作了,哈哈。下面的就是怎麼把新的核心應用到你的系統上了

cp /usr/src/linux-2.4.22/System.map  /boot/System.map 


 

vmlinuz 改為編譯好的那個 位於/usr/src/linux/arch/x86/bzImage

cp  /usr/src/linux/arch/x86/bzImage     /boot/vmlinuz

啟動項啥的也要修改

/boot/grub/grub.cfg     

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

menuentry 'Ubuntu, with Linux 2.6.37' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,10)'
    search --no-floppy --fs-uuid --set 886aea56-c98a-4b80-a0e3-026900d0b720
    linux    /boot/vmlinuz-2.6.37 root=UUID=886aea56-c98a-4b80-a0e3-026900d0b720 ro   quiet splash
    initrd    /boot/initrd.img-2.6.32-24-generic
}

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

//make install 據說這樣就完了,不過我不敢哦,核心壞了兩次後我就很小心了,不敢亂搞了。咱還是按部就班吧,實在。


經過上面的操作估計得有一兩個小時了,編譯比較慢。。。

重啟出問題了 啟動的時候有兩個錯誤,具體的還不是很清楚,基本上就那個問題initrd.img,

後續將繼續學習吧

 

參考:

http://www.chinaunix.net/jh/4/208791.html

http://blog.csdn.net/cdsnmdl/archive/2009/02/22/3922513.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.