Skip to main content

IoTGateway/BSP/Android/ABV2 User Guide iMX6

Introduction

From ESS-WIKI
Jump to: navigation, search

Android BSP User Guide for iMX6 series

Getting Started

Prerequisites

All operations in this guide are based on Ubuntu 12.04 LTS 64bit only.

First please install Ubuntu 12.04 LTS 64bit with minimum 2GB memory.
Example ISO: ubuntu-12.04.1-desktop-amd64.iso

To install required packages

Please login and perform the following commands:

sudo apt-get install ssh
sudo apt-get install ia32-libs libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 zlib1g-dev:i386 uuid-dev:i386 liblzo2-dev:i386 \
libncurses5-dev:i386

sudo apt-get install bison build-essential ccache dpkg flex gcc g++ gettext intltool libarchive-zip-perl libfreetype6-dev libdbus-glib-1-dev liborbit2-dev libxml2-dev libx11-dev libgtk2.0-dev liblzo2-2 libtool m4 patch rpm tcl uboot-mkimage uuid zlib1g zlib1g-dev git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev 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 gcc-4.6 g++-4.6 cpp-4.6 gcc-4.6-multilib uuid-dev liblzo2-dev uboot-mkimage libarchive-zip-perl wget git-core unzip texinfo gawk diffstat build-essential chrpath sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc xterm

sudo apt-get install libncurses5-dev:i386 liblzo2-dev:i386 uuid-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

tar zcvf ~/usr_lib_i386-linux-gnu_for_Building_Android_KK.tar.gz /usr/lib/i386-linux-gnu/{libuuid.a,libuuid.so,liblzo2.so,liblzo2.a}

sudo apt-get install uuid-dev liblzo2-dev
sudo tar zxvf ~/usr_lib_i386-linux-gnu_for_Building_Android_KK.tar.gz -C /

To install JDK

Please download jdk-6u45-linux-x64.bin manually, put it into ~/FILES/ and perform the following:

cd /usr/lib
sudo ~/FILES/jdk-6u45-linux-x64.bin
sudo mkdir jvm
cd jvm
sudo mv ../jdk1.6.0_45 .
cd jdk1.6.0_45/

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/jre/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 2
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_45/bin/jar 2
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_45/bin/javap 2
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk1.6.0_45/bin/javadoc 2

sudo update-alternatives --config javap
sudo update-alternatives --config javadoc
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar

cd ~/
echo "JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45" | sudo tee -a /etc/environment

Introducing BSP

The BSP contains cross toolchain, Linux kernel source code, u-boot source code, Android root file system and some scripts.
It consists of three top folders: android, image, scripts.

Overview

  • android/prebuilt/gcc/linux-x86/host/ : cross toolchain
  • bootable/bootloader/uboot-imx/ : u-boot source code
  • kernel_imx/ : linux kernel source code
  • device/fsl/ : Android device related settings
  • fsl-proprietary/ : modules & firmware (e.g. WiFi, GPU)
  • processors/imx/ : HAL (Hardware Abstraction Layer)
  • image/ : all built images
  • scripts/ : simplify building process (refer to 1.4 & 1.5)

Naming Rule

It consists of model name + "AB" + version number.
Example: 4410ABV2080 → "4410" = RSB-4410, "AB" = Android BSP, "V2080" = version 2.080.

Other model names:

  • 3420 → ROM-3420
  • 5420 → ROM-5420
  • 7420 → ROM-7420
  • DS31 → UBC-DS31
  • U220 → UBC-220

Conventions

  • ${BOARD} : target board (rsb_4410 / rom_3420 / rom_5420 / rom_7420 / ubc_ds31 / ubc_200)
  • ${BSPHOME} : BSP root directory
  • ${SD_DEVICE} : SD card device in Ubuntu (e.g. /dev/sdf)
  • ${MMC_DEVICE} : on-board eMMC device in Android (e.g. /dev/block/mmcblk0)

Debug console / serial console: serial terminal program (minicom, putty, teraterm) at 115200 8N1.
Terminal console: terminal program (gnome-terminal, xfce4-terminal).

Build Instructions

To build everything

Engineer version (default):

cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD}

User version:

cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD} user

To build boot loader

cd ${BSPHOME}/scripts
./mk_bootloader.sh ${BOARD}

To build boot image

cd ${BSPHOME}/scripts
./mk_bootimg.sh ${BOARD}

To build recovery image

cd ${BSPHOME}/scripts
./mk_recoveryimg.sh ${BOARD}

To build system image

cd ${BSPHOME}/scripts
./mk_systemimg.sh ${BOARD}

To build OTA image

cd ${BSPHOME}/scripts
./mk_otapackage.sh ${BOARD}

The OTA package update.zip is located in:
../android/out/target/product/${BOARD}/

