make-kpkg在kernel-package裡面
$ aptitude install kernel-packge
===
$ cd /usr/src
下載 linux-2.6.31.tar.bz2
$ tar jxf linux-2.6.31.tar.bz2
$ ln -s linux-2.6.31 linux
$ cd linux
-=== 在/usr/src/linux 是否上patch ===-
舉例:最近的玩具bfs (brain fuck scheduler)
$ patch -p1 < 2.6.31-sched-bfs-230.patch
在Makefile裡面會發現
EXTRAVERSION = -bfs230
這樣編譯出來的image版本會變成,linux-2.6.31-bfs230
-=== 在/usr/src/linux 作kernel設定 ===-
$ cp /boot/config-2.6.30-1-686 .config
可以複製先前的設定在修改
$ make menuconfig
-=== 使用make-kpkg 編譯kernel ===-
$ make-kpkg --initrd --revision 1.0 kernel_image
(如果有雙核心cpu: 可加上 -j2 參數)
如果編第二次就改revision, revision給自己分辨用的
$ make-kpkg --initrd --revision 2.0 kernel_image
這樣編譯產出結果會是
/usr/src/linux-image-2.6.31-bfs230_2.0_i386.deb
-=== 安裝新的kernel ===-
$ cd /usr/src
$ dpkg -i ./linux-image-2.6.31-bfs230_2.0_i386.deb
$ update-initramfs -c -k 2.6.31-bfs230
$ update-grub2 (或 update-grub)
-=== 重開機 reboot ===-
-=== 移除舊的kernel ===-
假設已使用新kernel開機了
$ apt-get purge linux-image-2.6.31-bfs222
$ rm -rf /lib/modules/2.6.31-bfs222
$ rm /boot/initrd.img-2.6.31-bfs222
[edit]
General setup
[x] Prompt for development and/or incomplete code/drivers
這個要選 ,
不然像是pppoe模組還是屬於Experimantal狀態, 無法被選擇和編譯, 就不能用ADSL了
[edit]
[使用patch, 路徑/usr/src/linux]
例: 如果是2.6.32-rc5升級2.6.32-rc8
$ bzcat patch-2.6.32-rc5.bz2 | patch -R -p1 (使用-R參數, 重回原始狀態)
$ bzcat patch-2.6.32-rc8.bz2 | patch -p1 (用上最新的patch)
沒有留言 :
張貼留言