“MYZR-IMX8MM-EK240-8MM android9.0 编译参考手册”的版本间的差异
(创建页面,内容为“## i.Mx8mm android9.0编译手册 ### 编译环境搭建 - ubuntu16.04 - openjdk8 #### 依赖包安装 ```shell => sudo apt-get install uuid uuid-dev => sudo apt...”) |
小 (Admin移动页面MY-IMX8MM-EK240-8MM android9.0 编译参考手册至MYZR-IMX8MM-EK240-8MM android9.0 编译参考手册,不留重定向) |
||
(未显示同一用户的7个中间版本) | |||
第8行: | 第8行: | ||
#### 依赖包安装 | #### 依赖包安装 | ||
− | + | ||
=> sudo apt-get install uuid uuid-dev | => sudo apt-get install uuid uuid-dev | ||
+ | |||
=> sudo apt-get install zlib1g-dev liblz-dev | => sudo apt-get install zlib1g-dev liblz-dev | ||
+ | |||
=> sudo apt-get install liblzo2-2 liblzo2-dev | => sudo apt-get install liblzo2-2 liblzo2-dev | ||
+ | |||
=> sudo apt-get install lzop | => sudo apt-get install lzop | ||
+ | |||
=> sudo apt-get install git-core curl | => sudo apt-get install git-core curl | ||
+ | |||
=> sudo apt-get install u-boot-tools | => sudo apt-get install u-boot-tools | ||
+ | |||
=> sudo apt-get install mtd-utils | => sudo apt-get install mtd-utils | ||
+ | |||
=> sudo apt-get install android-tools-fsutils | => sudo apt-get install android-tools-fsutils | ||
+ | |||
=> sudo apt-get install openjdk-8-jdk | => sudo apt-get install openjdk-8-jdk | ||
+ | |||
=> sudo apt-get install device-tree-compiler | => sudo apt-get install device-tree-compiler | ||
+ | |||
=> sudo apt-get install gdisk | => sudo apt-get install gdisk | ||
+ | |||
=> sudo apt-get install m4 | => sudo apt-get install m4 | ||
+ | |||
=> sudo apt-get install libz-dev | => sudo apt-get install libz-dev | ||
− | + | ||
第28行: | 第40行: | ||
#### 安装openjdk8 | #### 安装openjdk8 | ||
− | + | ||
=> sudo add-apt-repository ppa:openjdk-r/ppa | => sudo add-apt-repository ppa:openjdk-r/ppa | ||
+ | |||
=> sudo apt-get update | => sudo apt-get update | ||
+ | |||
=> sudo apt-get install openjdk-8-jdk | => sudo apt-get install openjdk-8-jdk | ||
− | + | ||
- 编辑用户目录下的**.profile**文件中添加下面内容 | - 编辑用户目录下的**.profile**文件中添加下面内容 | ||
− | + | ||
=> vim ~/.profile | => vim ~/.profile | ||
+ | |||
#在文件未尾添加下面内容 | #在文件未尾添加下面内容 | ||
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 | export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 | ||
+ | |||
export JRE_HOME=$JAVA_HOME/jre | export JRE_HOME=$JAVA_HOME/jre | ||
+ | |||
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH | export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH | ||
+ | |||
export PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin | export PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin | ||
− | + | ||
- 重新加载**.profile**文件 | - 重新加载**.profile**文件 | ||
− | + | ||
=> source ~/.profile | => source ~/.profile | ||
+ | |||
# 查看jdk版本,验证安装 | # 查看jdk版本,验证安装 | ||
=> java -version | => java -version | ||
+ | |||
openjdk version "1.8.0_242" | openjdk version "1.8.0_242" | ||
+ | |||
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08) | OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08) | ||
+ | |||
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode) | OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode) | ||
− | + | ||
第66行: | 第88行: | ||
#### 解压源码 | #### 解压源码 | ||
− | + | ||
− | => cat imx8mm_android9.tar.bz2* | tar | + | => cat imx8mm_android9.tar.bz2* | tar xvj |
− | + | ||
第76行: | 第98行: | ||
#### 设置环境变量 | #### 设置环境变量 | ||
− | + | ||
=> export ANDROID_HOME=~/imx8mm_android | => export ANDROID_HOME=~/imx8mm_android | ||
+ | |||
=> export ARCH=arm64 | => export ARCH=arm64 | ||
+ | |||
=> export CROSS_COMPILE=~/imx8mm_android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android- | => export CROSS_COMPILE=~/imx8mm_android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android- | ||
+ | |||
=> source build/envsetup.sh | => source build/envsetup.sh | ||
+ | |||
=> lunch evk_8mm-userdebug | => lunch evk_8mm-userdebug | ||
− | + | ||
#### 编译system | #### 编译system | ||
第88行: | 第114行: | ||
- 开始编译 | - 开始编译 | ||
− | + | ||
=> cd $ANDROID_HOME | => cd $ANDROID_HOME | ||
+ | |||
=> make 2>&1 -j8 | tee build-log.txt | => make 2>&1 -j8 | tee build-log.txt | ||
− | + | ||
#### 编译uboot | #### 编译uboot | ||
− | + | ||
=> cd $ANDROID_HOME | => cd $ANDROID_HOME | ||
+ | |||
=> make bootloader -j8 | => make bootloader -j8 | ||
− | + | ||
#### 编译内核 | #### 编译内核 | ||
− | + | ||
=> cd $ANDROID_HOME | => cd $ANDROID_HOME | ||
+ | |||
=> cd vendor/nxp-opensource/kernel_imx | => cd vendor/nxp-opensource/kernel_imx | ||
+ | |||
=> make myzr_imx8mm_android_defconfig | => make myzr_imx8mm_android_defconfig | ||
+ | |||
=> make KCFLAGS=-mno-android -j8 | => make KCFLAGS=-mno-android -j8 | ||
− | + | ||
#### 编译bootimage | #### 编译bootimage | ||
− | + | ||
=> cd $ANDROID_HOME | => cd $ANDROID_HOME | ||
+ | |||
=> make bootimage -j8 | => make bootimage -j8 | ||
− | + | ||
#### 编译dtboimage | #### 编译dtboimage | ||
− | + | ||
=> cd $ANDROID_HOME | => cd $ANDROID_HOME | ||
+ | |||
=> make dtboimage -j8 | => make dtboimage -j8 | ||
− | + | ||
### 目标文件 | ### 目标文件 | ||
− | + | ||
=> cd $ANDROID_HOME | => cd $ANDROID_HOME | ||
+ | |||
=> cd out/target/product/evk_8mm | => cd out/target/product/evk_8mm | ||
− | # 下面是我们需要的文件 | + | |
− | # boot.img | + | ### 下面是我们需要的文件 |
− | # dtbo-imx8mm.img | + | ### boot.img |
− | # system.img | + | ### dtbo-imx8mm.img |
− | # partition-table.img | + | ### system.img |
− | # u-boot-imx8mm.imx | + | ### partition-table.img |
− | # u-boot-imx8mm-evk-uuu.imx | + | ### u-boot-imx8mm.imx |
− | # vbmeta-imx8mm.img | + | ### u-boot-imx8mm-evk-uuu.imx |
− | # vendor.img | + | ### vbmeta-imx8mm.img |
− | + | ### vendor.img |
2020年10月23日 (五) 11:43的最新版本
目录
i.Mx8mm android9.0编译手册
编译环境搭建
- ubuntu16.04
- openjdk8
依赖包安装
=> sudo apt-get install uuid uuid-dev
=> sudo apt-get install zlib1g-dev liblz-dev
=> sudo apt-get install liblzo2-2 liblzo2-dev
=> sudo apt-get install lzop
=> sudo apt-get install git-core curl
=> sudo apt-get install u-boot-tools
=> sudo apt-get install mtd-utils
=> sudo apt-get install android-tools-fsutils
=> sudo apt-get install openjdk-8-jdk
=> sudo apt-get install device-tree-compiler
=> sudo apt-get install gdisk
=> sudo apt-get install m4
=> sudo apt-get install libz-dev
安装openjdk8
=> sudo add-apt-repository ppa:openjdk-r/ppa
=> sudo apt-get update
=> sudo apt-get install openjdk-8-jdk
- 编辑用户目录下的.profile文件中添加下面内容
=> vim ~/.profile
在文件未尾添加下面内容
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin
- 重新加载.profile文件
=> source ~/.profile
查看jdk版本,验证安装
=> java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
准备源码包
下载源码包
- 到百度网盘MYZR-iMX8-201907/2.2_OS_Android9.1/02_Source目录下载imx8mm_android9.tar.bz2*的所有压缩包
解压源码
=> cat imx8mm_android9.tar.bz2* | tar xvj
编译
设置环境变量
=> export ANDROID_HOME=~/imx8mm_android
=> export ARCH=arm64
=> export CROSS_COMPILE=~/imx8mm_android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
=> source build/envsetup.sh
=> lunch evk_8mm-userdebug
编译system
- 开始编译
=> cd $ANDROID_HOME
=> make 2>&1 -j8 | tee build-log.txt
编译uboot
=> cd $ANDROID_HOME
=> make bootloader -j8
编译内核
=> cd $ANDROID_HOME
=> cd vendor/nxp-opensource/kernel_imx
=> make myzr_imx8mm_android_defconfig
=> make KCFLAGS=-mno-android -j8
编译bootimage
=> cd $ANDROID_HOME
=> make bootimage -j8
编译dtboimage
=> cd $ANDROID_HOME
=> make dtboimage -j8
目标文件
=> cd $ANDROID_HOME
=> cd out/target/product/evk_8mm