linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Milton Miller <miltonm@bga.com>
To: Miklos Vajna <vmiklos@frugalware.org>
Cc: ppcdev <linuxppc-dev@ozlabs.org>
Subject: Re: qemu platform patches
Date: Tue, 19 Aug 2008 12:51:44 -0500	[thread overview]
Message-ID: <0ef867ddd3feae1693e0ac6b8a66be3e@bga.com> (raw)
In-Reply-To: <20080819021710.GK18960@genesis.frugalware.org>

	
On Aug 18, 2008, at 9:17 PM, Miklos Vajna wrote:

> Hi!
>
> I recently started to search for a solution to boot a Linux-2.6-based
> kernel in qemu-system-ppc.
>
> Google found two of your interesting patches:
> http://patchwork.ozlabs.org/linuxppc/patchcontent?id=13689
> http://patchwork.ozlabs.org/linuxppc/patchcontent?id=13690
...
> Sadly the build fails at your qemu.c, with:
>
>   BOOTCC  arch/powerpc/boot/qemu.o
> arch/powerpc/boot/qemu.c: In function 'tree_fixups':
> arch/powerpc/boot/qemu.c:203: warning: implicit declaration of  
> function 'dt_find_initrd'
> arch/powerpc/boot/qemu.c: In function 'platform_init':
> arch/powerpc/boot/qemu.c:230: error: 'struct platform_ops' has no  
> member named 'find_vmlinuz'
> make[1]: *** [arch/powerpc/boot/qemu.o] Error 1
> make: *** [zImage] Error 2
>
> Two questions:
>
> 1) Do you remember what was the exact commit you worked with, where
> qemu.c compiled fine? (In case you have newer patches somewhere, I'm
> interested as well :) )

 From those messages, there were other patches posted about the same  
time that did some radical splits to the zImage infrastructure code,  
allowing it to become a helper instead of just a contained image.

And I do have later patches that were working (better).  I have even  
booted a linux-next kernel just before 2.6.27 opened, after doing some  
fixups.  However, I suffer from wanting to perferct the function of the  
patches and never get the base part out :-).  For instance, when  
working with 2.6.27, I got ISA memory working and some video output.   
Also, the ide-generic driver now has to be enabled on the command line  
to give the same function we previously had.  That, combined with  
kernel for ppc-qemu is my hobby and my work keeps interrupting me.

The current state is: Rob Landley's Firmware Linux has a ppc_rom.bin  
(and source) written by me that probes qemu nvram for the size of  
memory, location of a command line (-append) and initrd (-initrd),  
patching a device tree linked into it, then parses the kernel (or other  
elf file) loaded via -elf a kernel and jumps into it whereever it was  
loaded.  The kernel has a corresponding platform patch that only  
recognises qemu (based on the kernel patch you found).  The version Rob  
has works on 2.6.25.9 with serial, ide, and isa ne2000.  Since then I  
got isa memory to enable video (with hacks and you only see 1/4 of the  
screen).

http://landley.net/hg/firmware/raw-file/6f1e69d7e7f5/sources/toys/make- 
ppc_rom.tar.bz2
http://landley.net/hg/firmware/raw-file/59e22ea53e6a/sources/patches/ 
linux-ppcqemu.patch
http://landley.net/hg/firmware/raw-file/0d8e80202e94/sources/patches/ 
linux-2.6.23-ppcne2khack.patch

> 2) I'm not exactly sure about the build process in the case of qemu,
> using your patches.
>
> Am I right about I just have to compile the kernel, I'll be given a
> ppc_rom.bin and the usual vmlinux file, then I can boot these with  
> qemu?

The version that you have built a rom out of the code in  
arch/powerpc/boot after patching.  The new version builds the rom in a  
shell script.   Either way, it activated by calling it ppc_rom.bin and  
pointing QEMU's library drectory to it with the -L flag.  This code  
works for qemu -kernel when the kernel is patched to recogonise the  
qemu platform specified in the device-tree.

Going forward, it probably needs to become a dtbImage or a combination  
rom and optional image.

> Hopefully the rest is clear, currently I have 2.4.36.1 in qemu and it
> would be really time to upgrade to 2.6 :)

People were successfully able to get arch/ppc kernel to boot as last  
ase 2.6.26, at least until they got to userspace.  That doesn't provide  
a way forward, as ppc is now removed, but it may provide a temporary  
option.

I can't promise a timeframe, but I do want to get the patches updated  
and out.

milton

           reply	other threads:[~2008-08-19 18:00 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20080819021710.GK18960@genesis.frugalware.org>]

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=0ef867ddd3feae1693e0ac6b8a66be3e@bga.com \
    --to=miltonm@bga.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=vmiklos@frugalware.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).