Hi folks
This is my first public mail to our own validation mailing list ;-). I'm CCing a few people that could be interested in this topic.
Now to the topic at hand. I'm trying to make it possible to use fast models (in any way) by the end of this week. I'm tracking this blueprint [1] but right now it is just an empty shell as I'm still wrapping my head around this.
A few observations so far:
1) Running a fast model on a 32bit VM is not practical, it seems to crash after a few / dozen minutes due to insufficient address space 2) I still have not managed to get autologin to work. This is mildly annoying but should be possible to get over. 3) A poweroff in the machine causes kernel panic 4) A reboot in the machine seems to just hang and do nothing 5) After much tinkering (installing additional packages, etc, etc) I managed to run stream, I've attached the bundle if anyone is interested. 6) If you need to modify the rootfs in any way it is about 10x faster to do it via chroot + qemu than to run the fast model (on core i7) 7) The system boots with nfsroot, the IP of the server and the directory to mount is burned in the .axf file 8) An axf file is created from a kernel image and some other bits that I don't yet understand. It seems that boot-wrapper is a kind of bootloader for linux in the fast model. I've found at least two sources for that [2] (from the wiki page by Peter Maydell) and [3] (from Michael Hope) 9) I'm not at all sure why we need to cross compile qemu for arm (as instructed in [4]) - is this so that we can test visualization support in a15? 10) The instructions did miss a few things and I had to run apt-get -f install / install extra cross packages. In the end I'm not sure how much of this is only required to build qemu, how much is required to build the rootfs and how much is required to build the kernel. It seems to be too messy ATM, I'd like to split this into separate problems that could be automated with standalone scripts we could fire in a VM or chroot (so that we are sure we got the dependencies right and everything really works fine) 11) I'm not at all sure what's the difference between model_shell's terminal_[0123] and uart[0123]. That is, I'd like to know what those options do with a little bit more precision. Looking at the pdfs that came with the program did not help.
The major roadblock:
*) I'm still trying to parametrize the kernel command line. There seem to be a few possible ways to do it. One based on just rebuilding the axf file (longest/ugilest), one on changing the boot-wrapper bootloader to accept some extra data at the end and pass that down to the kernel (not my specialty, could take a moment to get to work), looking at model_shell -l output it seems there is a way to pass something known as 'cluster.cpu0.semihosting-cmd_line='. Perhaps that could be used to put some data that the kernel can read at runtime.
That's it. Keep fighting
ZK
[1]: https://blueprints.launchpad.net/lava-dispatcher/+spec/lava-fast-model-clien... [2]: git://git.ncl.cs.columbia.edu/pub/git/boot-wrapper [3]: https://github.com/virtualopensystems/boot-wrapper [4]: https://wiki.linaro.org/PeterMaydell/A15OnFastModels#Cross_compile_QEMU