[yocto] odd(?) behaviour with qemu arm image and "runqemu-extract-sdk"

Robert P. J. Day rpjday at crashcourse.ca
Sat Dec 29 09:33:22 PST 2012


  first time perusing these sections in the yocto docs, kind of
puzzling result so i'm prepared to believe i did something silly.
reading:

http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#workflow-using-stand-alone-cross-development-toolchains

"Workflow Using Stand-alone Cross-development Toolchains", and i
already had an OE qemuarm core-image-minimal built that i can run
just fine with:

$ runqemu qemuarm

so i was reading that section and followed the link over to the ADT
manual:

http://www.yoctoproject.org/docs/1.4/adt-manual/adt-manual.html#extracting-the-root-filesystem

where it talked about "Extracting the Root Filesystem", so i figured,
what the heck, i'll give that a shot, so i ran "runqemu-extract-sdk"
on the very rootfs tarball that had been created by my build and
extracted it under ~/rootfs, then without reading any further, tried
this variation of runqemu for the first time:

$ runqemu qemuarm ~/rootfs
Assuming /home/rpjday/rootfs is an nfs rootfs
Continuing with the following parameters:
KERNEL:
[/home/rpjday/oe/builds/oe/qemuarm/tmp-eglibc/deploy/images/zImage-qemuarm.bin]
ROOTFS: [/home/rpjday/rootfs]
FSTYPE: [nfs]
Setting up tap interface under sudo
[sudo] password for rpjday:
Acquiring lockfile for tap0...
runqemu-export-rootfs restart /home/rpjday/rootfs
Error: Unable to find rpc.mountd binary in
/home/rpjday/oe/builds/oe/qemuarm/tmp-eglibc/sysroots/x86_64-linux/usr/sbin/
Have you run 'bitbake meta-ide-support'?
Set 'tap0' nonpersistent
Releasing lockfile of preconfigured tap device 'tap0'
$

  so ... how many things did i do wrong?  some random thoughts on this
before i dig back into the docs and code:

1) why the name "runqemu-extract-sdk"?  it seems that the point of
that script is to just untar a root filesystem.  i don't see anything
being "extracted" per se.


2) i notice that the "dev" directory created by that script contains
only regular files instead of actual special device files.  but if i
use "sudo" to just untar exactly the same tarball, i get real device
files.  is that the expected behaviour of that script?

3) what should i have done earlier to have the apparently necessary
usr/sbin/rpc.mountd in my sysroot?  it seems odd that i can run my
built qemu image just fine if i run it normally, but if i
runqemu-extract-sdk to unload a rootfs, suddenly my sysroot is missing
that utility.  is the documentation simply missing some simple but
critical details about what types of images are required for this?

  and one more thing.  from that first link in the dev manual, there's
that note that takes you over to the ADT manual.  and it's entirely
possible that there some critical info *before* the section
"Extracting the Root Filesystem" but given how one got there (by
following the link), the reader might miss it.

  anyway, thoughts?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================



More information about the yocto mailing list