今天在ubuntu-9.04 (kernel版本為linux-2.6.29) 上 rebuild kernel時出現下面這問題,
grep: include/linux/compile.h: No such file or directory 問了一下google大神, 結果在debian的bug回報找到解決方法~
1. 檢查kernel-package版本
apt-cache policy kernel-package
2. 若版本是11.x 則需要手動修改才能編譯2.6.33+的核心,
原文如下
This is an issue with kernel-package (<12.032) when building kernel v2.6.33+. The kernel filesystem hierarchy has changed to separate generated header files from repository header files.
The debian bug report is here ->
http://bugs.debian.org/cgi-bi/bugreport.cgi?bug=561569 Don't use those patches though as Karmic's kernel-package is 11.015 and those reports refer to 12.031. You can use the attached patch on Karmic's kernel-package (in /usr/share/kernel-package). But first save the originals (this is what the patch operates against).
3. 解決方法有2種, 其1是抓最新版本的kernel-package, 解壓縮, 編譯, 安裝
wget https://launchpad.net/ubuntu/maverick/+source/kernel-package/12.033/+files/kernel-package_12.033.tar.gztar -zxvf kernel-package_12.033
cd kernel-package-12.033
fakeroot debian/rules binary
cd ..
dpkg -i kernel-package_12.033_all.deb
再重編一次kernel就過了

第二種方法是直接去改程式碼, 請點內文觀看
觀看全文...