“MYZR-I.MX6-DEMO Android5.1.1环境搭建”的版本间的差异
第1行: | 第1行: | ||
<div> | <div> | ||
− | =安装ubuntu12.04 | + | =安装ubuntu12.04= |
(如果使用下载明远智睿的虚拟机,请直接跳到 下载源码并解压 这一节)<br> | (如果使用下载明远智睿的虚拟机,请直接跳到 下载源码并解压 这一节)<br> | ||
− | |||
在这里建议用户使用64bit的ubuntu12.04的操作系统,已经真机编译验证过。<br> | 在这里建议用户使用64bit的ubuntu12.04的操作系统,已经真机编译验证过。<br> | ||
− | |||
− | =安装openjdk1.7 | + | =安装openjdk1.7= |
运行一下命令安装openjdk1.7<br> | 运行一下命令安装openjdk1.7<br> | ||
− | |||
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"<br> | sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"<br> | ||
sudo apt-get update<br> | sudo apt-get update<br> | ||
第15行: | 第12行: | ||
$ sudo gedit /etc/profile<br> | $ sudo gedit /etc/profile<br> | ||
增加以下环境变量<br> | 增加以下环境变量<br> | ||
− | |||
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/<br> | export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/<br> | ||
export JRE_HOME=$JAVA_HOME/jre<br> | export JRE_HOME=$JAVA_HOME/jre<br> | ||
第23行: | 第19行: | ||
$ java –version<br> | $ java –version<br> | ||
(看到版本为1.7.0_101就表示成功)<br> | (看到版本为1.7.0_101就表示成功)<br> | ||
− | |||
[[文件:MY_I.MX6_DEMO_Android5.1.1_1.png]]<br> | [[文件:MY_I.MX6_DEMO_Android5.1.1_1.png]]<br> | ||
− | =安装编译Android系统所需要的库 | + | =安装编译Android系统所需要的库= |
(详细信息,请看网站http://source.android.com/source/initializing.html)<br> | (详细信息,请看网站http://source.android.com/source/initializing.html)<br> | ||
− | |||
$ sudo apt-get 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-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386<br> | $ sudo apt-get 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-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386<br> | ||
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so<br> | $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so<br> | ||
第39行: | 第33行: | ||
$ sudo apt-get install android-tools-fsutils<br> | $ sudo apt-get install android-tools-fsutils<br> | ||
− | =下载源码并解压源码 | + | =下载源码并解压源码= |
− | ==4.1下载源码 | + | ==4.1下载源码== |
登陆http://www.myzr.com.cn下载专区下载Android5.1源码<br> | 登陆http://www.myzr.com.cn下载专区下载Android5.1源码<br> | ||
− | |||
Android5.1.1的分卷压缩解压后的源码包:myzr_android-5.1.1.tar.bz2<br> | Android5.1.1的分卷压缩解压后的源码包:myzr_android-5.1.1.tar.bz2<br> | ||
− | |||
− | ==解压源码 | + | ==解压源码== |
$ mkdir ~/myandroid5.1<br> | $ mkdir ~/myandroid5.1<br> | ||
$ cd ~<br> | $ cd ~<br> | ||
$ tar -jxvf myzr_android-5.1.1_r1.tar.bz2<br> | $ tar -jxvf myzr_android-5.1.1_r1.tar.bz2<br> | ||
− | ==编译源码(Android系统) | + | ==编译源码(Android系统)== |
− | ===设置环境变量 | + | ===设置环境变量=== |
$ export ARCH=arm<br> | $ export ARCH=arm<br> | ||
− | $ export CROSS_COMPILE=~/myandroid5.1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- <br> | + | $ export CROSS_COMPILE=~/myandroid5.1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-<br> |
$ export PATH=~/myandroid5.1/bootable/bootloader/uboot-imx/tools:$PATH<br> | $ export PATH=~/myandroid5.1/bootable/bootloader/uboot-imx/tools:$PATH<br> | ||
− | ===编译uboot | + | ===编译uboot=== |
$ cd ~/myandroid5.1/bootable/bootloader/uboot-imx<br> | $ cd ~/myandroid5.1/bootable/bootloader/uboot-imx<br> | ||
$ make distclean<br> | $ make distclean<br> | ||
$ make myimx6ek200-6q_android_defconfig (EK200-6Q-1G配置)<br> | $ make myimx6ek200-6q_android_defconfig (EK200-6Q-1G配置)<br> | ||
− | + | 或 $ make myimx6ek200-6q-2g_android_defconfig (EK200-6Q-2G配置)<br> | |
− | 或 $ make myimx6ek200-6q-2g_android_defconfig | ||
− | |||
或 $ make myimx6ek200-6qp_android_defconfig (EK200-6QP-1G配置)<br> | 或 $ make myimx6ek200-6qp_android_defconfig (EK200-6QP-1G配置)<br> | ||
− | + | 或 $ make myimx6ek200-6s-1g_android_defconfig (EK200-6S-1G配置)<br> | |
− | 或 $ make myimx6ek200-6s-1g_android_defconfig | ||
− | |||
或 $ make myimx6ek200-6u_android_defconfig (EK200-6U-1G配置)<br> | 或 $ make myimx6ek200-6u_android_defconfig (EK200-6U-1G配置)<br> | ||
− | |||
或 $ make myimx6ek314-6q-2g_android_defconfig (EK314-6Q-2G配置)<br> | 或 $ make myimx6ek314-6q-2g_android_defconfig (EK314-6Q-2G配置)<br> | ||
− | |||
或 $ make myimx6ek314-6q_android_defconfig (EK314-6Q-1G配置)<br> | 或 $ make myimx6ek314-6q_android_defconfig (EK314-6Q-1G配置)<br> | ||
− | |||
或 $ make myimx6ek314-6u_android_defconfig (EK314-6U-2G配置)<br> | 或 $ make myimx6ek314-6u_android_defconfig (EK314-6U-2G配置)<br> | ||
− | |||
$ make<br> | $ make<br> | ||
− | ===编译kernel | + | ===编译kernel=== |
$ cd ~/myandroid5.1/kernel_imx<br> | $ cd ~/myandroid5.1/kernel_imx<br> | ||
$ cp myzr.config .config<br> | $ cp myzr.config .config<br> | ||
$ make uImage LOADADDR=0x10008000<br> | $ make uImage LOADADDR=0x10008000<br> | ||
− | ===编译bootimg (uImage和ramdisk | + | ===编译bootimg (uImage和ramdisk)=== |
$ cd ~/myandroid5.1<br> | $ cd ~/myandroid5.1<br> | ||
$ source build/envsetup.sh<br> | $ source build/envsetup.sh<br> | ||
第89行: | 第73行: | ||
$ make bootimage<br> | $ make bootimage<br> | ||
− | ===编译system | + | ===编译system=== |
$ cd ~/myandroid5.1<br> | $ cd ~/myandroid5.1<br> | ||
$ source build/envsetup.sh<br> | $ source build/envsetup.sh<br> | ||
第95行: | 第79行: | ||
$ make<br> | $ make<br> | ||
结果如下图所示:<br> | 结果如下图所示:<br> | ||
− | |||
[[文件:MY_I.MX6_DEMO_Android5.1.1_2.png]]<br> | [[文件:MY_I.MX6_DEMO_Android5.1.1_2.png]]<br> | ||
注意:生成的u-boot.imx在~/myandroid/bootable/bootloader/uboot-imx目录下,boot.img和recovery.img和system.img在~/myandroid/out/target/product/myimx6ek_6dq目录下。<br> | 注意:生成的u-boot.imx在~/myandroid/bootable/bootloader/uboot-imx目录下,boot.img和recovery.img和system.img在~/myandroid/out/target/product/myimx6ek_6dq目录下。<br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | =启动环境变量设置= | ||
+ | ==单屏显示== | ||
+ | === LVDS设置 === | ||
+ | setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 | ||
+ | androidboot.hardware=freescale cma=384M(不能用调试串口)<br> | ||
setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32<br> | setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32<br> | ||
− | video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled(可以用调试串口) | + | video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M |
− | + | androidboot.selinux=disabled androidboot.dm_verity=disabled(可以用调试串口)<br> | |
− | |||
− | === HDMI设置 | + | === HDMI设置 === |
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M<br> | setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M<br> | ||
(不能用调试串口)<br> | (不能用调试串口)<br> | ||
− | |||
− | |||
− | |||
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M<br> | setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M<br> | ||
androidboot.selinux=disabled androidboot.dm_verity=disabled(可以用调试串口)<br> | androidboot.selinux=disabled androidboot.dm_verity=disabled(可以用调试串口)<br> | ||
− | |||
− | |||
− | ==双屏显示 | + | ==双屏显示== |
− | === LVDS+HDMI设置 | + | === LVDS+HDMI设置 === |
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=hdmi,<br> | setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=hdmi,<br> | ||
1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M (不能用调试串口)<br> | 1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M (不能用调试串口)<br> | ||
− | |||
− | |||
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled (可以用调试串口)<br> | setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled (可以用调试串口)<br> | ||
− | |||
</div> | </div> |
2018年7月27日 (五) 09:50的版本
目录
安装ubuntu12.04
(如果使用下载明远智睿的虚拟机,请直接跳到 下载源码并解压 这一节)
在这里建议用户使用64bit的ubuntu12.04的操作系统,已经真机编译验证过。
安装openjdk1.7
运行一下命令安装openjdk1.7
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install openjdk-7-jdk
$ sudo gedit /etc/profile
增加以下环境变量
export JAVA_HOME=/usr/lib/jvm/java-7-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
$ source /etc/profile
$ java –version
(看到版本为1.7.0_101就表示成功)
安装编译Android系统所需要的库
(详细信息,请看网站http://source.android.com/source/initializing.html)
$ sudo apt-get 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-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
$ 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
下载源码并解压源码
4.1下载源码
登陆http://www.myzr.com.cn下载专区下载Android5.1源码
Android5.1.1的分卷压缩解压后的源码包:myzr_android-5.1.1.tar.bz2
解压源码
$ mkdir ~/myandroid5.1
$ cd ~
$ tar -jxvf myzr_android-5.1.1_r1.tar.bz2
编译源码(Android系统)
设置环境变量
$ export ARCH=arm
$ export CROSS_COMPILE=~/myandroid5.1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
$ export PATH=~/myandroid5.1/bootable/bootloader/uboot-imx/tools:$PATH
编译uboot
$ cd ~/myandroid5.1/bootable/bootloader/uboot-imx
$ make distclean
$ make myimx6ek200-6q_android_defconfig (EK200-6Q-1G配置)
或 $ make myimx6ek200-6q-2g_android_defconfig (EK200-6Q-2G配置)
或 $ make myimx6ek200-6qp_android_defconfig (EK200-6QP-1G配置)
或 $ make myimx6ek200-6s-1g_android_defconfig (EK200-6S-1G配置)
或 $ make myimx6ek200-6u_android_defconfig (EK200-6U-1G配置)
或 $ make myimx6ek314-6q-2g_android_defconfig (EK314-6Q-2G配置)
或 $ make myimx6ek314-6q_android_defconfig (EK314-6Q-1G配置)
或 $ make myimx6ek314-6u_android_defconfig (EK314-6U-2G配置)
$ make
编译kernel
$ cd ~/myandroid5.1/kernel_imx
$ cp myzr.config .config
$ make uImage LOADADDR=0x10008000
编译bootimg (uImage和ramdisk)
$ cd ~/myandroid5.1
$ source build/envsetup.sh
$ lunch myimx6ek_6dq-user
$ make bootimage
编译system
$ cd ~/myandroid5.1
$ source build/envsetup.sh
$ lunch myimx6ek_6dq-user
$ make
结果如下图所示:
注意:生成的u-boot.imx在~/myandroid/bootable/bootloader/uboot-imx目录下,boot.img和recovery.img和system.img在~/myandroid/out/target/product/myimx6ek_6dq目录下。
启动环境变量设置
单屏显示
LVDS设置
setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0
androidboot.hardware=freescale cma=384M(不能用调试串口)
setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32
video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M
androidboot.selinux=disabled androidboot.dm_verity=disabled(可以用调试串口)
HDMI设置
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M
(不能用调试串口)
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M
androidboot.selinux=disabled androidboot.dm_verity=disabled(可以用调试串口)
双屏显示
LVDS+HDMI设置
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=hdmi,
1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M (不能用调试串口)
setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled (可以用调试串口)