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&#39;s Rhombus Tech web site, it&#39;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&amp;pid=60" target="_blank">http://www.mele.cn/en/web/pro_show.aspx?cid=46&amp;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&amp;prt=1329962623036" target="_blank">http://detail.tmall.com/item.htm?id=15051860754&amp;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&#39;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&#39;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 =&gt; #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 &quot;Default kernel command string&quot; to see the kernel boot log.</div>

<div>    This is workaround method, I don&#39;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=&quot;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&quot;</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&#39;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>