On 13-08-25 11:58 PM, Elvis Dowson wrote:
Hi Bruce,

On Aug 26, 2013, at 5:03 AM, Bruce Ashfield <bruce.ashfi...@windriver.com> 
wrote:

On 13-08-25 3:09 PM, Elvis Dowson wrote:
I noticed that you've committed the changes for qemuarma9 KMACHINE 
configuration to the linux-yocto kernel.

http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.8/tree/meta/cfg/kernel-cache/bsp?h=meta

I adapted the qemuarm.conf configuration and booted it up, but nothing shows up 
in the QEMU window, I just get a black screen.

Has qemu with the qemuarma9 configuration been successfully built and tested 
before?

It has been, but not with a machine definition that is part of oe-core
or Yocto.

It was contributed as the output from some cortexA9 testing, and I've
been carrying the kernel parts ever since.

Can you share the qemucortexa9.conf machine definition please?

It's nearly identical to the one you posted:


require conf/machine/include/qemu.inc
require conf/machine/include/tune-cortexa9.inc


KERNEL_IMAGETYPE = "uImage"

SERIAL_CONSOLE = "115200 ttyAMA0"





This is how my qemuarm.conf looks like, locally at the moment:

#@TYPE: Machine
#@NAME: qemuarmhf
#@DESCRIPTION: Machine configuration for QEMU ARM Cortex A9 hard float.

# Specify the default tune.
DEFAULTTUNE = "armv7a-neon"

require conf/machine/include/qemu.inc
require conf/machine/include/tune-cortexa9.inc

# Specify the machine name used by the kernel.
KMACHINE_qemuarm = "qemuarma9"

This is a default, so you don't need to set it.


The default for qemuarm, as documented in

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-KFEATURE_DESCRIPTION

is arm_versatile926ejs.

So I had to modify it to force it to use qemuarma9.

Hah, when I read this I was thinking that you were talking about your new
machine name, and not clobbering qemuarm. So in this case, yes, that
would have been required.




# Specify the kernel image type.
KERNEL_IMAGETYPE = "zImage"

I recall booting it with a uImage, but maybe my memory is failing.


# Specify the serial console parameters.
SERIAL_CONSOLE = "115200 ttyAMA0"

All of the above looks reasonably sane, but it's more about how you
launch qemu than the kernel build that is probably resulting in your
issues. What machine subtype did you use ?

I used -M versatilepb. I also passed the -cpu cortex-a9 parameter to qemu.

I launch with these:

 machine: -M vexpress-a9
 memory: 128
 console: ttyAMA0,115200"
 kernel options: oprofile.timer=1"


I just got a blank screen.

FYI, I was able to get the qemuzynq machine working with the meta-xilinx
layer, and in that, there was also a blank screen, but the QEMU output
and login prompt came on the console from where the rumqemu qemuzynq
command was run. A different type of behaviour from that of qemuarm running
arm_versatile926ejs.

The qemuzynq machine uses the linux-xlnx kernel.

I've booted the same machine/qemu on kernels ranging from 3.4 to
3.10 with a few patches. :)


I'd like to get a generic qemuarma9 machine configuration working with
linux-yocto, if possible, and add it to the standard list of qemu targets.

The kernel support has been in place for some time, the problem is really
with the qemu system emulation. The vexpress-a9 doesn't support all of the
boot methods that other qemu models do, in particular I only NFS boot it
versus net boot, etc.

When I worked on this before (2 years ago now), I didn't want to just
switch the cpu, but was looking for a platform like the vexpress.

Perhaps the zynq machine definition is the right way to go, since nearly
enough support is mainline (in both qemu and the kernel), and we can
motivate the rest into their respective upstreams.

If someone can come up the right conf files, and machine definition, I
can pretty easily support it in linux-yocto.

Cheers,

Bruce


Best regards,

Elvis Dowson


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to