看板 LinuxDev 關於我們 聯絡資訊
※ 引述《wlsabcd (我不會C++)》之銘言:
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