Boot instructions for A10 EOMA-68 CPU Card using USB-FEL

Follow instructions for formatting of sd card, obtaining suitable image from e.g. a10 image instructions (see section "Debian Wheezy). Do not copy over u-boot to the sd card. Do not copy over the u-boot partition. i.e. leave the (1st) FAT partition completely empty; only set up the root filesystem onto the 2nd partition.

The reason is that this is a slightly different boot procedure that does not require the SPL to be loaded onto the SD card: it can be done using fel-boot which is uploaded over USB-FEL.

please see http://linux-sunxi.org/FEL/USBBoot - arrangements are moving fast

Prepare first partition

prepare sd/mmc card with small FAT partition and armhf partition

git clone git://github.com/hno/Allwinner-Info.git
git clone git://github.com/linux-sunxi/sunxi-tools.git
(cd sunxi-tools && make)

mount /dev/sdc1 /mnt
cp Allwinner-Info/EOMA68/script.bin /mnt
cp Allwinner-Info/EOMA68/uImage /mnt

edit boot.cmd and save on /mnt:

setenv console 'ttyS3,115200'
setenv root '/dev/mmcblk0p2'
setenv panicarg 'panic=10'
setenv extra 'rootfstype=ext4 rootwait hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1920x1080p60 sunxi_fb_mem_reserve=32'
setenv loglevel '8'
setenv setargs 'setenv bootargs console=${console} root=${root} loglevel=${loglevel} ${panicarg} ${extra}'
setenv kernel 'uImage'
setenv boot_mmc 'fatload mmc 0 0x43000000 script.bin; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000'
setenv bootcmd 'run setargs boot_mmc'

run this command to turn that into a boot.scr:

mkimage -C none -A arm -T script -d boot.cmd boot.scr

Prepare linux kernel

git clone git://github.com/linux-sunxi/linux-sunxi
#git checkout stage/sunxi-3.4
git checkout b341bf8889e5e553d20f0e14115e5f4a3530ff10

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- sun4i_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage

cp arch/arm/boot/uImage /mnt

umount /mnt

mount /dev/sdc2 /mnt/card

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/mnt \
                                               modules_install

Prepare root filesystem

edit /mnt/etc/modules and add:

    g_serial

edit /mnt/etc/inittab and add:

    T2:2345:respawn:/sbin/getty -L ttyGS0 115200 linux

making sure that the "T2" does not exist in any other line. change it to "T3" or any other unique number.

edit /mnt/etc/securetty and add:

    ttyGS0

run "umount /mnt" and the sdcard is ready.

To boot up

  • remove sdcard and insert into A10-EOMA68
  • short out U-BOOT pads (GND to U-BOOT)
  • plug in MicroUSB
  • do "lsusb" to check ID 1fea:efe8 exists, if not, repeat on U-BOOT pads
  • cd to Allwinner-Info/EOMA68/FEL
  • run these commands (or run ./u-boot.sh):
    fel write 0x2000 fel-boot.bin
    fel exe 0x2000
    fel write 0x4a000000 u-boot.bin
    fel exe 0x4a000000

config files

pre-prepared modifications

The following tarballs can be overlaid onto a debian 6.0 armhf root filesystem and used for boot and startup.