Boot up from SD card or eMMC

To create a bootable SD card

cd ${BSPHOME}/scripts
./mksd-android.sh ${SD_DEVICE}

To transfer whole system to onboard eMMC

Boot from SD card then run:

cd /data/mkimage/scripts
sh ./mksd-android.sh ${MMC_DEVICE}

Remove SD card, then target board can boot from onboard eMMC.

Software Functionality

Serial Port Test

Serial Port Setup

  1. Click "Serial Port"
    serialport.png

  2. Click "Setup"
    serialport setup.png

  3. Select device (e.g. ttymxc1)
    serialport setup device1.png

  4. Select baudrate (e.g. 115200)
    serialport setup device2.png

Console Test

  • Open serial console, click "Console".
    console.png

Type This is a test. 123456789ABCDEF → message shows up.
console serialport.png

Send "MESSAGE from Android" → message shows in console.
console message.png

Loopback Test

  • Plug loopback into COM2, click "Loopback".
    loopback.png

Send01010101 Test

  • Open serial console, click "Send01010101".
    Character "U" (01010101) shows continuously.
    send01010101.png

Display Output Option

Single HDMI Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

Single VGA Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

Single LVDS Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb,1024x768M@60,bpp=24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

Dual Display (HDMI + VGA)

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off fbmem=28M,28M androidboot.processors=freescale'
saveenv
reset

Network Setup

Wi-Fi

  1. Open "Settings", turn Wi-Fi on.
    wifi on

  2. Choose ESSID (ex: Testing), enter password.
    wifi essid
    wifi password

  3. Authenticating / connecting / obtaining IP...
    wifi auth
    wifi connect
    wifi ip

  4. Connected
    wifi connected

Ethernet

  1. "Settings" → "Ethernet configuration".
    eth config

  2. Open Ethernet, configure DHCP or static.
    eth dhcp
    eth static

To update system

  1. Build OTA package (ref 1.4.6).

  2. Copy update.zip to SD card, insert.

  3. "Settings" → "About tablet" → "Addition system updates".
    update settings

  4. System reboots for updating.
    poweroff

System Recovery

Refer to 1.5.1 & 1.5.2 to create bootable SD card and transfer system to eMMC.


To install JDK

Please download jdk-6u45-linux-x64.bin manually, put it into ~/FILES/ and perform the following:

cd /usr/lib
sudo ~/FILES/jdk-6u45-linux-x64.bin
sudo mkdir jvm
cd jvm
sudo mv ../jdk1.6.0_45 .
cd jdk1.6.0_45/

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/jre/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 2
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_45/bin/jar 2
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_45/bin/javap 2
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk1.6.0_45/bin/javadoc 2

sudo update-alternatives --config javap
sudo update-alternatives --config javadoc
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar

cd ~/
echo "JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45" | sudo tee -a /etc/environment
cd /usr/lib
sudo ~/FILES/jdk-6u45-linux-x64.bin
sudo mkdir jvm
cd jvm
sudo mv ../jdk1.6.0_45 .
cd jdk1.6.0_45/

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/jre/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 2
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_45/bin/jar 2
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_45/bin/javap 2
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk1.6.0_45/bin/javadoc 2

sudo update-alternatives --config javap
sudo update-alternatives --config javadoc
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar

cd ~/
echo "JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45" | sudo tee -a /etc/environment

Introducing BSP

The BSP contains cross toolchain, Linux kernel source code, u-boot source code, Android root file system and some scripts.
It consists of three top folders: android, image, scripts.

Overview

  • android/prebuilt/gcc/linux-x86/host/ : cross toolchain
  • bootable/bootloader/uboot-imx/ : u-boot source code
  • kernel_imx/ : linux kernel source code
  • device/fsl/ : Android device related settings
  • fsl-proprietary/ : modules & firmware (e.g. WiFi, GPU)
  • processors/imx/ : HAL (Hardware Abstraction Layer)
  • image/ : all built images
  • scripts/ : simplify building process (refer to 1.4 & 1.5)

Naming Rule

It consists of model name + "AB" + version number.
Example: 4410ABV2080 → "4410" = RSB-4410, "AB" = Android BSP, "V2080" = version 2.080.

Other model names:

  • 3420 → ROM-3420
  • 5420 → ROM-5420
  • 7420 → ROM-7420
  • DS31 → UBC-DS31
  • U220 → UBC-220

Conventions

  • ${BOARD} : target board (rsb_4410 / rom_3420 / rom_5420 / rom_7420 / ubc_ds31 / ubc_200)
  • ${BSPHOME} : BSP root directory
  • ${SD_DEVICE} : SD card device in Ubuntu (e.g. /dev/sdf)
  • ${MMC_DEVICE} : on-board eMMC device in Android (e.g. /dev/block/mmcblk0)

