本文描述了在fc8下公升級linux核心為2.6.25的詳細步驟.
1. 首先從如下**得到linux-2.6.25.
2. 然後在/usr/src下untar這個包.
tar -xjfv linux-2.6.25.tar.bz2
3. 配置核心
cd /usr/src/linux-2.6.25
make mrproper(刪除一些stable的檔案,針對剛download下來的包這一步沒必要)
make menuconfig(以選單的方式顯示, 可以定製linux模組, 在選單頂部有命令幫助)
3. 編譯核心
make (這一步花的時間最多,我用了將近40分鐘)
make modules_install
make install(系統將會把vmlinuz和system.map複製到/boot目錄下同時修改grub)
在2.6以前需要make bzimage make modules, 而且還需要將vmlinuz和system.map複製到/boot目錄.
要想得到更詳細關於編譯的描述, 可以參考/usr/src/linux-2.6.25的readme. 每個linux核心的發行都有這個檔案.
4. 重啟機器
shutdown -r now
這樣在開始的grub選單裡你可以選擇用新的核心來啟動linux
如果啟動時遇到這個錯:
"enforcing mode requested but no policy loaded. halting now."
kernel panic: attempted to kill init!
可以用如下方法解決:
try adding enforcing=0 to your grub.conf.
kernel /boot/bzimage-2.6.5 ro root=/dev/hda5 enforcing=0
或者在/etc/selinux/config檔案中,將selinux的值設為disabled.
說明:
2. 我們不是發燒友,動就公升級,f8核心已經是2.6.23.1-42,公升到2.6.25也沒那個必要,不過,現在的linux發行版本都不帶原始碼包的,所以做驅動開發的下個原始碼包編譯安裝是有必要的,所以我也下了當時最新版2.6.25,在開發板上移植我也用該版本。
3. make menuconfig的時候,根據自己的需要選擇,不清楚就預設即可
4. shutdown -r now 之後我可以在開始的grub選單裡選擇用新的核心來啟動linux,沒有遇到上述錯誤,系統正常執行。
5. 我解壓編譯後的linux-2.6.25檔案達到1.7g左右,交叉編譯到開發板則538.6m這樣,所以感覺當初裝系統的時候分配給系統檔案的9g還小了點。如果/ 下的空間不夠,那麼啟動系統的時候會出現「xx應用程式即將崩潰」,進入命令列下把一些檔案刪掉即可。
linux2 6核心模組的編譯
首先將下面的程式寫進乙個hello1.c的檔案裡 vim hello1.c include linux module.h include linux kernel.h include linux init.h static int init lkp init void static void exi...
Linux2 6核心啟動分析
我們已知u boot的終極目的是啟動核心,那麼核心啟動的開始必定是u boot傳入的引數。開啟armlinux.c 發現有一行的 為 thekernel 0,bd bi arch number,bd bi boot params 帶入三個引數 第乙個引數是0,第二個引數是機器id,第三個引數是引數所...
Linux 2 6 核心驅動移植
隨著 linux 2.6的發布,由於2.6核心做了教的改動,各個裝置的 驅動程式在不同程度上要進行改寫。為了方便各位linux愛好者我把自己整理的這分文件share出來。該文當列舉了2.6核心同以前版本的絕大多數變化,可惜的是由於時間和精力有限沒有詳細列出各個函式的用法。1 使用新的入口 必須包含 ...