Android Nougat 7.1.1 release for i.MX6 boards
Published on April 7, 2017
We are glad to deliver the latest Android Nougat 7.1.1 GA release for most our i.MX platforms:
- BD-SL-i.MX6 (SABRE Lite)
- Nitrogen6x
- Nitrogen6_Max (Quad and QuadPlus)
- Nitrogen6_SOM
- Nitrogen6_SOMv2
- Nitrogen6_Lite
- Nit6_SoloX
- Nitrogen6_VM
We now recommend this release for new designs.
For the impatient
You can download the Android Nougat images from here:
- n711-nitrogen6x-20170824.img.gz for Nitrogen6X/MAX/SOM/SOMv2/VM, BD-SL-i.MX6
- n711-nitrogen6x-qca-20170824.img.gz for same platforms but with Silex Module instead of TiWi-BLE
- n711-nit6xlite-20170824.img.gz for Nitrogen6_Lite
- NOTE: For boards with only 512MB of RAM, KitKat 4.4.3 is the best option.
- n711-nitrogen6sx-20170824.img.gz for Nit6_SoloX
Update 20170426 changelog:
- Improved BT rfkill management for Silex module
- Fixed CMA default amount for MAX boot
- Fixed HDMI unblank issue
Update 20170711 changelog:
- Update kernel revision to latest
- Added support for i.MX6DL variant of SOM2
- Better camera support:
- Can now set back/front_camera_name/orient from U-Boot
Update 20170824 changelog:
- Update kernel revision to latest
- New (better) driver for GSLx680 touch controllers
- Fixed CMA issue once and for all!
As usual, you'll need to register on our site and agree to the EULA because it contains Freescale content.The image is a 4GB SD card image that can be restored using zcat
and dd
under Linux.
~$ zcat n711*.img.gz | sudo dd of=/dev/sdX bs=1M
For Windows users, please use Alex Page's USB Image Tool.
What's new?
This section will only describe the changes brought either by the OS update itself or modified/added features.
Android Nougat updates
Here is a non-exhaustive list of noticeable changes between Android 6.0.1 and 7.1.1:
- Security enhancements
- SELinux policies more strict
- File-based encryption: better isolate and protect files for individual users
- UI updates
- Customizable Quick Settings: Rearrange your Quick Setting tiles so you can get to what you want faster
-
- Settings suggestions: Within Settings, get suggestions for how to get even more out of your device
-
- 'Clear all' in Overview: Instantly close all of your apps running in the background by tapping 'clear all' in Overview
- Browser app is gone
- It is instead replaced with a Browser2 which offers a simplistic WebView
- Let us know if that affects your application, there are some people porting the old app forward
- Multi-Window mode
- Works a lot better than the experimental version of Marshmallow
- Simply perform a long press on the Overview button (square next to home button) to trigger that mode
Google also provides a list of notable changes for developers:
For a more complete changelog between the two versions, we invite you to look at the very nice Opersys website which lists all the different commits between every version:
Same as before, TiWi-BLE offer the WiFi-P2P feature (also called WiFi Direct) but its firmware has proven not be stable.In case you want to disabled that feature to have a more stable connection, enter the following command line:
~/$ adb shell 'setprop persist.sys.wifidirect disabled'
Linux Kernel 4.1.15
This Android Nougat release is based on a 4.1.15 kernel. It therefore benefits from all our latest drivers/fixes as well as newest Vivante graphics libraries (v6.2.0.p2).As a reminder, kernel 3.14 and above require to use a modern U-Boot so please make sure to update U-Boot.
U-Boot v2017.03
As said in the previous section, using a Linux Kernel >= 3.14.x now requires to have a recent U-Boot version due to our new display detection mechanism.Moreover, U-Boot versions prior to v2017.03 did not support sparse images properly.More information on those U-Boot changes on a previous blog post:
As of this writing, the latest version we support is the 2017.03. You can download binaries directly from this webpage:
Boundary Devices additions
- Camera HALv3 improvements
- This releases offers continuous autofocus support for our cameras
- Also the 'focus to area' feature is fully working for our OV5640_MIPI
- The OV5642 firmware seems to be limited to that regard
- Below is an example where we force the focus to happen at the bottom right corner instead of center:
- Support for new 802.11b/g/n/ac + BT4.1 Silex Module
- https://boundarydevices.com/new-silex-wifi-802-11ac-bt4-1-module/
- Available variant for Nitrogen6X and Nitrogen6_MAX
- Simply issue the following command before building the image:
~/myandroid$ sed -i 's/TI/QCA/' device/boundary/nitrogen6x/wifi_config.mk
-
- Then in U-Boot you need to enable the proper rfkill node:
=> setenv cmd_custom 'fdt set bt_kim status disabled; fdt set bt_rfkill status okay'
=> savee
- Bluetooth Low Energy advertising
- Now working for the Silex module (TiWi doesn't due to firmware limitation)
- Using Google BluetoothLeGatt Sample app on any phone:
- Using Google BluetoothAdvertisements Sample app on Nitrogen6x:
- Fastboot support improvement
- Requires to use latest U-Boot v2017.03 for sparse support
- Created some convenient scripts to generate a GPT binary and flash an empty platform:
~/myandroid$ export PRODUCT=nitrogen6x
~/myandroid$ ./device/boundary/scripts/create_gpt.sh 3600
~/myandroid$ ./device/boundary/scripts/flash_fastboot.sh
- ExFAT, NTFS and Ext4 file systems are supported for all external media
- Even with SELinux enforced!
- Display rotation setting from U-Boot
- This release allows you to set the default orientation from U-Boot
- Avoids having to modify the image/source code just for that
=> setenv hwrotation 270
=> saveenv
=> reset
- Rooted device (su)
- Since Koush app isn't supported anymore, we didn't have a root option
- Decided to integrate LineageOS su binary but without modifying the core OS
- It gives a simple way to provide 'su' capability to your app
- To enable it, you need to add the following to your
init.rc
:
on boot
start su_daemon
service su_daemon /system/xbin/su --daemon
disabled
-
- By default, only privileged/system apps can use 'su'
- If you want any app to be able to use (at your own risks) add the following to your
BoardConfig.mk
BOARD_SU_ALLOW_ALL := true
Source code access
For the newcomers, please make sure to read our "Android Getting Started Guide" since it contains all the information you need to download, build and flash an Android image.
For those already familiar with our releases, here is a condensed version to get the Android Nougat source code:
~/$ mkdir myandroid
~/$ cd myandroid
~/myandroid$ repo init -u git://github.com/boundarydevices/android-manifest.git
-b boundary-imx-n7.1.1_1.0.0-ga
~/myandroid$ repo sync
~/myandroid$ source build/envsetup.sh
~/myandroid$ lunch
... choose nitrogen6x / nit6xlite / nitrogen6sx from the list of boards
~/myandroid$ make 2>&1 | tee build.out
As always, let us know your experiences (both good and bad) when you test out this image.