Bug 2533 - "runqemu" can't launch a qemu target image using toolchainSDK built by adt-installer on ubuntu x86_64 with with nightly build (20120530-2)
Summary: "runqemu" can't launch a qemu target image using toolchainSDK built by adt-in...
Status: RESOLVED INVALID
Alias: None
Product: ADT
Classification: Yocto Project Subprojects
Component: adt (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Undecided normal
Target Milestone: ---
Assignee: Jessica
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2012-06-04 03:56 UTC by liang li
Modified: 2012-06-04 09:08 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description liang li 2012-06-04 03:56:31 UTC
steps:

1. run "bitbake meta-toolchain",follown parts of local.conf is set:
MACHINE ?= "qemuarm"  
PACKAGE_CLASSES ?= "package_ipk"
SDKMACHINE ?= "x86_64" 
2. copy tmp/deploy/ipk subdir of build dir to "/var/www/1.2+snapshot/adt-ipk" and related rootfs and kernel file to "/var/www/1.2+snapshot/rootfs/qemuarm" of the local adt repo machine.
3. extract "adt_installer.tar.bz2" , change "adt_installer.conf" file ,"opkg/conf/opkg-sdk-i686.conf" and "opkg/conf/opkg-sdk-x86_64.conf": 
YOCTOADT_REPO="http://local_repo_ip/1.2+snapshot"
src yp-i686-nativesdk http://local_repo_ip/1.2+snapshot/adt-ipk/i686-nativesdk
src yp-x86_64-nativesdk http://local_repo_ip/1.2+snapshot/adt-ipk/x86_64-nativesdk.
local_repo_ip is the ip address of the local adt repo machine.
adt_install.tar.bz2 is from:
http://autobuilder.pokylinux.org/nightly/20120530-2/adt_installer/
4. run "./adt_installer",get successful result.
5. run "/opt/poky/1.2+snapshot/environment-setup-armv5te-poky-linux-gnueabi".
6. In "adt-install" dir ,run "runqemu nfs download_image/zImage-qemuarm.bin rootfsdir", following error met:
-----------------------
Assuming /home/liangli/test-yocto/arm_1.3 is an nfs rootfs
Set MACHINE to [qemuarm] based on kernel [download_image/zImage-qemuarm.bin]

Continuing with the following parameters:
KERNEL: [download_image/zImage-qemuarm.bin]
ROOTFS: [/home/liangli/test-yocto/arm_1.3]
FSTYPE: [nfs]
Setting up tap interface under sudo
Acquiring lockfile for tap0...
runqemu-export-rootfs restart /home/liangli/test-yocto/arm_1.3
No PID file, not stopping rpc.mountd
No PID file, not stopping rpc.nfsd
Creating exports file...
Starting User Mode rpc.mountd
  /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/pseudo -P /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/sbin/rpc.mountd --allow-non-root --mount-pid /home/liangli/.runqemu-sdk/mount0.pid -f /home/liangli/.runqemu-sdk/exports0 --rmtab /home/liangli/.runqemu-sdk/rmtab0 --prog 21111 -r -P 3048
Cannot register service: RPC: Unable to receive; errno = Connection refused
Cannot register service: RPC: Unable to receive; errno = Connection refused
Cannot register service: RPC: Unable to receive; errno = Connection refused
Cannot register service: RPC: Unable to receive; errno = Connection refused
Starting User Mode nfsd
  /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/pseudo -P /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/sbin/rpc.nfsd --allow-non-root --nfs-pid /home/liangli/.runqemu-sdk/nfs0.pid -f /home/liangli/.runqemu-sdk/exports0 --prog 11111 -P 3049 -r
Cannot register service: RPC: Unable to receive; errno = Connection refused
Cannot register service: RPC: Unable to receive; errno = Connection refused

On your target please remember to add the following options for NFS
nfsroot=IP_ADDRESS:/home/liangli/test-yocto/arm_1.3,nfsvers=2,mountprog=21111,nfsprog=11111,udp
WARNING: distccd not present, no distcc support loaded.
/opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-system-arm: /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4)
Running qemu-system-arm...
/opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-system-arm -kernel download_image/zImage-qemuarm.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -M versatilepb --no-reboot -show-cursor -usb -usbdevice wacom-tablet -no-reboot -m 128 --append "root=/dev/nfs nfsroot=192.168.7.1:/home/liangli/test-yocto/arm_1.3,nfsvers=2,mountprog=21111,nfsprog=11111,udp,port=3049,mountport=3048 rw ip=192.168.7.2::192.168.7.1:255.255.255.0 mem=128M "
/opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-system-arm: /opt/poky/1.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /usr/lib/x86_64-linux-gnu/libcurl.so.4)
Set 'tap0' nonpersistent
Releasing lockfile of preconfigured tap device 'tap0'
Shutting down the userspace NFS server...
runqemu-export-rootfs stop /home/liangli/test-yocto/arm_1.3
Stopping rpc.mountd
Stopping rpc.nfsd
Removing exports file
-----------------

qemu target can not boot up .

the similar error also happened to qemux86,qemux86_64,qemuppc and qemumips.
the error not happend on meta-toolchain from :
http://autobuilder.pokylinux.org/nightly/20120530-2/toolchain/x86-64/

test env:
host : ubuntu 12.04 x86_64
os kernel : 3.2.0-24-generic #39-Ubuntu SMP

git info :348da93e283b2b8454fd9cde80d4b17378e2a168
git branch: poky/master
Comment 1 Hongna Xu 2012-06-04 06:11:08 UTC
liang:
   I can start qenu by "runqemu" using the ipks generated by autobuilder, I set the field src yp-x86_64-nativesdk http://autobuilder.yoctoproject.org/pub/nightly/20120530-2/ipk/x86_64-nativesdk/ in "opkg/conf/opkg-sdk-x86_64.conf", download the images of qemu from autobuilder, and set YOCTOADT_REPO="http://localhost/1.2+snapshot" in adt_installer.conf.
Comment 2 liang li 2012-06-04 07:26:04 UTC
(In reply to comment #1)
> liang:
>    I can start qenu by "runqemu" using the ipks generated by autobuilder, I
> set the field src yp-x86_64-nativesdk
> http://autobuilder.yoctoproject.org/pub/nightly/20120530-2/ipk/x86_64-
> nativesdk/ in "opkg/conf/opkg-sdk-x86_64.conf", download the images of qemu
> from autobuilder, and set YOCTOADT_REPO="http://localhost/1.2+snapshot" in
> adt_installer.conf.

yes, it can work.

and machine info where I build meta-toolchain:
host :ubuntu 11.10 x86_64
kernel : 3.0.0-17-generic #30-Ubuntu SMP
and also found the "x86_64-nativesdk" dir in ipk directory.

something diffrent from local build and autobuilder build? 
something wrong with the steps I described?
Comment 3 Yi Zhao 2012-06-04 09:08:18 UTC
When generate meta-toolchain by 'bitbake meta-toolchain', libcurl.so.4 is missing in the tarball. 'bitbake meta-toolchain-gmae' doesn't have this issue. I have opened a new bug 2536 to track it. Mark this as invalid.