TI Pandaboard Android 核心取得及編譯
Pandaboard 核心編譯完全參考 Pandaboard的網站文件,請到這裡觀看,原則上只要依照網頁上的步驟
即可完成,但有幾個必須注意的地方。
以下是在ubuntu10.04(32bit)環境下編譯完成。
一開始會先要求安裝下列編譯工具
即可完成,但有幾個必須注意的地方。
以下是在ubuntu10.04(32bit)環境下編譯完成。
一開始會先要求安裝下列編譯工具
sudo apt-get install git-core flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential libstdc++6 tofrodos sudo apt-get install x-dev sudo apt-get install libx11-dev sudo apt-get install libncurses5-dev sudo apt-get install sun-java6-jdk 如果你的OS是64位元需安裝 sudo apt-get install g++-multilib 如果你的ubuntu是8.10,請安裝 sudo apt-get install lib32readline5-dev” 另外,筆者在網路上查詢到的Android核心編譯條件須包含下列幾項工具,如不放心請一一檢查是否都有安裝 以免編譯失敗 sudo apt-get install build-essential sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install libc6-dev sudo apt-get install flex sudo apt-get install bison sudo apt-get install patch sudo apt-get install texinfo sudo apt-get install libncurses-dev sudo apt-get install git-core gnupg //(gnupg系統可能已自帶) sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl sudo apt-get install ncurses-dev sudo apt-get install zlib1g-dev sudo apt-get install valgrind sudo apt-get install python (Ubuntu系統可能已自帶) 接下來依照文件步驟一步步做下來... 到達[Download Android Source]步驟執行 repo 這個指令時,需加上 sh,變成 sh repo ..... 另外,sh repo sync -j -5 可加上後面參數加快download速度(意思是用五個thread來跑) 在這個步驟會將所有原始碼下載到mydroid資料夾,如你先前已經有下載過,請將原來資料夾下的資料 完全清除,以免後來有檢查碼錯誤的問題(這一方面如果出錯,不知道接下來編譯是否會有隱藏性問題) Android原始碼相當大高達2.8G,所以請用寬頻下載.... 接下連續作步驟,直到[U-Boot Source]->u-boot patch 當中有一行字 a patch is available that changes the bootdelay as well as configures the correct bootargs: bootargs patch 這是boot開機延遲,不需理會,因為下面步驟會做到, 接下來到了[Setting up build environment] 這裡會要你export JAVA_HOME=/usr/lib/jvm/java-6-sun <--請正確指向系統正確位置 接下來[Build Kernel] 這裡要指定mkimage的路徑 export PATH=$YOUR_PATH/L27.12.1-P2/u-boot/tools:$PATH 這裡在32位元作業系統下,作 make ARCH=arm panda_defconfig時如果出現 can't copy type 0 我尚找不出原因,不過下 面編譯會過,所以也不知有何影響。 但在64位元作業系統則不會出現前述問題。 開始編譯時 make ARCH=arm uImage 2>&1 |tee $MYDROID/logs/kernel_make.out 也會出現can't copy type 0,不過編譯又不會出錯?? 不管了! 如果你的作業系統是32位元版,開始前須做下列幾項修正 /mydroid/build/core/main.mk,將下列註解掉 #ifneq (64,$(findstring 64,$(build_arch))) #$(warning ************************************************************) #$(warning You are attempting to build on a 32-bit system.) #$(warning Only 64-bit build environments are supported beyond froyo/2.2.) #$(warning ************************************************************) #$(error stop) #endif /mydroid/external/clearsilver/cgi/Android.mk /mydroid/external/clearsilver/java-jni/Android.mk /mydroid/external/clearsilver/cs/Android.mk /mydroid/external/clearsilver/util/Android.mk 以上各檔中的 # This forces a 64-bit build for Java6 LOCAL_CFLAGS += -m64 改成 -m32 LOCAL_LDFLAGS += -m64 改成 -m32 接下來就開始編譯了,過程很久..... 喔! 不對 作Building Android Filesystem (AFS) with TI Codecs enabled 這步驟更久,呵呵 **** 新增ubuntu10.04 64bit版 ***** 在使用64位元版時,文件中第一個安裝敘述就會有問題
sudo apt-get install git-core flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential libstdc++5 tofrodos
請改成
sudo apt-get install git-core flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential libstdc++6 tofrodos
再來還要安裝
sudo apt-get install gnupg flex bison gperf build-essential zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
如此在kernel編譯時才不會出錯
留言
張貼留言