Android boot optimization - A new try on i.MX6

Document created by Gopise Yuan Employee on Aug 19, 2015Last modified by Gopise Yuan Employee on Jan 7, 2016
Version 3Show Document
  • View in full screen mode

I've done some research in Android boot optimization in the past months and have some getting. This page is for recording and sharing purpose only. It's target to provide some hints and directions for Android optimization.

It's NOT a Freescale official document or patch release. The code/doc inside is only for reference.

 

Background:

     1. I've used SabreSD + Android KK 4.4.2 GA 1.0 as a reference platform.

     2. I'm not doing some popular optimization way such as "hibernation", "suspend". I'm trying to "optimize" the boot process by re-arranging the boot process and make GUI related process run earlier and fine tune some boot code for running faster.

     3. It's target to the Android IVI product. So, some features that will never be used in a IVI environment will be disabled or removed. Minor of them.

I've come out with a patch package (latest is milestone 4 which is "_m4" in the version for short) and  a training document.

I didn't find any confidential information from the patch or doc, so I'm open the sharing here.

 

Updated on 2016/01/08 for new version (milestone m5):

---------------------------------------------------------------------------------------

Change log against previous (milestone 4) version:

     1. BSP base changed to Android KK 4.4.3 GA 2.0 which has a Linux kernel 3.10.53

     2. Linux kernel and uboot optimization added. Kernel boot time (POR -> Android init entry) is less than 1.5s.

     3. Some bug fixes.

     4. Document updated accordingly.

Total boot time tested on SabreSDP is about 8s.

5 people found this helpful

Outcomes