Bug 6344 - ADT installer - failed to mount proc for QEMU x86 and arm
Summary: ADT installer - failed to mount proc for QEMU x86 and arm
Status: RESOLVED OBSOLETE
Alias: None
Product: ADT
Classification: Yocto Project Subprojects
Component: adt (show other bugs)
Version: 1.4.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.7
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard: Moved from Laurentiu to Unassigned
Depends on:
Blocks:
 
Reported: 2014-05-16 15:10 UTC by Ada Solcan
Modified: 2014-07-01 12:10 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: Regression (Used to work)
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
output from console (20.53 KB, text/plain)
2014-05-16 15:10 UTC, Ada Solcan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ada Solcan 2014-05-16 15:10:20 UTC
Created attachment 1965 [details]
output from console

HOST: Fedora 20 & Ubuntu 13.10
poky: 42a5b0cbd1fc316e8b8e3ef1629271619c74b2d3
adt-installer: http://autobuilder.yoctoproject.org/pub/releases/yocto-1.4.4/adt-installer-QA/adt_installer.tar.bz2

STEPS TO REPRODUCE:
1. Download the Tarball from http://autobuilder.yoctoproject.org/pub/releases/yocto-1.4.4/adt-installer-QA/adt_installer.tar.bz2 to any directory
2. Unpack the tarball: tar -xjf adt_installer.tar.bz2 and go to the directory where you unpack it: cd adt_installer
3. Don't modify the default configuration file: adt-installer.conf
4. Run the installer: ./adt_installer
5. Launch QEMU

EXPECTED RESULT:
QEMU launches successfully.

ACTUAL RESULT:
QEMU doen't launch and the following is displayed in the console: mount: only root can mount proc on /proc 
See attachment for full log.
Comment 1 Laurentiu Palcu 2014-05-19 13:06:16 UTC
I reproduced the issue. Doing a local build to make sure it's not an AB issue.
Comment 2 Laurentiu Palcu 2014-05-20 07:50:59 UTC
It happens on a local build too.
Comment 3 Laurentiu Palcu 2014-05-20 14:33:30 UTC
It turns out the problem was passing a relative path to YOCTOADT_TARGET_SYSROOT_LOC and 'pseudo' is not able to save the db files in the right location. Passing an absolute path fixes this.

I'll try to prepare a patch that converts the YOCTOADT_TARGET_SYSROOT_LOC path to absolute.
Comment 4 Jessica 2014-05-21 17:12:57 UTC
So this is a 1.4.4 only issue?
Comment 5 Laurentiu Palcu 2014-05-29 13:43:21 UTC
This issue exists in all versions. We only used absolute paths in adt-installer.conf.
Comment 6 Richard Purdie 2014-07-01 12:10:46 UTC
Further digging on this is that 1.6.1 does not have this issue, 1.4.4 will reproduce if you use a relative path in adt_installer.conf but 1.6.1 will not.

It appears its the rootfs extraction which breaks things since the 1.6.1 binaries pointed at a broken 1.4.4 extracted image will show the same error. The error is likely some kind of issue in the pseudo database, incorrectly handling the relative paths. There were fixes to pseudo for link()/linkat() which are probably related.

Its also worth noting that 1.6 calls readlink on the paths so absolute paths are used, I couldn't reproduce even when I disabled that and used relative ones.

So marking this as obsolete for want of a better description. There is a workaround for 1.4.4 (use absolute paths) and there isn't much demand to go back and fix it.