balena-io / qemu

QEMU with additional QEMU_EXECVE flag that persists emulator after an execve
Other
63 stars 29 forks source link

Binary release does not include QEMU_EXECVE #7

Closed julianxhokaxhiu closed 7 years ago

julianxhokaxhiu commented 7 years ago

Hi,

I downloaded today your latest binary version available here ( https://github.com/resin-io/qemu/releases/tag/qemu-2.7.0-resin-rc2-arm ) although, when I try to execute --help on it, this is what I get:

usage: qemu-arm [options] program [arguments...]
Linux CPU emulator (compiled for arm emulation)

Options and associated environment variables:

Argument      Env-variable      Description
-h                              print this help
-help
-g port       QEMU_GDB          wait gdb connection to 'port'
-L path       QEMU_LD_PREFIX    set the elf interpreter prefix to 'path'
-s size       QEMU_STACK_SIZE   set the stack size to 'size' bytes
-cpu model    QEMU_CPU          select CPU (-cpu help for list)
-E var=value  QEMU_SET_ENV      sets targets environment variable (see below)
-U var        QEMU_UNSET_ENV    unsets targets environment variable (see below)
-0 argv0      QEMU_ARGV0        forces target process argv[0] to be 'argv0'
-r uname      QEMU_UNAME        set qemu uname release string to 'uname'
-B address    QEMU_GUEST_BASE   set guest_base address to 'address'
-R size       QEMU_RESERVED_VA  reserve 'size' bytes for guest virtual address space
-d item[,...] QEMU_LOG          enable logging of specified items (use '-d help' for a list of items)
-D logfile    QEMU_LOG_FILENAME write logs to 'logfile' (default stderr)
-p pagesize   QEMU_PAGESIZE     set the host page size to 'pagesize'
-singlestep   QEMU_SINGLESTEP   run in singlestep mode
-strace       QEMU_STRACE       log system calls
-seed         QEMU_RAND_SEED    Seed for pseudo-random number generator
-trace        QEMU_TRACE        [[enable=]<pattern>][,events=<file>][,file=<file>]
-version      QEMU_VERSION      display version information and exit

Defaults:
QEMU_LD_PREFIX  = /usr/gnemul/qemu-arm
QEMU_STACK_SIZE = 8388608 byte

You can use -E and -U options or the QEMU_SET_ENV and
QEMU_UNSET_ENV environment variables to set and unset
environment variables for the target process.
It is possible to provide several variables by separating them
by commas in getsubopt(3) style. Additionally it is possible to
provide the -E and -U options multiple times.
The following lines are equivalent:
    -E var1=val2 -E var2=val2 -U LD_PRELOAD -U LD_DEBUG
    -E var1=val2,var2=val2 -U LD_PRELOAD,LD_DEBUG
    QEMU_SET_ENV=var1=val2,var2=val2 QEMU_UNSET_ENV=LD_PRELOAD,LD_DEBUG
Note that if you provide several changes to a single variable
the last change will stay in effect.

Regarding to this the option should be there. Am I missing something?

Best regards, Julian

julianxhokaxhiu commented 7 years ago

Nevermind, after a couple of day of investigations I saw how this project works and what's the current situation. I suggest to update the repo title because it's misleading. I thought that binaries provided by your included QEMU_EXECVE flag and feature too, while it isn't like this anymore. Is it still yet required or did you drop it for a reason?

petrosagg commented 7 years ago

@julianxhokaxhiu the released binaries (and code) now include support for QEMU_EXECVE