kernel source 的 Makefile 寫的好是眾所皆知的,但我還是採到地雷了….
首先先說明一般 source 編譯過程,從 http://www.kernel.org/ download source code 下來之後,解開來依序做完下面的事情重開機應該就可以看到他出現在你的 grub 選項裡了:
- make menuconfig
- make (這指令會做 make modules && make bzImage)
- make modules_install
- make install
- 完成重開
因此當我已經有 kernel.spec file 之後,在修改上面提到任一檔案的話,再重新做 make rpm並不會檢查 version 資訊更改而重新建出 kernel.spec,因此過程中就會有 error 產生,所以這時就得先刪掉 kernel.spec 再重來一次..@@
為了這問題搞掉我兩個小時的時間….
此外為了讓 NCTUns engine 讀取的 /boot/System.Map-nctuns 可以在安裝 rpm 就自動產生,本來試圖在 kernel.spec 中加入建立 link 的動作,但發現這樣做在編 rpm 都會有找不到檔案的訊息發生,最後不得已只好採用「再多複製一份」的方式,將 System.map-$KERNELRELEASE 複製一份成 System.map-nctuns

0 Comments:
Post a Comment