• ?A10 Ubuntu lucid
  • ?A10 Debian
  • ?A10 Open Embedded meta-layer

Ubuntu Lucid

http://hands.com/~lkcl/mele-ubuntu-lucid.img.lzma (btw again this would be better as a debian-installer for ubuntu)

While the comments about providing a tar image (personally I would do a cpio, but potatos, potartos) are accurate, having examined the image, it is clear that instructions would be needed to take the components and build them into a working SD card. Hopefully this is a step in that direction. Note, that I have not yet got this to work, either due to the serial not being initialised or a dodgy serial cable.

The image contains 3 things:

The uboot (written directly to the sd card, see here A10 boot process for how)

A partition containing A10 magic and the uImage. (this is marked 83 linux, but is formatted vfat, and size 16mb, not sure what of these factors is important)

A partition with the Ubuntu root fs.

If you uncompress the image, you can mount the individual partitions with the following commands (works on a wheezy system).

Either :

sudo mount -o loop,offset=1048576 mele-ubuntu-lucid.img  *your 1st target directory*
sudo mount -o loop,offset=17825792 mele-ubuntu-lucid.img *your 2nd target directory*

(you can mount a dd image directly, who knew? Thanks the internet, here specifically http://wiki.edseek.com/guide:mount_loopback )

Or, in a more user friendly way, with kpartx (example shown with another unrelated image):

$ sudo kpartx -l armhf-2GB_20111122.img
loop0p1 : 0 124976 /dev/loop0 16
loop0p2 : 0 3737536 /dev/loop0 124992
loop deleted : /dev/loop0
$ sudo kpartx -a armhf-2GB_20111122.img
$ mkdir l1 l2
$ sudo mount -o loop /dev/mapper/loop0p1 l1/
$ sudo mount -o loop /dev/mapper/loop0p2 l2/

So from there you can create a tar image. Or a cpio (find . | cpio -o -H newc | gzip > ../cpio_img.cpio.gz).

To extract the uboot (assuming it was written with the same instructions as from the wiki):

dd if=mele-ubuntu-lucid.img bs=1024 skip=8 count=1000 of=uboot_mele_mmc.bin

Looking at it in hexcurse, you can see the second half is empty so we have definitely got all of it.

This should write it to your sd card:

sudo dd if=uboot_mele_mmc.bin of=/dev/card device *(note sdx not sdx1)* bs=1024 seek=8

Here is the fdisk from the the img:

/sbin/fdisk -l mele-ubuntu-lucid.img

Disk mele-ubuntu-lucid.img: 4008 MB, 4008706048 bytes
255 heads, 63 sectors/track, 487 cylinders, total 7829504 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x69e553c5

               Device Boot      Start         End      Blocks   Id  System
mele-ubuntu-lucid.img1            2048       34815       16384   83  Linux
mele-ubuntu-lucid.img2           34816     7829503     3897344   83  Linux

To avoid overwriting uboot create the partitions starting 1M in. I assume the seek=8 in the uboot dd is to avoid overwriting the partition table.

I was able to get the original ubuntu card to access wifi but not ethernet. Apparently the evb.bin (script.bin) which it loads lets X start but not the ethernet, whereas the "stock" bin lets the ubuntu image access the ethernet, but crashes when X starts. (Thanks to Alejandro for the help and pointers).

Also the wifi doesn't work, although it has the same kernel and modules as the ubuntu image.

Debian Wheezy

Here are the components

uboot: http://hands.com/~lkcl/mele_uboot.img

boot partition: http://hands.com/~lkcl/mele_boot_part.cpio.gz

debian partition: http://hands.com/~lkcl/mele_debian_armhf_minimal.cpio.gz

To extract a cpio image, mount the destination partition, cd into it: gunzip -c image_file | cpio -i

To use the files, an SD card partitioned like the original SD is required.

First, type 83 (Linux) sectors 2048 - 34815, format it vfat. (Not sure which of these factors are critical/necessary, I'm just slavishly copying for now). Extract the boot partition into it (If the units in fdisk are Cylinders rather than Sectors, use 'u' to switch).

Second, type 83 (Linux), size whatever you like, format it ext4. Extract the debian partition into it.

Unmount your partitions and write the uboot into the SD card: dd if=uboot_image of=/dev/sdx bs=1024 seek=8

The usename is root, and the password is password. The image has ssh server pre-installed, so anyone who uses is might want want to find the invocation that regenerates the ssh keys. The image itself is a wheezy armhf image.

Note: When configuring normal users I encountered issues with the users not being able to access the network (no dns, socket permission denied errors etc.) this fixed it: https://blog.tuinslak.org/socket-permission-denied

If the SD card is smaller than the image, you can try makeSD.sh script available from https://github.com/cnxsoft/a10-tools Usage: ./makeSD.sh /dev/sdb mele-ubuntu.bin Alternatively, If after using dd you run out of space slightly, here's another simpler method (may not work 100% of the time): fsck.ext4 -f /dev/mmcblk0p2 resize2fs /dev/mmcblk0p2 3000M