交叉編譯環境的設定:
在目前使用者主目錄中添加交叉編譯環境變數:
開啟 ~/.bashrc 並在最後添加我的編譯器的路徑:
#cross_compile_env
export ARCH="arm"
export CROSS_COMPILE="/home/cpp/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-"
如果出現:“ make: arm-none-linux-gnueabi-gcc:命令未找到” 的問題,可能是你的環境路徑設定有問題,執行以下命令,將你的交叉編譯器路徑添加到PATH中即可。
PATH=/home/cpp/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin:$PATH
為了自動將kernel編譯產生的zImage自動轉換為uImage,應該將 /bootable/bootloader/uboot-imx/tools/mkimage 複製到編譯器所在目錄/home/cpp/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/ 並將其更名為arm-none-linux-gnueabi-mkimage ,並將其chmod為777 。
因為ubuntu9.04以後的源已經不提供jdk1.5版本了,而android的編譯又要求用1.5。所以你還必須安裝1.5版的jdk。解決的辦法就是添加9.04的源。
添加方法:
sudo gedit /etc/apt/sources.list
在網上搜一下9.04的源,然後添加進去
接下來安裝一些必須的包括jdk1.5在內的庫檔案,強烈建議使用aptitude install 不要用apt-get install 。因為後者無法將依賴的相關庫安裝進來。反正我用apt-get試了各種方法都不行!!!!
sudo aptitude update
sudo aptitude install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
sudo aptitude install valgrind
sudo aptitude install lib32readline5-dev
實在不行,就去以下地址下載jdk1.5
http://packages.ubunut.com/search?lang=zh-cn&arch=i386&keywords=sun-java5-jdk