Second stage fails on Debian sparc guest

Bug #1254765 reported by Ken Sharp
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qemu (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Host: Ubuntu Precise amd64
Guest: Debian Testing sparc

The second stage of a debootstrap fails, claiming it cannot find a file which does exist.

$ sudo qemu-debootstrap --arch=sparc testing sparc http://ftp.uk.debian.org/debian/
I: Running command: debootstrap --arch sparc --foreign testing sparc http://ftp.uk.debian.org/debian/
[...]
I: Running command: chroot sparc /debootstrap/debootstrap --second-stage
chroot: failed to run command `/debootstrap/debootstrap': No such file or directory

$ ll sparc/debootstrap/
total 108K
drwxr-xr-x 2 root root 4.0K Nov 25 14:59 ./
drwxr-xr-x 18 root root 4.0K May 7 2013 ../
-rw-r--r-- 1 root root 6 Nov 25 14:59 arch
-rw-r--r-- 1 root root 1012 Nov 25 14:59 base
-rwxr-xr-x 1 root root 19K Nov 25 14:59 debootstrap*
-rw-r--r-- 1 root root 177 Nov 25 14:58 debootstrap.log
-rw-r--r-- 1 root root 11K Nov 25 14:59 debpaths
-rw-r--r-- 1 root root 792 Nov 25 14:59 devices.tar.gz
-rw-r--r-- 1 root root 35K Nov 25 14:59 functions
-rw-r--r-- 1 root root 754 Nov 25 14:59 required
-rw-r--r-- 1 root root 8 Nov 25 14:59 suite
-rw-r--r-- 1 root root 5.7K Nov 25 14:59 suite-script

Other chroots don't have this problem, it seems to be specific to the sparc arch.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: debootstrap 1.0.40~ubuntu0.4
ProcVersionSignature: Ubuntu 3.8.0-33.48~precise1-generic 3.8.13.11
Uname: Linux 3.8.0-33-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.0.1-0ubuntu17.6
Architecture: amd64
Date: Mon Nov 25 15:09:42 2013
InstallationMedia: Ubuntu 12.04.3 LTS "Precise Pangolin" - Release amd64 (20130820.1)
MarkForUpload: True
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=en_GB:en
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: debootstrap
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Ken Sharp (kennybobs) wrote :
Revision history for this message
Ken Sharp (kennybobs) wrote :

Version: 1.6.0+dfsg-2ubuntu4

Same in Trusty.

tags: added: trusty
Revision history for this message
Ken Sharp (kennybobs) wrote :

Oops, that's the Qemu version.

qemu: Version: 1.6.0+dfsg-2ubuntu4
debootstrap: Version: 1.0.55

Revision history for this message
Ken Sharp (kennybobs) wrote :

# chroot sparc
chroot: failed to run command ‘/bin/bash’: No such file or directory

# file bash
bash: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x3c414ea5e87b998b34aac3a3c5e31406787e6ff8, stripped

tags: added: i386
Ken Sharp (kennybobs)
tags: added: saucy
Revision history for this message
mzenzes (mzenzes) wrote :

same problem for trusty in amd64... in armhf it works

Revision history for this message
mzenzes (mzenzes) wrote :

editing comments is not possible? hm, anyways

i meant arm64

Revision history for this message
Ken Sharp (kennybobs) wrote :

This is fixed in Focal but still occurs in P, T, X and B. (Tested in a VM)

However, I tested using schroot with Precise, Trusty, Xenial and Bionic and it also works. In such a case /proc and therefore /proc/sys/fs/binfmt_misc are bind-mounted from the host (in my case Jammy) to the chroot. I suggest that the problem was in the binfmt which is supplied by qemu-user-static.

Comparing the entries in binfmt_misc/qemu-sparc between working and non-working the only difference appears to be the F flags, which according to Wikipedia[1]:

“F to make the kernel open the binary at configuration time instead of lazily at startup time, so that it is available inside other mount namespaces and chroots as well.”

This clearly makes sense.

So fixed in Focal, older releases are EOL.

[1] https://en.wikipedia.org/wiki/Binfmt_misc

affects: debootstrap (Ubuntu) → qemu (Ubuntu)
Changed in qemu (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.