Debug console / serial console: serial terminal program (minicom, putty, teraterm) at 115200 8N1.
Terminal console: terminal program (gnome-terminal, xfce4-terminal).

Build Instructions

To build everything

Engineer version (default):

cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD}

User version:

cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD} user

To build boot loader

cd ${BSPHOME}/scripts
./mk_bootloader.sh ${BOARD}

To build boot image

cd ${BSPHOME}/scripts
./mk_bootimg.sh ${BOARD}

To build recovery image

cd ${BSPHOME}/scripts
./mk_recoveryimg.sh ${BOARD}

To build system image

cd ${BSPHOME}/scripts
./mk_systemimg.sh ${BOARD}

To build OTA image

cd ${BSPHOME}/scripts
./mk_otapackage.sh ${BOARD}

The OTA package update.zip is located in:
../android/out/target/product/${BOARD}/

Boot up from SD card or eMMC

To create a bootable SD card

cd ${BSPHOME}/scripts
./mksd-android.sh ${SD_DEVICE}

To transfer whole system to onboard eMMC

Boot from SD card then run:

cd /data/mkimage/scripts
sh ./mksd-android.sh ${MMC_DEVICE}

Remove SD card, then target board can boot from onboard eMMC.

Software Functionality

Serial Port Test

Serial Port Setup

  1. Click "Serial Port"
    serialport.png

  2. Click "Setup"
    serialport setup.png

  3. Select device (e.g. ttymxc1)
    serialport setup device1.png

  4. Select baudrate (e.g. 115200)
    serialport setup device2.png

Console Test

  • Open serial console, click "Console".
    console.png

Type This is a test. 123456789ABCDEF → message shows up.
console serialport.png

Send "MESSAGE from Android" → message shows in console.
console message.png

Loopback Test

  • Plug loopback into COM2, click "Loopback".
    loopback.png

Send01010101 Test

  • Open serial console, click "Send01010101".
    Character "U" (01010101) shows continuously.
    send01010101.png

Display Output Option

Single HDMI Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

Single VGA Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

Single LVDS Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb,1024x768M@60,bpp=24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

Dual Display (HDMI + VGA)

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off fbmem=28M,28M androidboot.processors=freescale'
saveenv
reset

Network Setup

Wi-Fi

  1. Open "Settings", turn Wi-Fi on.
    wifi on

  2. Choose ESSID (ex: Testing), enter password.
    wifi essid
    wifi password

  3. Authenticating / connecting / obtaining IP...
    wifi auth
    wifi connect
    wifi ip

  4. Connected
    wifi connected

Ethernet

  1. "Settings" → "Ethernet configuration".
    eth config

  2. Open Ethernet, configure DHCP or static.
    eth dhcp
    eth static

To update system

  1. Build OTA package (ref 1.4.6).

  2. Copy update.zip to SD card, insert.

  3. "Settings" → "About tablet" → "Addition system updates".
    update settings

  4. System reboots for updating.
    poweroff

System Recovery

Refer to 1.5.1 & 1.5.2 to create bootable SD card and transfer system to eMMC.


Introducing BSP

The BSP contains cross toolchain, Linux kernel source code, u-boot source code, Android root file system and some scripts.
It consists of three top folders: android, image, scripts.

Overview

  • android/prebuilt/gcc/linux-x86/host/ : cross toolchain
  • bootable/bootloader/uboot-imx/ : u-boot source code
  • kernel_imx/ : linux kernel source code
  • device/fsl/ : Android device related settings
  • fsl-proprietary/ : modules & firmware (e.g. WiFi, GPU)
  • processors/imx/ : HAL (Hardware Abstraction Layer)
  • image/ : all built images
  • scripts/ : simplify building process (refer to 1.4 & 1.5)

Naming Rule

It consists of model name + "AB" + version number.
Example: 4410ABV2080 → "4410" = RSB-4410, "AB" = Android BSP, "V2080" = version 2.080.

Other model names:

  • 3420 → ROM-3420
  • 5420 → ROM-5420
  • 7420 → ROM-7420
  • DS31 → UBC-DS31
  • U220 → UBC-220

Conventions

  • ${BOARD} : target board (rsb_4410 / rom_3420 / rom_5420 / rom_7420 / ubc_ds31 / ubc_200)
  • ${BSPHOME} : BSP root directory
  • ${SD_DEVICE} : SD card device in Ubuntu (e.g. /dev/sdf)
  • ${MMC_DEVICE} : on-board eMMC device in Android (e.g. /dev/block/mmcblk0)

Debug console / serial console: serial terminal program (minicom, putty, teraterm) at 115200 8N1.
Terminal console: terminal program (gnome-terminal, xfce4-terminal).

Build Instructions

To build everything

Engineer version (default):

cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD}
cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD}

