[问题]请教,内核移植中出错:"is a directory"

内核编译和嵌入式产品的设计与开发
回复
nbghy
帖子: 5
注册时间: 2008-03-05 11:03

[问题]请教,内核移植中出错:"is a directory"

#1

帖子 nbghy » 2008-03-05 11:05

我是菜鸟,正打算移植2.6.20的内核到AT91RM9200的板上去,make 的时候出错:

{make: ***/linux-2.6.20/arch/arm : Is a directory. Stop.}

这是我在linux-2.6.20目录下用make menuconfig时出现的,makefile文件在linux-2.6.20目录下

我用UBUNTU7.04 2.6.20-16-GENERIC内核,之前都参照网上别人写的步骤,如下:


首先建立交叉编译环境

由于arm-linux-gcc-3.4.1默认的安装路径是 /usr/local/,所以直接将arm-linux-gcc-3.4.1.tar.bz2放在根目录下解压。

#cd /

#tar jxvf arm-linux-gcc-3.4.1.tar.bz2



使用arm-linux-gcc –version 检查交叉编译器是否安装成功,正常情况下可以显示出版本信息,如果看不到, 在.bash_profile 文件中增加

export PATH=$PATH:/usr/local/arm/3.4.1/bin

然后重起系统。只有用arm-linux-gcc –version命令能够看到交叉编译器的版本信息,安装才算成功。



3.解压 linux-2.6.20.tar.bz2 #tar jxvf linux-2.6.20.tar.bz2

解压之后生成 linux-2.6.20,将2.6.20-at91.patch.gz拷贝到该目录下

$ cd linu-2.6.20

$ zcat 2.6.20-at91.patch.gz | patch –p1



修改该目录下的Makefile文件

ARCH ?=$(SUBARCH)
CROSS_COMPILE ?=
改成:
ARCH = arm
CROSS_COMPILE =/usr/local/arm/3.4.1/bin/arm-linux-



$ cp arch/arm/configs/at91rm9200ek_defconfig /.config 】

到这一步后就要make at91rm9200ek_defconfig 或make menuconfig了,跳出上面的错误···
chenapoleon
帖子: 54
注册时间: 2006-07-01 15:38

Re: [问题]请教,内核移植中出错:"is a directory"

#2

帖子 chenapoleon » 2008-03-24 10:01

修改该目录下的Makefile文件

ARCH ?=$(SUBARCH)
CROSS_COMPILE ?=
改成:
ARCH = arm
CROSS_COMPILE =/usr/local/arm/3.4.1/bin/arm-linux-

………………………………………………………………………………………………………………………………
改成这样看行不行:

ARCH := arm
CROSS_COMPILE := arm-linux-
lianxj
帖子: 2
注册时间: 2007-11-15 11:31

Re: [问题]请教,内核移植中出错:"is a directory"

#3

帖子 lianxj » 2008-09-24 16:01

make clean;make distclean;一下就应该可以的吧。
staraimm
帖子: 1
注册时间: 2008-09-25 10:17

Re: [问题]请教,内核移植中出错:"is a directory"

#4

帖子 staraimm » 2008-09-25 10:55

ARCH ?=arm

在arm后面不要留有空格。

出错的原因是在Makefile的include命令参数是目录。
回复