在進行下一步驟前 , 我們要先準備kernel header .
最好 kernel version 和最後 Target 要使用的 kernel 版本最好一樣 , 不然 會遇到一些奇怪的 bug !
例如 , 之前使用 kernel 2.6.21 (for S3c2416 ARM 用) , 其中
include/linux/input.h 中定義
#define EV_VERSION 0x010000
但是 ... kernel 3.2.0 確定譯
#define EV_VERSION 0x010001
不巧的 , TS_LIB 確有使用這個定義 , 所以如果 Toolchain 用 2.6.21 , Target 確使用 3.2.0 , 可能就會發生這樣的 bug !! 不多說 , 開始說明如何準備 kernel header 吧 !!
A. make mrproper
清除所有設定....
B. make headers_check
開始準備 header file .
C. make CROSS_COMPILE=${CLFS_TARGET}- INSTALL_HDR_PATH=$(PREFIX)/usr/ headers_install
用製作出來的 cross compile 來編譯kernel header , 並且安裝到 perfix/usr/ 下 !!
D . 移除一些沒用的file
find $(PREFIX)/usr/include -name ".install" -or -name "..install.cmd" | xargs rm -fv ;\
大功告成 .....準備下一個階段 ~~~
沒有留言:
張貼留言