How to edit prebuilt Android images
How to edit the parameters in Android distributions
For almost any Olimex Allwinner board there are Android images provided. These are ready-to-use images with all the settings already configured. The images are generally two types: suitable for NAND memory boot of the boards; or suitable for a microSD card boot.
We often get asked to provide Android images with different set of settings or support for custom resolutions. Unfortunately, we are unable to compile Android images for every possible resolution and every possible Alwinner board. This article would provide algorithms that would allow you to edit the Android parameters by yourself.
The easiest approach is to edit an already existing image as explained below. The other method would be to create an Android image from scratch.
Note that the method for editing Android image suitable for NAND memory is completely different compared to the method for editing Android image suitable for microSD card.
The algorithm to edit the Android image for the NAND memory:
- 1. Download the latest official Android image for NAND from the wiki article of your board.
- 2. Download and extract the program used for editing the parameters of a ready image. The program is called DragonFace. It can be downloaded from here: download DragonFace 2.1.2 from Olimex GitHub
- 3. Start the program from DragonFace.exe and let it update on first launch.
- 4. After the update is complete and the interface of the program is available click on the "Firmware" button and then load the *.img file that we got in point 1.
- During the opening of the firmware additional processes might attempt to start. Windows user account control might prompt for your approval. Make sure that you allow those.
- If you receive an error loading the image: ensure that the torrent program or any local or remote program or proccess that might interfere with the image had been closed and the link to the image had been terminated. If the image you are goind to edit is open by another program you will not be able to edit it via DragonFace - the error that usually gets displayed in such a case is: "DragonFace: Firmware does not support the tools to modify, make sure that the firmare version: OK".
- 5. After the load is complete navigate to the "Advanced Settings" tab. In the tab select "System Configuration". This would open the configuration in simple text form in your default text editor. Refer to the picture below:
- 6. Now we can edit parameters. More information on what the parameters mean and what values they might have is found here: http://linux-sunxi.org/Fex_Guide
- For example, to enable FullHD video output at 60Hz we need to change screen0_output_type and screen0_output_mode as follows: screen0_output_type = 3; screen0_output_mode = 10
- 7. After we are done we save the text file and close it. Then we click the button "Save" at the bottom of the DragonFace interface. A prompt windows would appear and would allow us to specify a save location and name for the edited image.
- During the save operation of the firmware additional processes might attempt to start. Windows user account control might prompt for your approval. Make sure that you allow those.
- 8. Voila - we have an image with custom settings. We are ready to burn it to the NAND memory of the board.
The algorithm to edit the Android image for microSD card:
There are two types of Android images for microSD card that we usually provide and each of them can be edited in a different way. The image provided for microSD card is either the native Android image that can be edited with a tool like the DragonFace mentioned above or an image taken from an already prepared microSD card which can't be loaded in DragonFace.
But how to tell which image is which? It's simple - if the Android image for microSD card (that you downloaded from the wiki) opens successfully in DragonFace then it is the first type. If it doesn't load successfully - it is the second type.
If the image is the first type (an image suitable for DragonFace) then simply follow the algorithm in the previous section
It is possible that only one of the types mentioned above is available for a specific board.