把交叉編譯工具安裝包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);