In here I will document a few things on how to make changes to the Android build so that you can customise your own build.
The language settings are located in the following location
You can change the following lines to suit which langauge you want to show on first boot. The original was Chinese.
PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.timezone=Asia/Bangkok \ persist.sys.language=en \ persist.sys.country=UK \
You’ll need to do a quick search on Google for the different options. Here, I’ve chosen English and UK with Asia/Bangkok as the timezone offset.
Note that there are other options in this file. I have simply chosen only to show the language and timezone here.
You may noticed that everytime you connect the USB for debugging, you have to click on OK to allow your computer to connect. This is easily sorted with the following setting in this same file.
The default is 1 for secure so set this to 0 (zero) to allow you to connect without any prompt. I see no real advantage of this as anyone who wants ADB access can simply click OK on the device!!
This file is placed in the bootloader and is setup by editing the sys_config.fex file located in the tools for the Linux kernel.
This file is critical to setup all the IO for the A20 processor and I have put a working version here for you to download. It is configured for SD but is easily changed to NAND as I will explain below.
sys_config.fex (not longer available. Check out the main source for this now)
Open this file and locate in the [target] section the following:
power_start=1 #1 means boot on applying power, 0 means power up and go to standby
With the 0 option you have to press the power button to bring the unit on if you are also using a battery.
With the 1 option, the unit will go a full boot after it has been powered off but note that you can’t use the quick boot. I couldn’t get it to boot with this setting.
The following entry determines the storage type and is mainly used for Phoenixsuit to determine where to write the image. It does seem to have any other use as on boot the system will look first in SD and then in NAND for a boot partition. This is good because it means you can have a working system in NAND and do development from SD without affecting the original installation.
storage_type=1 #1 - SD, 0 - NAND, -1 seems to indicate use SD if present and NAND if not.
You can add additional serial ports to the image by changing the following. These are brought out to the GPIO connectors. See schematic for details of which pins.
[uart_para3] uart_used = 1 uart_port = 3 uart_type = 4 uart_tx = port:PG06<4><1><default><default> uart_rx = port:PG07<4><1><default><default> uart_rts = port:PG08<4><1><default><default> uart_cts = port:PG09<4><1><default><default>
[uart_para4] uart_used = 1 uart_port = 4 uart_type = 2 uart_tx = port:PG10<4><1><default><default> uart_rx = port:PG11<4><1><default><default>
[uart_para5] uart_used = 1 uart_port = 5 uart_type = 2 uart_tx = port:PI10<4><1><default><default> uart_rx = port:PI11<4><1><default><default>
I’ve enabled 3, 4 and 5 in the configuration file you can download. You can easily disable these by changing the uart_used to 0.
At present, none of the SPI ports are enabled in the script as no device on the board currently uses SPI. They are brought out to the UEXT connectors so if you need to use SPI, then you can enable them otherwise, they can be used as GPIO pins.
The default setting in [pmu_para] is 2700 but in my case I am using a 6600mA battery so I changed this.
pmu_battery_cap = 6600