把交叉编译工具安装包arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2解压至/opt 目录下。
tar -jxvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt
修改当前用户(如root)根目录下的.bashrc 文件,将交叉编译器的路径加入到系统的环境变量中
vi ~/.bashrc
在文件最后一行添加如下命令行,然后保存退出:
export PATH=/opt/arm-2007q1/bin/:$PATH
执行下面命令来更新环境变量
source ~/.bashrc
测试环境变量来检查交叉编译工具是否安装成功(查看版本)
arm-none-linux-gnueabi-gcc -v
编译问题
recipe for target ‘kernel’
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/opt/ARM/mini6410/linux/linux-2.6.38/kernel/Makefile:140: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:916: recipe for target 'kernel' failed
make: *** [kernel] Error 2
解决方法:
gedit kernel/timeconst.pl
找到373行,删除下列代码
@val = @{$canned_values{$hz}};
if (!defined(@val)) {
@val = compute_values($hz);
}
在output前面加入
$cv = $canned_values{$hz};
@val = defined($cv) ? @$cv : compute_values($hz);