推 andytzeng:事實上..執行 make install 就會幫你 copy config file 04/08 18:35
→ andytzeng:再者, 2.6.18, 2.6.19, 2.6.20 許多 module 位置換地方 04/08 18:36
→ andytzeng:因此直接套用就會發現部分功能出問題(尤其 iptables) 04/08 18:36
推 wlsabcd:回andytzeng,謝謝你提供的資料,敢問你提到的make install 04/09 10:20
→ wlsabcd:是直接執行就行嗎?還是前後要哪些步驟? 04/09 10:23
推 windleaf:意思是你最後一步不用作 作到make install 即可reboot 04/09 11:00
推 wlsabcd:了解,謝謝 04/09 11:26
Sorry 最近在忙論文,沒有常上版來看..
在 2.6 kernel 可以直接打 make help 看到所有支援的 target
事實上這整套 Makefile 被稱為 Kbuild...我上次花了一些時間才把
整套 Makefile trace 過...裡面可以做到非常多事情...以下,我以
2.6.20.6 的 Makefile 來說明(其他版本差異不大)
一般來說,你 download 下來,設定完組態 (make config 系列,有
11 個 target) 就可以直接依序完成指令完成編譯與安裝
make (這動作等同於 make modules && make bzImage,在
make help 也有說明)
make modules_install
make install
reboot
在 make install 這步驟 makefile 已經幫你將 mkinitrd 以及 grub
修改都完成所以直接重開就會有新的 kernel 選項可以開機...
當然,我們知道 make 的 target 也是可以一次指定多組,他會依序執
行,因此上面指令可以用下面方式執行
make modules bzImage modules_install install && reboot
以上,指的是「完整」的編譯一次,包含 modules & vmlinux image
第二次編譯就依需求來選擇
比方說:
case 1)
我修改了 build-in 的檔案,那就得 make bzImage install && reboot
case 2)
修改 module 的檔案,這就容易多,make path/file.ko
再把正在使用的 module rmmod,使用新的 ko 去 insmod 就可馬上使用
至於 copy 方式,make modules 以及 make modules_install 最小單位
都是目錄,因此印象中沒有僅複製單一檔案的方式,所以搞不好手動
cp 還比較快..
更多說明可以在 kernel 解開的 Documentation/kbuild 裡面找到相關
使用說明
順便一提,kernel 的 makefile 也可以幫你將 documentation 轉成 pdf/html
等格式,也可以幫你包成 rpm/tarball 等
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.214.90
推 zxvc:推 04/12 12:17
推 wlsabcd:推,看到好文章,我的手又不由自主的推文,Thx 04/12 12:51
→ andytzeng:not at all... 04/12 16:30
推 sonyu:推~! 04/13 02:03
推 vixen:還可以包成deb檔呢!! 只差考試不能一百分與長高而已 09/21 06:01