Hi Wookey,
On 11/27/2013 10:58 AM, Wookey wrote:
+++ Michael Hudson-Doyle [2013-11-27 10:51 +1300]:
Hi all,
Do we have, or do we have plans for, an image that's based on Ubuntu that's usable with the foundation model? The only part I don't know how to do for myself is build the .axf file, which I guess I can teach myself but it would be even easier to just download something :-)
Which sort of image did you have in mind? presumably arm64 as you are using the model?
I've used ubuntu rootfs with the .axf files from the OE image. The only thing you have to change is the kernel command line (which of course the axf wrapper makes awkward - see below).
Here is an ubuntu arm64 rootfs + suitable kernel images http://people.debian.org/~wookey/bootstrap/rootfs/ (and a debian one as of last week) https://wiki.debian.org/Arm64Port#Pre-built_Rootfs
They also work (a whole lot faster) with qemu.
There is a wiki page somewhere for wrapping your own kernel with bootwrapper foo, but I found it much easier to use a handy internal tool which rewrites the kernel command line inside a .axf file, which makes it a one-liner to turn a working OE kernel .axf from linaro snapshots into one that works for an ubuntu image.
This is nothing more than some unpacking + objdump runes, but of course being arm-written software (by Jim) would probably take months of tiresome effort arguing with lawyers to get it released, so you can't use it. :-(
It could get turned into a wiki page of runes if there is demand...
In my opinion, the nicer solution is to port the semihosting boot wrapper to 64-bit. We've done that internally, but don't currently have approval to share that work. It's not too difficult though--basically just drop the AArch64 boot.S into the 32-bit bootwrapper code with semihosting support and you're most of the way there. A simulator with instruction tracing or stepping is probably necessary for debugging.
One can also use UEFI as a semihosting bootloader, hence my interest in data on the overhead.
Regards, Christopher