From: Rob Landley <rob@landley.net>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] PreP kernels boot using Qemu
Date: Fri, 26 Oct 2007 20:59:20 -0500 [thread overview]
Message-ID: <200710262059.20332.rob@landley.net> (raw)
In-Reply-To: <1193044980.31445.40.camel@jma4.dev.netgem.com>
On Monday 22 October 2007 4:23:00 am Jocelyn Mayer wrote:
> > I then generated some kernels that allow me to boot and use those 3
> > kernels.
> > Here are 3 tarballs with:
> > - a patch to be applied to the vanilla kernel sources to fix the
> > mentionned bugs
> > - the .config file I used to build the kernel
> > - the zImage.prep image
> > <http://perso.magic.fr/l_indien/qemu-ppc/linux-tests/linux-2.4.35-prep.ta
> >r.bz2>
> > <http://perso.magic.fr/l_indien/qemu-ppc/linux-tests/linux-2.6.12-prep.ta
> >r.bz2>
> > <http://perso.magic.fr/l_indien/qemu-ppc/linux-tests/linux-2.6.22-prep.ta
> >r.bz2>
The thing is, that's done with ARCH=ppc and the Linux kernel is migrating to
ARCH=powerpc. (This is apparently fallout from merging the 32-bit and 64-bit
PowerPC architecture sources.)
ARCH=ppc is deprecated and going away some time next year, they're migrating
everything over to the new infrastructure in ARCH=powerpc.
From an immediate practical standpoint, I can't use ARCH=ppc to build a system
because that architecture doesn't support the "make headers_install" target
so I can extract appropriate architecture-specific Linux kernel headers
defining the system calls I can build a C library against.
There's a series of 20+ patches to add proper prep support to arch=powerpc,
but when those are applied the result runs on real prep hardware but not
under qemu (due to the prep residual data in qemu not matching the Linux
kernel's expectations).
Rather than update the residual data qemu is generating so the linux kernel
can parse it to add entries to a device tree, Milton just created a "qemu
target" with the same set of hardware as a prep system but minus the boot
logic. Instead he created a device tree data structure in the format Linux
wants it, and a boot room that could feed that device tree to the Linux
kernel directly. This was much simpler and mostly involved removing code
rather than adding any.
Getting the kernel to build a "qemu target" that runs on prep but doesn't have
the prep packaging, boot wrapper, or residual data parsing logic, was 1 patch
instead of 20+.
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
next prev parent reply other threads:[~2007-10-27 0:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-22 7:36 [Qemu-devel] PreP kernels boot using Qemu J. Mayer
2007-10-22 9:23 ` Jocelyn Mayer
2007-10-27 1:59 ` Rob Landley [this message]
2007-10-22 16:28 ` Aurelien Jarno
2007-10-22 21:12 ` J. Mayer
2007-10-22 22:05 ` Aurelien Jarno
2007-10-22 22:36 ` J. Mayer
2007-10-23 11:47 ` Thiemo Seufer
2007-10-23 21:53 ` J. Mayer
2007-10-23 21:59 ` Aurelien Jarno
2007-10-23 23:06 ` J. Mayer
2007-10-24 0:08 ` Thiemo Seufer
2007-10-27 8:00 ` Rob Landley
2007-10-27 8:07 ` Aurelien Jarno
2007-10-28 10:25 ` Rob Landley
2007-10-28 9:29 ` Aurelien Jarno
2007-10-28 14:17 ` Rob Landley
2007-10-31 2:30 ` Ed Swierk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200710262059.20332.rob@landley.net \
--to=rob@landley.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).