飛凌i.MX6開發板?

飛凌嵌入式i.MX6 Quad 的大部分軟件都向用戶開源,用戶可以通過本公司網盤鏈接獲取軟件和硬件的文檔及源碼,Android4.4 的操作系統源碼由於文件太大,存放于飛凌i.MX6 Quad 用戶光盤(B)

飛凌i.MX6開發板 Android 系統編譯

工具/原料

推薦電腦配置處理器:Core(TM) i7 內存:4G 以上

方法/步驟

安裝編譯Android4.4 系統所需要的庫

1. 安裝編譯Android 必要的包

# apt-get -y install git gnupg flex bison gperf build-essential zip\

curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 \

libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib \

mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 \

dpkg-dev libswitch-perl

2. 安裝額外的一些包

# apt-get install uuid uuid-dev

# apt-get install zlib1g-dev liblz-dev

# apt-get install liblzo2-2 liblzo2-dev

# apt-get install git-core curl

3. 安裝JAVA 環境:

#mkdir /usr/local/jdk

拷貝jdk-6u45-linux-x64.bin 到/usr/local/jdk 目錄下執行./jdk-6u45-linux-x64.bin

相關的環境變量已在源碼根目錄下的env.sh 中定義,如用戶將jdk 放在其他目錄下

請自行配置該文件。

4. 額外的工作

複製i.MX6 光盤資料(A)\Tools\ mkimage 到PC ubuntu12.04 /work/下

# ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

#cd /work/

# chmod u+x mkimage

# cp mkimage /usr/sbin/mkimage

Android 4.4.2 系統的源碼包android_kk4.4.2_1.0.0.tar.bz2 位於src/Android4.4.2 目錄下,將它拷貝到

ubuntu 文件夾/work/forlinx 下;

注:防止編譯出現不必要的錯誤,請您也把代碼解壓到上面提到的目錄下。

解壓Android 源碼

解壓命令如下:

#cd /work/forlinx

#tar -xvjf android_kk4.4.2_1.0.0.tar.bz2

注:解壓之後的文件夾android_kk4.4.2_1.0.0 中包括文件系統、kernel,uboot

Kernel 位置android_kk4.4.2_1.0.0/kernel_imx

Uboot 位置android_kk4.4.2_1.0.0/bootable/bootloader/uboot-imx

Android 系統的編譯

1.編譯Android

編譯android4.4 過程依賴於三個腳本文件,這些腳本文件包含在源碼解壓之後生成的目錄下,進入該

目錄,執行以下命令:

#cd /work/forlinx/android_kk4.4.2_1.0.0

# source env.sh

# source build/envsetup.sh

#lunch sabresd_6dq-eng

#make -j8 2>&1 tee build.log

注: 1.Android 的編譯過程需要耗費幾個小時的時間,時間長短視電腦配置而定。

2.編譯生成的鏡像全部在android_kk4.4.2_1.0.0/out/target/product/sabresd_6dq 下生成,分別是

boot.img、recovery.img、system.img、u-boot-6q.bin

2.單獨編譯kernel

使用以下命令配置內核:

#./mk.sh kernel menuconfig

使用如下命令來編譯boot.img

#./mk.sh kernel boot.img

使用以下命令來清除kernel 編譯中間文件

#./mk.sh kernel distclean

注: 1.Android 內核以boot.img 為單個文件進行燒寫,所以要更新kernel,需要編譯boot.img,boot.img 由

ramdisk.img,uImage 以及kernel 啟動參數組成,上面的命令會先檢查是否有ramdisk.img,如果沒有

會先編譯ramdisk.img,然後編譯kernel,如已存在,那麼會直接編譯kernel。

3.單獨編譯uboot

使用以下命令來編譯uboot

#./mk.sh uboot android

使用以下命令來清除uboot 編譯中間文件

#./mk.sh uboot distclean

飛凌i.MX6開發板 Android 系統編譯

相關問題答案