From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44732) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QnrUr-0007Un-L3 for qemu-devel@nongnu.org; Mon, 01 Aug 2011 08:21:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QnrUq-0003HH-67 for qemu-devel@nongnu.org; Mon, 01 Aug 2011 08:21:25 -0400 Received: from adelie.canonical.com ([91.189.90.139]:48941) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QnrUp-0003HA-VC for qemu-devel@nongnu.org; Mon, 01 Aug 2011 08:21:24 -0400 Received: from loganberry.canonical.com ([91.189.90.37]) by adelie.canonical.com with esmtp (Exim 4.71 #1 (Debian)) id 1QnrUp-0003Vk-58 for ; Mon, 01 Aug 2011 12:21:23 +0000 Received: from loganberry.canonical.com (localhost [127.0.0.1]) by loganberry.canonical.com (Postfix) with ESMTP id 25B8A2EA002 for ; Mon, 1 Aug 2011 12:21:23 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Mon, 01 Aug 2011 12:15:18 -0000 From: Artyom <739785@bugs.launchpad.net> Sender: bounces@canonical.com References: <20110321222037.3067.75336.malonedeb@soybean.canonical.com> Message-Id: <20110801121518.12392.93223.malone@chaenomeles.canonical.com> Errors-To: bounces@canonical.com Subject: [Qemu-devel] [Bug 739785] Re: qemu-i386 user mode on ARMv5 host fails (bash: fork: Invalid argument) Reply-To: Bug 739785 <739785@bugs.launchpad.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Further research shown that the issue is that NPTL (Native Posix Threads) i= s not supported for i386 user mode emulation. That causes the described issue in binaries compiled with NPTL (most modern= ones). One way to fix this that worked for me is a patch from here: http://patchwork.ozlabs.org/patch/45206 I was able to chroot into i386 on mipsel host with this one, and it mostly worked, no problems running other programs from bash. -- = You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/739785 Title: qemu-i386 user mode on ARMv5 host fails (bash: fork: Invalid argument) Status in QEMU: New Bug description: Good time of day everybody, I have been trying to make usermode qemu on ARM with plugapps (archlinux) with archlinux i386 chroot to work. 1. I installed arch linux in a virtuabox and created a chroot for it with= mkarchroot. Transferred it to my pogo plug into /i386/ 2. I comiled qemu-i386 static and put it into /i386/usr/bin/ ./configure --static --disable-blobs --disable-system --target-list=3Di38= 6-linux-user make 3. I also compiled linux kernel 2.6.38 with CONFIG_BINFMT_MISC=3Dy and in= stalled it. uname -a Linux Plugbox 2.6.38 #4 PREEMPT Fri Mar 18 22:19:10 CDT 2011 armv5tel Fer= oceon 88FR131 rev 1 (v5l) Marvell SheevaPlug Reference Board GNU/Linux 4. Added the following options into /etc/rc.local /sbin/modprobe binfmt_misc /bin/mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc echo ':qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x= 00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff= \xff\xff\xfb\xff\xff\xff:/usr/bin/qemu-i386:' >/proc/sys/fs/binfmt_misc/reg= ister 5. Also copied ld-linux.so.3 (actually ld-2.13.so because ld- linux.so.3 is a link to that file) from /lib/ to /i386/lib/ 6.Now i chroot into /i386 and I get this: [root@Plugbox i386]# chroot . [II aI hnve ao n@P /]# pacman -Suy bash: fork: Invalid argument 7.I also downloaded linux-user-test-0.3 from qemu website and ran the tes= t: [root@Plugbox linux-user-test-0.3]# make ./qemu-linux-user.sh [qemu-i386] ../qemu-0.14.0/i386-linux-user/qemu-i386 -L ./gnemul/qemu-i386 i386/ls -l= dummyfile BUG IN DYNAMIC LINKER ld.so: dl-version.c: 210: _dl_check_map_versions: A= ssertion `needed !=3D ((void *)0)' failed! make: *** [test] Error 127 To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/739785/+subscriptions