[buildd-tools-devel] Bug#604268: Bug#604268: Bug#604268: Bug#604268: Bug#604268: QEMU linux-user support
Julian Andres Klode
jak at debian.org
Tue Jun 14 11:25:42 UTC 2011
On Tue, Jan 25, 2011 at 03:44:29PM +0100, Loïc Minier wrote:
> On Mon, Jan 24, 2011, Loïc Minier wrote:
> > While we could try parsing binfmt-support's format or binfmt_misc's
> > format, I think the best thing here would be to check with the
> > binfmt-support maintainer. I wonder whether binfmt-support is
> > Debian/Ubuntu specific. If it is, then poking the kernel format or
> > trying to run a binary might be best. If it's also used on other
> > distros, perhaps we can get some command which tells us what the
> > interpreter is for a specific binary. If that makes sense to you, I
> > can poke Colin about it, and perhaps open a bug report for the
> > binfmt-support changes.
>
> I've asked Colin about this, and he implemented support for that in
> trunk! :-) (I tested it, there was an issue in the original version
> but r109 fixed it)
>
> (bzr+ssh://bzr.debian.org/bzr/binfmt-support/trunk or
> http://bzr.debian.org/binfmt-support/trunk)
>
> % sudo apt-get build-dep binfmt-support
> % ./configure && make
> % src/update-binfmts --find $chroot/bin/true
> /usr/bin/qemu-arm-static
>
> Note that the --find might return multiple interpreters; in this case,
> the kernel tries them one by one.
>
> Perhaps we should do something like find the first static interpreter,
> or always copy the first interpreter and warn if there is more than
> one?
>
Attaching my solution for this.
--
Julian Andres Klode - Debian Developer, Ubuntu Member
See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
-------------- next part --------------
#!/bin/sh
# Copyright © 2011 Julian Andres Klode <jak at debian.org>
#
# schroot is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# schroot is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
#
#####################################################################
set -e
. "$SETUP_DATA_DIR/common-data"
. "$SETUP_DATA_DIR/common-functions"
if [ "$STAGE" != "setup-start" -a "$STAGE" != "setup-stop" ]; then
exit 0
elif ! which update-binfmts > /dev/null; then
info "Missing update-binfmts"
exit 0
fi
shell="${CHROOT_PATH}/bin/sh"
for emulator in $(update-binfmts --find "$shell"); do
dst="${CHROOT_PATH}$emulator"
if [ ! -e "$emulator" ]; then
info "Missing emulator: $emulator"
else
if [ ! -e "$dst" ]; then
printf "#!/bin/sh\n#Created by sbuild\nexit 0" > "$dst"
fi
mount --bind "$emulator" "$dst"
mount -o remount,ro "$dst"
fi
done
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20110614/9c9a6629/attachment-0001.pgp>
More information about the Buildd-tools-devel
mailing list