Linux核心驅動(一):2、Linux核心配置與編譯

來源:互聯網
上載者:User

一、Linux配置與編譯

       Linux具有可定製的優點,具體步驟如下:

       1、清除臨時檔案、中間檔案和設定檔

             (1)make clean  :  刪除大部分產生的檔案,但是保留設定檔

             (2)make mrproper  :  刪除全部產生的檔案和設定檔

             (3)make distclean  :  在make mrproper基礎上再刪除編輯器的補丁和備份檔案

       2、確定目標系統的軟硬體設定情況,比如CPU的類型、網卡的型號、所需支援的網路通訊協定

       3、使用如下命令之一配置核心:

              (1)make config : 基於文字模式的互動式配置

              (2)make menuconfig : 基於文字模式的菜單型配置,(推薦使用)

              (3)make oldconfig : 使用已有的設定檔(.config),

              (4)make xconfig : 圖形化的配置

               使用配置命令後,會在核心源碼的根目錄下產生一個.config檔案

                註:實際應用中,並不需要我們對所有的配置選項逐一閱讀,而是在某個已有的的配置上再配置

       4、編譯核心:

             I、(1)make zimage  (2)make bzimage

               區別:在X86平台,zimage 只能用於小於512K的核心;另外如果想擷取詳細的編譯資訊則可以加上參數

               make zimage V=1;  make bzimage V=1;

              II、編譯好的核心位於 arch/<cpu>/boot  目錄下        

       5、編譯核心模組  : make modules

       6、安裝核心模組 : make modules_install,將編譯好的核心模組從核心原始碼目錄  copy  至 /lib/modules 下

       7、製作 init ramdisk:

                    mkinitrd initrd-$vsersion  $version ,注意這個命令有兩個參數,第一個參數我們一般習慣上取名方式是:initrd-$version, 第2個參數,就必須是 實際的核心版本號碼了,,eg:make
initrd-2.6.29 2.6.29

        8、核心安裝(eg:X86平台)

              (1)cp arch/x86/boot/bzimage   /boot/vmlinuz-$version    //將bzimage檔案拷貝到boot目錄下,vmlinuz-$version 名字隨便起,但我們一般以這種形式

              (2)cp $initrd   /boot/  //將rimdisk 也拷貝到/boot目錄下

              (3)修改/etc/grub.conf   或者  /etc/lilo.conf

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.