User version:
```bash
cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD} user
cd ${BSPHOME}/scripts
./mk_android.sh ${BOARD} user

### To build boot loader
```bash
cd ${BSPHOME}/scripts
./mk_bootloader.sh ${BOARD}
cd ${BSPHOME}/scripts
./mk_bootloader.sh ${BOARD}

### To build boot image
```bash
cd ${BSPHOME}/scripts
./mk_bootimg.sh ${BOARD}
cd ${BSPHOME}/scripts
./mk_bootimg.sh ${BOARD}

### To build recovery image
```bash
cd ${BSPHOME}/scripts
./mk_recoveryimg.sh ${BOARD}
cd ${BSPHOME}/scripts
./mk_recoveryimg.sh ${BOARD}

### To build system image
```bash
cd ${BSPHOME}/scripts
./mk_systemimg.sh ${BOARD}
cd ${BSPHOME}/scripts
./mk_systemimg.sh ${BOARD}

### To build OTA image
```bash
cd ${BSPHOME}/scripts
./mk_otapackage.sh ${BOARD}
``````bash
cd ${BSPHOME}/scripts
./mk_otapackage.sh ${BOARD}

The OTA package update.zip is located in:
../android/out/target/product/${BOARD}/

Boot up from SD card or eMMC

To create a bootable SD card

cd ${BSPHOME}/scripts
./mksd-android.sh ${SD_DEVICE}
cd ${BSPHOME}/scripts
./mksd-android.sh ${SD_DEVICE}

### To transfer whole system to onboard eMMC

Boot from SD card then run:
```bash
cd /data/mkimage/scripts
sh ./mksd-android.sh ${MMC_DEVICE}
``````bash
cd /data/mkimage/scripts
sh ./mksd-android.sh ${MMC_DEVICE}

Remove SD card, then target board can boot from onboard eMMC.

Software Functionality

Serial Port Test

Serial Port Setup

  1. Click "Serial Port"
    serialport.png

  2. Click "Setup"
    serialport setup.png

  3. Select device (e.g. ttymxc1)
    serialport setup device1.png

  4. Select baudrate (e.g. 115200)
    serialport setup device2.png

Console Test

  • Open serial console, click "Console".
    console.png

Type This is a test. 123456789ABCDEF → message shows up.
console serialport.png

Send "MESSAGE from Android" → message shows in console.
console message.png

Loopback Test

  • Plug loopback into COM2, click "Loopback".
    loopback.png

Send01010101 Test

  • Open serial console, click "Send01010101".
    Character "U" (01010101) shows continuously.
    send01010101.png

Display Output Option

Single HDMI Display

setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

### Single VGA Display
```console
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

### Single LVDS Display
```console
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb,1024x768M@60,bpp=24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb,1024x768M@60,bpp=24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=28M androidboot.processors=freescale'
saveenv
reset

### Dual Display (HDMI + VGA)
```console
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off fbmem=28M,28M androidboot.processors=freescale'
saveenv
reset
setenv bootargs 'console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb2:off video=mxcfb3:off fbmem=28M,28M androidboot.processors=freescale'
saveenv
reset

## Network Setup

### Wi-Fi
1. Open "Settings", turn Wi-Fi on.
![wifi on](img/800px-Imx6ABV1_settings_wifi_on.png)

2. Choose ESSID (ex: Testing), enter password.
![wifi essid](img/800px-Imx6ABV1_settings_wifi_choose_ESSID.png)
![wifi password](img/Imx6ABV1_settings_wifi_password.jpg)

3. Authenticating / connecting / obtaining IP...
![wifi auth](img/800px-Imx6ABV1_settings_wifi_authenticating.png)
![wifi connect](img/800px-Imx6ABV1_settings_wifi_connecting.png)
![wifi ip](img/800px-Imx6ABV1_settings_wifi_obtaining_ip.png)

4. Connected
![wifi connected](img/800px-Imx6ABV1_settings_wifi_connected.png)

### Ethernet
1. "Settings" → "Ethernet configuration".
![eth config](img/800px-Imx6ABV1_settings_ethernet_config.png)

2. Open Ethernet, configure DHCP or static.
![eth dhcp](img/400px-Imx6ABV1_settings_ethernet_config_dhcp.png)
![eth static](img/400px-Imx6ABV1_settings_ethernet_config_static.png)

## To update system

1. Build OTA package (ref 1.4.6).
2. Copy `update.zip` to SD card, insert.
3. "Settings" → "About tablet" → "Addition system updates".
![update settings](img/800px-Imx6ABV1_settings_addition_system_updates.png)

4. System reboots for updating.
![poweroff](img/800px-Imx6ABV1_poweroff.png)

# System Recovery

Refer to **1.5.1** & **1.5.2** to create bootable SD card and transfer system to eMMC.

---