qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [ANNOUNCE] qemu-test: a set of tests scripts for QEMU


From: Anthony Liguori
Subject: Re: [Qemu-devel] [ANNOUNCE] qemu-test: a set of tests scripts for QEMU
Date: Tue, 03 Jan 2012 07:42:19 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15

On 12/30/2011 09:43 AM, Andreas Färber wrote:
Am 29.12.2011 23:30, schrieb Anthony Liguori:
On 12/29/2011 04:10 PM, Peter Maydell wrote:
How does your framework deal with non-x86 targets?

http://git.qemu.org/qemu-jeos.git

I've already got ppc32 support working.  Adding a new arch is just a
matter of adding a kernel config and uClibc config to configs/

Finding and
installing a working crosscompiler can be painful, especially if
you wanted to crosscompile userspace rather than just the kernel...

I spent a couple days researching what to do here and ended up settling on:

1) build binutils for desired target

2) build GCC using (1) as a cross compiler.  This is a limited form of
GCC (no thread support) targeted as uClibc

3) build kernel using (2) and installer headers into our new sysroot

4) build uClibc using (2) and (3)

5) build busybox using (2) and (4)

The whole process takes about 30 minutes on my laptop using -j1 which
isn't all that bad.  It's certainly faster than doing a distro install
with TCG :-)

qemu-jeos.git contains git submodules for binutils, GCC, linux, uClibc,
and busybox plus miscellaneous scripts needed to make a working initramfs.

"One ring to rule them all ... and in the darkness bind them"? ;)

Seriously, what you describe may work for mainstream targets. But for
new targets the trouble starts with 1) already: which binutils? The
latest stable may not work for all architectures yet, so a generic
submodule approach is doomed to fail.

Let's not speculate here.. There's already an existence proof that this approach works for most of the targets we support (Aboriginal Linux).

Will uClibc work for all targets? There's glibc, eglibc, newlib, ...

Not all targets have a softmmu at this time: unicore32
(Fwiw this also means no testing outside Linux hosts.)

There's no requirement that the Linux kernel must have been ported to a
QEMU target yet or that it is still in mainline or that what is in
mainline is complete enough for our testing.

Yes, but this just becomes the exception to prove the rule.

Regards,

Anthony Liguori



reply via email to

[Prev in Thread] Current Thread [Next in Thread]