Linux-2.6.32.2内核移植中编译出错
1. 我在Vmware 上安装了Federa 9;
2. 从
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.gz下载了linux-2.6.32.2.tar.gz软件;
3. 将软件拷贝到 /opt/FriendlyARM/mini2440;
4. 解压内核源代码
#cd /opt/FriendlyARM/mini2440
#tar xvzf linux-2.6.32.2.tar.gz
5. 指定交叉编译变量
#cd linux-2.6.32.2
#vim Makefile
将原文件
Export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
修改为
Export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?=/usr/local/arm/4.3.2/arm-linux
保存退出;
接下来,测试linux的编译能否通过:
执行:
#make s3c2410_defconfig
#make
编译没有通过,出现以下信息:
Expr: syntax error
CHK: include/linux/version.h
Make[1]: ‘include/arm-arm/mach-types.h’ is up to date.
CHK: include/linux/utsrelease.h
SYMLINK include/arm->include/arm-arm
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC drivers/usb/core/hcd.o
Drivers/usb/core/hcd.c:144: error: expected expression before ‘>>’ token
Drivers/usb/core/hcd.c:144: error: expected expression before ‘>>’ token
Drivers/usb/core/hcd.c:165: error: expected expression before ‘>>’ token
Drivers/usb/core/hcd.c:165: error: expected expression before ‘>>’ token
Drivers/usb/core/hcd.c:188: error: expected expression before ‘>>’ token
Drivers/usb/core/hcd.c:188: error: expected expression before ‘>>’ token
Make[3]: *** [drivers/usb/core/hcd.o] Error 1
Make[2]: *** [drivers/usb/core] Error 2
Make[1]: *** [drivers/usb] Error 2
Make: *** [drivers] Error 2
打开hcd.c文件:
# vim drivers/usb/core/hcd.c
请问高手,错误如何修改?