From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37923) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ri4dH-00084j-II for qemu-devel@nongnu.org; Tue, 03 Jan 2012 08:42:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ri4dF-0005b1-ML for qemu-devel@nongnu.org; Tue, 03 Jan 2012 08:42:27 -0500 Received: from mail-iy0-f173.google.com ([209.85.210.173]:55148) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ri4dF-0005aw-B1 for qemu-devel@nongnu.org; Tue, 03 Jan 2012 08:42:25 -0500 Received: by iagj37 with SMTP id j37so35880104iag.4 for ; Tue, 03 Jan 2012 05:42:24 -0800 (PST) Message-ID: <4F0305BB.4000702@codemonkey.ws> Date: Tue, 03 Jan 2012 07:42:19 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <4EEF70B4.3070109@us.ibm.com> <4EF73EF5.8050606@redhat.com> <4EF88EC0.8020301@codemonkey.ws> <4EF8FC88.70809@redhat.com> <4EFA4829.4000207@redhat.com> <4EFA80EA.3050405@codemonkey.ws> <4EFAA2A2.4000107@redhat.com> <4EFB2764.7040006@codemonkey.ws> <4EFB2F36.2090408@redhat.com> <4EFB35AB.6040003@redhat.com> <4EFB4757.4020504@codemonkey.ws> <4EFB5138.5020502@redhat.com> <4EFC916E.4070902@codemonkey.ws> <4EFC9706.4090500@redhat.com> <4EFCA2AF.5000806@redhat.com> <4EFCB30E.9030002@codemonkey.ws> <4EFCDFD2.3060307@codemonkey.ws> <4EFCEA07.4010000@codemonkey.ws> <4EFDDC1C.8000804@suse.de> In-Reply-To: <4EFDDC1C.8000804@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [ANNOUNCE] qemu-test: a set of tests scripts for QEMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= Cc: "lmr@redhat.com" , Peter Maydell , Stefan Hajnoczi , cleber@redhat.com, dlaor@redhat.com, qemu-devel , Avi Kivity , Cleber Rosa , Gerd Hoffmann 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