diff options
author | Julian Andres Klode <jak@debian.org> | 2011-07-27 20:12:49 +0100 |
---|---|---|
committer | Roger Leigh <rleigh@debian.org> | 2011-07-27 20:12:49 +0100 |
commit | bfb691cc483f8bc906908de0537d3cb5bb4ac23c (patch) | |
tree | 2fe3750e2e4cb90519757ed8aa31e384cfd24f08 /contrib | |
parent | cfd69350f07150e5a11c9cd527adabb9ff026fb1 (diff) | |
download | schroot-bfb691cc483f8bc906908de0537d3cb5bb4ac23c.tar.gz |
contrib: Add setup script for qemu
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/setup.d/99binfmt | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/setup.d/99binfmt b/contrib/setup.d/99binfmt new file mode 100644 index 00000000..21754520 --- /dev/null +++ b/contrib/setup.d/99binfmt @@ -0,0 +1,46 @@ +#!/bin/sh +# Copyright © 2011 Julian Andres Klode <jak@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" ] && \ + [ "$STAGE" != "setup-stop" ] && \ + [ "$STAGE" != "setup-recover" ]; 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 + [ -e "$dst" ] || touch "$dst" + mount --bind "$emulator" "$dst" + mount -o remount,ro "$dst" + fi +done |