我的Host 平台Kernel 是Linux 2.6.11,但是我的BusyBox要裝載在Linux 2.6.27的Kernel上,為了要跟新的Kernel搭配良好,我就開始去下載Linux 2.6.27穩地版本的核心。
當我在Make Busybox 時,發生底下的事情。
CC libbb/loop.o
In file included from libbb/loop.c:16:
/usr/include/linux/loop.h:88: error: syntax error before ‘__kernel_old_dev_t’
/usr/include/linux/loop.h:90: error: syntax error before ‘lo_rdevice’
/usr/include/linux/loop.h:99: error: syntax error before ‘}’ token
make[1]: *** [libbb/loop.o] Error 1
make: *** [libbb] Error 2
在網路上找了幾篇文章,看了一下程式碼。
發現到在Make Busybox時,他會去找Host主機上面的Linux Kernel 的Header file。
只要改到kernel 2.6.27的include File就可以解決這樣的問題了。
#cd /usr/include
#mv asm asm-bak //先將asm改成其他的名字
#ln -s /mnt/work/linux-2.6.27.8/include/asm-x86 asm
#ln -s /mnt/work/linux-2.6.27.8/include/asm-generic asm-generic
#mv linux linux-bak //將Linux改成其他的名字
#ln -s/mnt/work/linux-2.6.27.8/include/linux linux
然後重新make busybox就可以了!!
No comments:
Post a Comment