Qemu 및 AARCH64

Qemu 및 AARCH64

QEMU를 사용하여 ARM64 머신을 설정하려고 합니다. 나는 결국 커널과 img 파일을 다음에서 얻었습니다.여기그리고여기.

나는 위의 링크에서 접속했다.여기.

OS를 다음과 같이 실행하려고 하면:-

qemu-aarch64 -m 512 -k linux-system-foundation.axf -hda saucy-arm64-multiarch.img

다음과 같은 메시지가 나타나는 것 같습니다.

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

Options and associated environment variables:

Argument      Env-variable      Description
-h                              print this 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
-version      QEMU_VERSION      display version information and exit

Defaults:
QEMU_LD_PREFIX  = /etc/qemu-binfmt/aarch64
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.

왜 그런 겁니까? 가상 머신을 시작하려면 어떤 다른 옵션을 추가해야 합니까?

  1. 위의 오류를 어떻게 수정할 수 있나요?
  2. 또는 qemu에 ARM64 VM을 설정하셨나요? 그렇다면 사용해야 하는 파일과 명령을 보여줄 수 있는 리소스를 알고 계십니까?

답변1

이 경우 QEMU를 시작하려면 시스템 에뮬레이터 QEMU를 사용해야 합니다 qemu-system-aarch64. 커널은 -kernel대신 이 매개변수를 사용합니다 -k.

qemu-system-aarch64 -m 512 -kernel linux-system-foundation.axf -hda saucy-arm64-multiarch.img

다운로드하여 ARM64 VM을 처음부터 설정할 수 있습니다.적절한 데비안 설치 CD이미지를 생성하고 QEMU에서 이미지를 부팅합니다(빈 디스크 이미지 사용).

관련 정보