Re: [轉錄][問題]kernel跟驅動程式版本不合

看板LinuxDev作者 (Ya-Shiuan)時間17年前 (2007/04/12 12:06), 編輯推噓4(401)
留言5則, 5人參與, 最新討論串3/5 (看更多)
※ 引述《wlsabcd (我不會C++)》之銘言:

04/08 18:35,
事實上..執行 make install 就會幫你 copy config file
04/08 18:35

04/08 18:36,
再者, 2.6.18, 2.6.19, 2.6.20 許多 module 位置換地方
04/08 18:36

04/08 18:36,
因此直接套用就會發現部分功能出問題(尤其 iptables)
04/08 18:36

04/09 10:20,
回andytzeng,謝謝你提供的資料,敢問你提到的make install
04/09 10:20

04/09 10:23,
是直接執行就行嗎?還是前後要哪些步驟?
04/09 10:23

04/09 11:00,
意思是你最後一步不用作 作到make install 即可reboot
04/09 11:00

04/09 11:26,
了解,謝謝
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

04/12 12:17, , 1F
04/12 12:17, 1F

04/12 12:51, , 2F
推,看到好文章,我的手又不由自主的推文,Thx
04/12 12:51, 2F

04/12 16:30, , 3F
not at all...
04/12 16:30, 3F

04/13 02:03, , 4F
推~!
04/13 02:03, 4F

09/21 06:01, , 5F
還可以包成deb檔呢!! 只差考試不能一百分與長高而已
09/21 06:01, 5F
文章代碼(AID): #167R0mNr (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #167R0mNr (LinuxDev)