diff options
Diffstat (limited to 'scripts/qemu-binfmt-conf.sh')
-rwxr-xr-x | scripts/qemu-binfmt-conf.sh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh index 9900554608..00c9c3aa16 100755 --- a/scripts/qemu-binfmt-conf.sh +++ b/scripts/qemu-binfmt-conf.sh @@ -161,6 +161,7 @@ usage() { cat <<EOF Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU] [--help][--credential yes|no][--exportdir PATH] + [--persistent yes|no] Configure binfmt_misc to use qemu interpreter @@ -176,6 +177,9 @@ Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU] (default: $SYSTEMDDIR or $DEBIANDIR) --credential: if yes, credential and security tokens are calculated according to the binary to interpret + --persistent: if yes, the interpreter is loaded when binfmt is + configured and remains in memory. All future uses + are cloned from the open file. To import templates with update-binfmts, use : @@ -245,6 +249,9 @@ qemu_generate_register() { if [ "$CREDENTIAL" = "yes" ] ; then flags="OC" fi + if [ "$PERSISTENT" = "yes" ] ; then + flags="${flags}F" + fi echo ":qemu-$cpu:M::$magic:$mask:$qemu:$flags" } @@ -304,8 +311,9 @@ DEBIANDIR="/usr/share/binfmts" QEMU_PATH=/usr/local/bin CREDENTIAL=no +PERSISTENT=no -options=$(getopt -o ds:Q:e:hc: -l debian,systemd:,qemu-path:,exportdir:,help,credential: -- "$@") +options=$(getopt -o ds:Q:e:hc:p: -l debian,systemd:,qemu-path:,exportdir:,help,credential:,persistent: -- "$@") eval set -- "$options" while true ; do @@ -353,6 +361,10 @@ while true ; do shift CREDENTIAL="$1" ;; + -p|--persistent) + shift + PERSISTENT="$1" + ;; *) break ;; |