On the hunch that there may be something within the U-Boot parameters that causes the boot-to-ram problem, I removed almost all the ‘wmt.xxx‘ parameters. The only one remaining was wmt.usb.param=11:3, which enables the USB subsystem – as I was booting from a USB-attached ‘disk’..
You can effectively ‘remove’ U-Boot parameters by setting their values to <blank>:
setenv wmt.gpo.lcd setenv wmt.i2c.param setenv wmt.eth.param setenv wmt.ui.storage etc....
Basically, this had no effect, which would suggest that there may well be something in the actual APC version of the kernel which causes this. If a boot from an attached MMC or USB disk – to a root filesystem resident on that same disk – is not possible, then that rather kills any possibility of putting a ‘real’ version of Linux on this device… I shall look forward to an open Linux kernel with the appropriate WMT drivers being made available, soon, but I am fully aware how much of a challenge this may well be.. A good short-term compromise would be to have a version of the ‘proprietary’ APC kernel available which does allow booting – and running – from an attached disk.. It might then be possible to get a version of a standard ARM Distro running on the APC’s 220.127.116.11-based kernel..
Another try-anything test result… As I had noticed that the APC+Android only seemed to recognise the first partition on an attached micro-SD card, I tried reversing the partitions on my USB-attached disk, with the root filesystem on the first partition and the boot files on the second one. This booted OK, but made no difference.. The root fs was still set to /dev/ram0..