“MYZR-IMX8MM-EK240-8MM android9.0 编译参考手册”的版本间的差异

来自明远智睿的wiki
跳转至: 导航搜索
(创建页面,内容为“## i.Mx8mm android9.0编译手册 ### 编译环境搭建 - ubuntu16.04 - openjdk8 #### 依赖包安装 ```shell => sudo apt-get install uuid uuid-dev => sudo apt...”)
 
 
(未显示同一用户的7个中间版本)
第8行: 第8行:
 
#### 依赖包安装
 
#### 依赖包安装
  
```shell
+
 
 
=> 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
  
```shell
+
 
 
=> 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**文件中添加下面内容
  
```shell
+
 
 
=> 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**文件
  
```shell
+
 
 
=> 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行:
 
#### 解压源码
 
#### 解压源码
  
```shell
+
 
=> cat imx8mm_android9.tar.bz2* | tar zvxf -
+
=> cat imx8mm_android9.tar.bz2* | tar xvj
```
+
 
  
  
第76行: 第98行:
 
#### 设置环境变量
 
#### 设置环境变量
  
```shell
+
 
 
=> 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行:
 
- 开始编译
 
- 开始编译
  
```shell
+
 
 
=> cd $ANDROID_HOME
 
=> cd $ANDROID_HOME
 +
 
=> make 2>&1 -j8 | tee build-log.txt
 
=> make 2>&1 -j8 | tee build-log.txt
```
+
 
  
 
#### 编译uboot
 
#### 编译uboot
  
```shell
+
 
 
=> cd $ANDROID_HOME
 
=> cd $ANDROID_HOME
 +
 
=> make bootloader -j8
 
=> make bootloader -j8
```
+
 
  
 
#### 编译内核
 
#### 编译内核
  
```shell
+
 
 
=> 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
  
```shell
+
 
 
=> cd $ANDROID_HOME
 
=> cd $ANDROID_HOME
 +
 
=> make bootimage -j8
 
=> make bootimage -j8
```
+
 
  
 
#### 编译dtboimage
 
#### 编译dtboimage
  
```shell
+
 
 
=> cd $ANDROID_HOME
 
=> cd $ANDROID_HOME
 +
 
=> make dtboimage -j8
 
=> make dtboimage -j8
```
+
 
  
 
### 目标文件
 
### 目标文件
  
```shell
+
 
 
=> 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

下面是我们需要的文件

boot.img

dtbo-imx8mm.img

system.img

partition-table.img

u-boot-imx8mm.imx

u-boot-imx8mm-evk-uuu.imx

vbmeta-imx8mm.img

vendor.img