Hi, all:<div><br></div><div> Share my experiment of hack of A10 TV-Box device. </div><div>For someone also want use A10 as your need. </div><div><b>Note: </b></div><div><b>1. It is only for reference not finish yet.</b></div>
<div><b>2. Maybe I lost sometime of step..:P</b></div><div><b>3. Thank's Rhombus Tech web site, it's give me a lot of information.</b></div><div><br></div><div>I am looking forward with HTPC tvbox hardware device.</div>
<div>For run linux and XBMC, A10 device is cheaper but must of A10 device is tablet.</div><div>Finally, I found a MELE A1000 android tv-box that it is A10 device.</div><div><a href="http://www.mele.cn/en/web/pro_show.aspx?cid=46&pid=60" target="_blank">http://www.mele.cn/en/web/pro_show.aspx?cid=46&pid=60</a>
</div><div><br></div><div>Buy from taobao in the china and the price is RMB$469.</div><div><a href="http://detail.tmall.com/item.htm?id=15051860754&prt=1329962623036" target="_blank">http://detail.tmall.com/item.htm?id=15051860754&prt=1329962623036</a>
</div><div><br></div><div>The box SPEC.</div><div>1. Video output - HDMI, CVBS, VGA .</div><div>2. Audio output - R+L, SPDIF</div><div>3. 3 usb host port + SDCard slot.</div><div>4. External SATA port (real SATA not from usb)</div>
<div>5. Ethernet.</div><div>6. ...</div><div><br></div><div>Internal board has</div><div>1. UART port connector.</div><div>2. USB device port connector</div><div>3. MIC pin</div><div>4. CVBS-IN pin.</div><div>Inside picture : </div>
<div><a href="http://dl.dropbox.com/u/9959499/a10/A10_device_a1000_inside.jpg" target="_blank">http://dl.dropbox.com/u/9959499/a10/A10_device_a1000_inside.jpg</a></div><div><br></div><div><div>The A1000's sys_config1.fex</div>
<div><a href="http://dl.dropbox.com/u/9959499/a10/sys_config1.fex" target="_blank">http://dl.dropbox.com/u/9959499/a10/sys_config1.fex</a></div>
<br></div><div><br></div><div>Below steps are my test for boot A10 tvbox to Ubuntu desktop.</div><div>But it only see the welcome screen, couldn't login...:(</div><div><br></div><div>============================================</div>
<div>You need another hardware to connect internal connector.</div><div>============================================
</div><div>1. connect to internal UART port. (for see the console)</div><div>2. connect to internal USB device port. (for use adb)</div><div>Pin define see the inside picture.
</div><div><br></div><div>==============================</div><div>Change the u-boot in the device.</div><div>to support boot from MMC</div>
<div>============================== </div><div>1. build the u-boot that support boot from MMC.</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><b>git clone <a href="http://git.hands.com/u-boot.git" target="_blank">http://git.hands.com/u-boot.git</a></b></div>
</div><div><div><b>cd u-boot</b></div></div><div><div><b>git checkout lichee-dev</b></div></div><div><div><b>vi include/configs/suni4.h</b></div><div>search mmc config</div><div>a. #if 0 => #if 1 (enable u-boot support mmc)</div>
</div><div>b. change #define CONFIG_MMC_SUNXI_SLOT 0</div><div><br></div><div><b>make sun4i CROSS_COMPILE=arm-none-linux-gnueabi-</b></div><div>got the u-boot.bin (my build of <a href="http://dl.dropbox.com/u/9959499/a10/u-boot.bin" target="_blank">u-boot.bin</a>)</div>
<div><br></div></blockquote><div>2. ref the <a href="http://elinux.org/Hack_A10_devices" target="_blank">http://elinux.org/Hack_A10_devices</a></div><div> use adb push the new u-boot.bin to tv-box.</div><div><br></div>
<div>=====================================</div>
<div>Build linux kernel and use SATA HDD as rootfs.</div><div>=====================================
</div><div>ref the <a href="http://rhombus-tech.net/allwinner_a10/kernel_compile/" target="_blank">http://rhombus-tech.net/allwinner_a10/kernel_compile/</a></div><div>The change of kernel config.</div><div>1. Change "Default kernel command string" to see the kernel boot log.</div>
<div> This is workaround method, I don't know why kernel could not use the u-boot env.</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><b>CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/sda1 rw rootfstype=ext4 init=/init loglevel=8 rootwait mac_addr=00:CE:39:</b></div>
</div><div><div><b>B6:5D:B4"</b></div></div><div><div><b>CONFIG_CMDLINE_FORCE=y</b></div></div></blockquote><div>2. Disable initrd.</div><div>3. got the kernel image and copy it to SD Card partition 1 (FAT 16 filesystem)</div>
<div> (my build of <a href="http://dl.dropbox.com/u/9959499/a10/uImage_git_root_sda1" target="_blank">uImage</a>)</div><div><br></div><div>======================================</div><div>Build ubuntu 10.04 rootfs</div>
<div>======================================
</div><div>Thank's rootstock. It has easy way to get the prebuild arm version of ubuntu.</div><div><div><b><br></b></div><div><b>sudo rootstock \</b></div><div><b> --fqdn ubuntu \</b></div><div><b> --login ubuntu \</b></div>
<div><b> --password ubuntu \</b></div><div><b> --imagesize 3G \</b></div><div><b> --seed ubuntu-desktop,openssh-server \</b></div><div><b><span style="white-space:pre-wrap">        </span>--serial ttyS0</b></div>
<div><b><span style="white-space:pre-wrap">        </span>--dist lucid</b></div></div><div><br></div><div>got armel-rootfs-xxxxxxx.tgz.</div><div>1. extract it to SATA HDD partition 1 that is format as ext4 filesystem.</div>
<div>2. copy A10 display kernel module to rootfs</div><div> <b>disp.ko, lcd.ko, hdmi.ko </b>copy to <b>lib/module/xxxx/</b></div><div>3. vi etc/init.d/rcS to add insmod of diplay kernel module.</div><div><b> (cd $MODULES_DIR;insmod disp.ko;insmod lcd.ko;insmod hdmi.ko)</b></div>
<div><br></div><div><div>======================================</div><div>Boot up</div><div>======================================</div></div><div>1. plug SATA HDD to SATA port.</div><div>2. plug the SDCard that has kernel image.</div>
<div>3. UART connect to board press any key when power on the device.</div><div> you will see the u-boot command.</div><div>4. Type below command to load kernel image from SD Card.</div><div> <b>mmcinfo; fatload mmc 0 50000000 uImage_git_root_sda1 ;bootm 50000000</b></div>
<div>5. You will see kernel boot message from UART and use SATA HDD as rootfs.</div><div><br></div><div>=============================</div><div>Another rootfs -- minimal ubuntu 10.04</div><div>=============================</div>
<div>sudo rootstock --fqdn ubuntu --login ubuntu --password ubuntu --imagesize 2G --dist lucid --serial ttyS0 --seed ubuntu-minimal,vim,openssh,apt</div><div><br></div><div>boot log of console </div><div><a href="http://dl.dropbox.com/u/9959499/a10/bootlog_sata_ubuntu_mini_log.txt" target="_blank">http://dl.dropbox.com/u/9959499/a10/bootlog_sata_ubuntu_mini_log.txt</a></div>
<div><br></div><div><br></div><div>Regards,</div><div>Matt.</div>