最進核心老報錯,所以就產生編譯最新核心 2.6.34
第一步安裝必要的工具
首先要安裝必要的包。
包有:libncurses5-dev
(menuconfig
需要的)和
essential
sudo apt-get install build-essential kernel-package
sudo apt-get install make
sudo apt-get install gcc
另外,檢視系統是否有這樣的兩個命令
mkinitramfs mkisofs
這兩個工具在編譯核心時用來生成
*.img
檔案的。如果沒有就需安裝。
第二步到
www.kernel.org
/usr/src
linux-2.6.24.tar.gz(
原來的核心是
2.6.20-15-generic)
第三步編譯前的準備
察看當前核心的版本
helight@helight-desktop:/$ uname -a
linux helight-desktop 2.6.20-15-generic #1 smp mon aug 25 17:32:09 utc 2008 i686 gnu/linux
helight@helight-desktop:/$
解壓linux-2.6.24.tar.gz
到linux-2.6.24
cd /usr/src
sudo tar zxvf linux-2.6.24.tar
cd linux-2.6.24/
第四步開始編譯
cd /usr/src/linux-2.6.24 //以下所有的工作都在
/usr/src/linux-2.6.24
下完成sudo make menuconfig //
用menuconfig
的話還需要
ncurses 如果ubuntu apt-get install libncurses5-dev,或者
sudo make xconfig
sudo make menuconfig //
一般是用
menuconfig
配置預設就可以,除非你是專家。
配置完以後儲存(系統中儲存的乙份核心配置檔案是在
/usr/src/linux-2.6.24
下名為.config,
你也可以自己在別的地方另存乙份)
也可以cp
原來在/boot
目錄下的
config-2.6.xx
到當前目錄下,在
make menuconfig
是使用這個配置檔案。
sudo make dep //
也許系統會提示現在不必要進行
make dep
,那就下一步
2.6.24
的我編譯就沒有使用過。
sudo make clean //
清 除舊資料
,新解壓的核心原始碼就不需要這一步 了
sudo make –j2
可以分兩個執行緒來進行編譯工作,不過我用
make –j4
卻發現系統有9個
make
程序在工作。所以這個引數未必起作用。
sudo make bzimage //
編譯核心,將儲存到
/usr/src/linux-2.6.24/arch/i386/boot/
下sudo make modules //
編譯模組
sudo make modules_install //
安裝模組
sudo mkinitramfs -o /boot/initrd-2.6.24.img 2.6.24
此時可能提示找不到這樣的乙個資料夾「
/lib/firmware/2.6.24
」,你需要手工建立乙個這樣的資料夾。
sudo mkdir /lib/firmware/2.6.24
sudo make install //
安裝核心
安裝完後
/boot
下將增加以下幾個檔案(用
ls -l *24*
檢視)
helight@helight-desktop:/boot$ ls -l *24*
-rw-r–r– 1 root root 85203 2008-03-14 22:24 config-2.6.24
-rw-r–r– 1 root root 85203 2008-03-14 20:23 config-2.6.24.old
-rw-r–r– 1 root root 37968871 2008-03-15 08:31 initrd-2.6.24.img
-rw-r–r– 1 root root 4014080 2008-03-14 22:24 initrd.img-2.6.24
-rw-r–r– 1 root root 932315 2008-03-14 22:24 system.map-2.6.24
-rw-r–r– 1 root root 932315 2008-03-14 20:23 system.map-2.6.24.old
-rw-r–r– 1 root root 1858864 2008-03-14 22:24 vmlinuz-2.6.24
-rw-r–r– 1 root root 1858864 2008-03-14 20:23 vmlinuz-2.6.24.old
helight@helight-desktop:/boot$
給/boot/grub/menu.lst
中新增乙個新的啟動項,如我的
menu.lst
增加了如下一段文字
title ubuntu, kernel 2.6.24
root (hd0,0)
kernel /boot/vmlinuz-2.6.24root=uuid=d7e2cf74-ebf5-4c78-ac2c-9f85a9809eae ro
initrd /boot/initrd-2.6.24.img
從新啟動即可。
ubuntu 10.04 參考 http://www.linuxidc.com/linux/2010-05/26263.htm
ARM Linux 2 6 34核心移植
arm linux gcc版本4.3.2.以安裝在 usr local arm 4.3.2下.第一步 修改linux 2.6.34 makefile檔案,在makefile中找到以下兩條資訊並做修改 arch arm cross compile usr local arm 4.3.2 bin arm...
CFS排程分析 核心版本 2 6 34
cfs不再有時間片的概念,他維護的是每個程序執行的時間記賬 使用排程器實體結構來追蹤程序執行記賬 無數統計變數 但是演算法核心就是圍繞vruntime設計。排程器實體,作為程序的乙個名為se的成員變數。cfs使用vruntime變數來記錄乙個程式到底執行了多長時間以及他要應該執行多久。中,up da...
編譯 linux 核心
一 準備工作 tpv te0 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。ixpub技術部落格 rc0p a6zx j 啟動linux系統,並用根使用者登入,進入終端模式下。6i sb w,a0 ixpub技術部落格c gng,y y ixpub技術部落格 k,...