Hack A10 devices

From eLinux.org
Revision as of 04:45, 26 December 2011 by Hipboi (Talk | contribs) (First see)

Jump to: navigation, search

Hack A10 Devices

This page describe how to hack a A10 powered tablet and let a custom kernel to run on the tablet. The work was done on an Ainol Novo 7 Advanced tablet. But should be working on all A10 based tablet. Since A10 can boot from usb, never worry about bricking your device.

First sight

The stock firmware in my Novo7 is android 2.3.4. With android adb i can log into the device and take a look at inside.

# mkdir /sdcard/nanda
# mount -t vfat /dev/block/nanda /sdcard/nanda
# ls /sdcard/nanda
boot.axf
boot.ini
drv_de.drv
font24.sft
font32.sft
linux
os_show
script.bin
script0.bin
sprite
sprite.axf
magic.bin
# ls /sdcard/nanda/linux
bImage
linux.ini
params
paramsr
recovery.ini
# cat /sdcard/nanda/linux/linux.ini
[segment]
img_name = c:\linux\bImage
img_size = 0x2000000
img_base = 0x40008000

[segment]
img_name = c:\linux\params
img_size = 0x100
img_base = 0x40000100

[script_info]
script_base = 0x43000000
script_size = 0x10000

[logo_info]
logo_name = c:\linux\android.bmp
logo_address = 0x48000000
logo_show = 1

As you can see the linux/bImage is our kernel, and the linux/linux.ini is a config file that some loader reads, and load the file bImage to 0x40008000 address. And the file linux/params is the kernel cmdline.

# cat /sdcard/nanda/linux/params
console=ttyS0,115200 root=/dev/nandb rw init=/init fbmem=32M@0x5a000000 loglevel=8;

And recovery.ini and paramsr is for android recovery boot and cmdline.

Get a console

Allwinner uses a config file for hardware configuration, a config file is a Windows ini file, which is something like this,

[target]
boot_clock               =1008
dcdc2_vol                =1400
dcdc3_vol                =1250
ldo2_vol                 = 3000
ldo3_vol                 = 2800
ldo4_vol                 = 2800