u-boot

First build u-boot (see hacking the mele a1000)

Build Linux kernel and use SATA HDD as rootfs.

ref the kernel compile. Make sure you have u-boot's mkimage in your path - either from the previous build step, or your distribution.

The change of kernel config.

  1. Change "Default kernel command string" to see the kernel boot log. This is workaround method, I don't know why kernel could not use the u-boot env.
    CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/sda1 rw rootfstype=ext4 init=/init loglevel=8 rootwait mac_addr=00:CE:39:
    B6:5D:B4"
    CONFIG_CMDLINE_FORCE=y
If you do not have serial to USB board, you may try to enable the
framebuffer console (not tested) in order to see the kernel output
the monitor at boot time:
    CONFIG_FRAMEBUFFER_CONSOLE=y

    CONFIG_LYCHEE_HDMI_SUN4I=y
    CONFIG_LYCHEE_FB_SUN4I=y
    CONFIG_LYCHEE_LCD_SUN4I=y
With those options, you can skip step 1,2 and 3 (copy and load
modules) in the rootstock section below.
  1. Disable initrd.
  2. got the kernel image and copy it to SD Card partition 1 (FAT 16 filesystem) (my build of uImage)

Build ubuntu 10.04 rootfs

Thanks to the rootstock there is an easy way to get the prebuilt ARM version of Ubuntu.

sudo rootstock \
    --fqdn ubuntu \
    --login ubuntu \
    --password ubuntu \
    --imagesize 3G \
    --seed ubuntu-desktop,openssh-server \
    --serial ttyS0 \
    --dist lucid

You will get armel-rootfs-xxxxxxx.tgz.

  1. extract it to SATA HDD partition 1 that is format as ext4 filesystem.
  2. copy A10 display kernel module to rootfs disp.ko, lcd.ko, hdmi.ko copy to lib/module/xxxx/
  3. vi etc/init.d/rcS to add insmod of diplay kernel module. (cd $MODULES_DIR;insmod disp.ko;insmod lcd.ko;insmod hdmi.ko)

Boot up

  1. plug SATA HDD to SATA port.
  2. plug the SDCard that has kernel image.
  3. UART connect to board press any key when power on the device. you will see the u-boot command.
  4. Type below command to load kernel image from SD Card.
mmcinfo; fatload mmc 0 50000000 uImage_git_root_sda1 ;bootm 50000000`
  1. You will see kernel boot message from UART and use SATA HDD as rootfs.

IIc. Another rootfs -- minimal ubuntu 10.04

sudo rootstock --fqdn ubuntu --login ubuntu --password ubuntu --imagesize 2G --dist lucid \
               --serial ttyS0 --seed  ubuntu-minimal,vim,openssh,apt

console boot log: ?bootlog sata ubuntu mini log.txt