**********************該檔案解釋怎麼樣安裝核心********************************
1、什麼是linux
linux目的是服從posix和sus标準。
2.它運作在什麼硬體上
linux很容易移植到32或64位架構機器上,隻要這些架構有分頁機制(PMMU)和gcc編譯器。linux也支援沒有分頁機制的機器,盡
館功能上有某些限制。你現在也可以運作linux核心并把它當做一個使用者程式,這叫做UserMode Linux(UML)。
3. 文獻
有許多文獻可查,但是我推薦查找在linux FTP站點的linux檔案工程(LDP)的檔案子目錄。
有各種README檔案在documentation /subdirectory下:這些都包括了典型的核心具體安裝注意事項,比如對于驅動。
documentation/00-INDEX 列出了每個檔案都包含什麼。閱讀Change file ,它包含一些解決核心更新可能導緻問題的資訊。
Documentation/DocBook/ 子目包含對核心開發和使用者的指導。這些指導手冊以各種檔案格式提供給你。在安裝以後,
“make psdocs”, “make pdfdocs”,“make htmldocs”, “make mandocs”将會建立你需要的格式文檔。
4.安裝核心源代碼
如果你安裝完整的源碼,你把核心tar包放在你授權的目錄裡(例如你的家目錄)并且解壓他:
不要使用/usr/src/linux,這個區域有一系列核心頭檔案(通常不完整),這些頭檔案被庫頭檔案使用。這些核心頭檔案
要和庫比對。
你也可以用更新檔在2.6.xx 發行版中更新。為了更新,先獲得所有更新檔檔案,然後進入核心源碼的頂級目錄(linux-2.6.xx)
并執行:gzip -cd ../patch-2.6.xx.gz | patch -p1 or bzip2 -dc ../patch-2.6.xx.bz2 |patch -p1
一直重複即可。你可能想移除備份檔案(xxx~ or xxx.orig),但一定要確定沒有失敗的更新檔檔案(xxx# or xxx.rej)。如果
有失敗的檔案,要麼你錯了,要麼我(作者)錯了。
不像對于2.6.x核心的更新檔檔案,對于2.6.x.y的核心檔案的更新檔檔案(也被稱為stable kernel)不是增加量而是直接應用于
2.6.x核心。請閱讀Docmentation/applying-patches.txt獲得更多資訊。
可選擇的,更新檔核心腳本可以被用于自動完成這一過程。這取決于目前核心版本和應用的更新檔。
linux/scripts/patch-kernel linux
在上邊指令中,第一個參數是核心源碼的位置。更新檔從目前目錄被應用,但一個可選的目錄可以被具體化給出在第二個參數中。
如果你正在用stable系列的更新檔(patch-2.6.xx.y)更新,注意“dot-releases”是不可增加的,必須被用于2.6.xx base tree 對于2.6.12.3 更新檔,你沒必要先應用2.6.12.1和2.6.12.2更新檔。類似,如何你正在運作2.6.12.2核心,并想跳到2.6.12、3,
你必須首先逆轉2.6.12.2更新檔(即patch -R)然後應用2.6.12.3更新檔。
你可以讀documentation/applying-patches.txt擷取更多資訊。
5. 確定你沒有stale .o 檔案并應用:cd linux
make mrproper 你現在有可正确安裝的源碼了。
6.軟體要求
看Documentation/Changes,了解最小需求和怎樣獲得這些軟體包的 更新。使用過久的版本會導緻間接錯誤,這很難跟蹤。是以
不要以為你可以更新軟體包當明顯的錯誤出現時(在編譯或操作過程中)。
7.核心的編譯目錄
當編譯核心時,所有的輸出檔案将以預設的方式和核心源碼存在一起。用選項"make 0=output/dir"可以指定一個具體的輸出位置(包括.config)。
例如:kernel source code: /usr/src/linux-2.6.N
build directory: /home/name/build/kernel
為配置編譯核心使用:
cd /usr/src/linux-2.6.N
make 0=/home/name/build/kernel menuconfig
make 0=/home/name/build/kernel
sudo make 0=/home/name/build/kernel modules_install install
請注意:如果'0=output/dir"被用,那麼他必須被用于所有的make調用。
8. 配置核心
有新的配置選項添加到每個發行版,并且奇怪的問題會出現 ,如果配置檔案沒有按期望的設定。如果你想執行已存在的配置檔案
生成用最小的工作配置一個新的配置檔案,請用“make oldconfig”, 它隻會讓你回答新的問題。
選擇配置指令:略。你可以找的更多配置核心工具的資訊在 Documentation/kbuild/kconfig.txt
9.編譯核心
至少gcc3.2
做一個make 建立一個壓縮核心鏡像。盡可能做Makefile如果有适合核心Makefile的lilo,但是你首先檢查你的lilo設定。
如果你配置任何子產品,你必須做make modules_install。
、
10.繁雜的核心編譯(compile )或 建構(build)輸出:
一般編譯很安靜,但是,有時需要開發者觀察編譯,連結,其他指令的正确性,這需要用 “繁雜(verbose)模式”。應當這樣
在make指令插入“V=1”,如:make V=1 all
為使編譯系統告訴你每個編譯目标重編譯的原因,用“V=2”。
備份核心,以防萬一。在編譯核心前,用“LOCALVERSION"配置選項追加一個特殊字尾給核心版本,他可以在”General setup“設定菜單。
為了啟動你的新核心,你需要拷貝核心鏡像(例如 ../linux/arch/i386/boot/bzImage 在編譯之後)到你正常的啟動核心的位置。
核心鏡像檔案是/vmlinuz,/boot/vmlinuz, /bzImage /boot/bzImage.要使用新核心,儲存就核心鏡像,用新核心覆寫舊鏡像。
然後,然後,你必須傳回lilo更新加載中的鏡像。如果不,你不能啟動新鏡像。
重新安裝lilo通常是運作/sbin/lilo的問題。你可能期望編輯/etc/lilo.conf 确定你舊鏡像的入口,以防新的核心不能啟動。
充裝lilo,你重新設定,重新開機系統。