• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 編譯linux內核步驟

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    本來上個星期就應該寫的,拖到現在了。 開機的順序是: BIOS MBR ( 就是 Lilo 或 Grub ) 取得 boot loader; 取得核心 kernel 的資料并加載 init 很多 scripts login 與 shell 為什么要重新編譯內核: 1、內核太龐大 2、與硬件搭配穩定 3、支持新的硬件 編譯
    本來上個星期就應該寫的,拖到現在了。

    開機的順序是:
    BIOS
    MBR ( 就是 Lilo 或 Grub ) 取得 boot loader;
    取得核心 kernel 的資料并加載
    init
    很多 scripts
    login 與 shell

    為什么要重新編譯內核:
    1、內核太龐大
    2、與硬件搭配穩定
    3、支持新的硬件

    編譯過程:
    1、編譯之前先查看內核版本:uname -r
    2、下載更新的內核版本升級:http://www.kernel.org
    3、解壓
    #cd /usr/src
    #tar zxvf linux-2.4.31.tar.gz
    如果怕之前已經有人編譯過核心,會產生一些.o的目的檔案,所以先執行:
    #make mrproper
    會顯示RM去除檔案的訊息
    4、如果對同一版本內核編譯,要修改一下:
    #cd /lib/modules
    #mv 2.4.18 2.4.18.old
    5、設定編譯模式:
    make config :這種模式需要逐行輸入所需要設定的項目,無法往前修改設定,所以目前很少使用這種方式來設定 Kernel 的項目了;
    make xconfig :這種模式則是使用 X-Window 為主要環境的設定模式!除非你有 X-Window 在執行,否則沒有辦法使用這種模式;
    make menuconfig :這種模式有點像是文字界面的選單模式,較為簡便,而且可以在純文字界面下面執行編輯動作!是目前最常使用的模式。
    #make menuconfig

    # make dep           <==建立相依的屬性關系!
    # make clean         <==將舊的資料去除掉!
    # make bzImage        <==開始編譯核心!這個核心是經過壓縮的
    # make modules       <==開始編譯模塊!這個動作視您剛剛編譯的模塊數量!
    # make modules_install   <==將資料給他安裝在 /lib/modules/`uname -r` 里面
    # make install       <==將剛剛 bzImage 建立完成的核心給他安裝上來!
    6、修改grub:
    #vi /boot/grub/menu.lst 增加如下:
    title linux-2.4.31
    kernel (hd0,0)/boot/vmlinuz-2.4.31 root=/dev/hda1
    內核編譯完成,重啟機器。

    幾個命令:
    depmod:模塊的相依性
    MILY: MingLiU; mso-fareast-font-family: 宋體">-a :將 /etc/modules.conf 可以查詢到的模塊的相關性都寫入 /lib/modules/`uname -r`/當中 
    -e :顯示出目前已加載的不可執行的模塊名稱 
    -n :將各模塊的相依性直接輸出屏幕上,而不是輸出到 /lib/modules/`uname -r` 當中 
    -s :將一些訊息結果輸出到 syslog 的登錄檔中!
    lsmod:查看系統的模塊
    modinfo:查看模塊的信息
    -a :列出作者 
    -d :列出這個模塊的基本說明 
    -n :列出這個模塊的檔案放置路徑與名稱
    modprobe:加載系統模塊
    -l:列出系統模塊
    -c:更詳細的列出系統模塊
    insmod:加載系統模塊
    -f :強制將模塊加載,要加載不相同版本的模塊時候可能會用到的參數 
    -k :自動在核心沒有使用到該模塊的時候,先清除干凈! 
    -p 測試模塊是否可以被加載,不會直接加載系統中! 
    -s :將一些執行訊息寫到 syslog 這種登錄檔,而不是寫到 terminal 當中 
    rmmod:刪除模塊

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>