QEMU는 일반 및 오픈 소스 머신 및 사용자 공간 에뮬레이터 및 가상 라이저입니다.
QEMU는 하드웨어 가상화 지원없이 소프트웨어에서 완전한 기계를 모방 할 수 있습니다. 동적 변환을 사용하면 매우 우수한 성능을 달성합니다. QEMU는 Xen 및 KVM 하이퍼 바이저와 통합하여 에뮬레이션 된 하드웨어를 제공하면서 하이퍼 바이저가 CPU를 관리 할 수 있습니다. 하이퍼 바이저 지원을 통해 QEMU는 CPU의 근접 성능을 달성 할 수 있습니다. QEMU가 CPU를 직접 에뮬레이션하면 다른 기계 (예 : X86_64 PC 보드)에서 하나의 기계 (예 : ARMV7 보드)를 위해 만든 운영 체제를 실행할 수 있습니다.
QEMU는 Linux 및 BSD 커널 인터페이스에 사용자 공간 API 가상화를 제공 할 수 있습니다. 이를 통해 하나의 아키텍처 ABI (예 : Linux PPC64 ABI)에 대해 편집 된 바이너리는 다른 아키텍처 ABI (예 : Linux X86_64 ABI)를 사용하여 호스트에서 실행할 수 있습니다. 여기에는 하드웨어 에뮬레이션, 단순히 CPU 및 Syscall 에뮬레이션이 포함되지 않습니다.
QEMU는 다양한 사용 사례에 맞는 것을 목표로합니다. 동작 및 설정을 완전히 제어하려는 사용자가 직접 호출 할 수 있습니다. 또한 안정적인 명령 줄 인터페이스를 제공하고 API를 모니터링하여 더 높은 수준의 관리 계층으로의 통합을 용이하게하는 것을 목표로합니다. Ovirt, OpenStack 및 Virt-Manager와 같은 오픈 소스 응용 프로그램을 사용할 때는 일반적으로 Libvirt 라이브러리를 통해 간접적으로 호출됩니다.
QEMU는 전체적으로 GNU 일반 공개 라이센스, 버전 2에 따라 릴리스됩니다. 전체 라이센스 세부 정보는 라이센스 파일을 참조하십시오.
문서화는 https://www.qemu.org/documentation/에서 온라인으로 주최 할 수 있습니다. docs/
QEMU는 모든 최신 Linux 플랫폼, OS-X, WIN32 (MingW64 도구 체인을 통해) 및 기타 UNIX 대상에 구축 할 수있는 멀티 플랫폼 소프트웨어입니다. QEMU를 구축하기위한 간단한 단계는 다음과 같습니다.
mkdir build
cd build
../configure
make
추가 정보는 QEMU 웹 사이트를 통해 온라인으로 찾을 수 있습니다.
QEMU 소스 코드는 GIT 버전 제어 시스템에서 유지됩니다.
git clone https://gitlab.com/qemu-project/qemu.git
패치를 제출할 때 한 가지 일반적인 접근 방식은 'git format-patch'및/또는 'git send-email'을 사용하여 메일을 [email protected] 메일 링리스트로 보내는 것입니다. 제출 된 모든 패치에는 저자의 'Signed-Off-By'라인이 포함되어야합니다. 패치는 개발자 안내서의 스타일 섹션에 명시된 지침을 따라야합니다.
패치 제출에 대한 추가 정보는 QEMU 웹 사이트를 통해 온라인으로 찾을 수 있습니다.
QEMU 웹 사이트는 소스 제어 하에도 유지됩니다.
git clone https://gitlab.com/qemu-project/qemu-web.git
위의 프로세스를 덜 번거롭게 만들기 위해 'git-publish'유틸리티가 만들어졌으며 정기적으로 기부하거나 연속 패치 시리즈 개정을 보내는 데 적극 권장됩니다. 또한 작동하는 'Git Send-Email'설정이 필요하며 기본적으로 모든 것을 자동화하지는 않으므로 위의 단계를 한 번 수동으로 수행 할 수 있습니다.
설치 지침은 다음을 참조하십시오.
'git-publish'가있는 워크 플로는 다음과 같습니다.
$ git checkout master -b my-feature
$ # work on new commits, add your 'Signed-off-by' lines to each
$ git publish
당신의 패치 시리즈는 앞으로 다시 참조 해야하는 경우 My-Feature-V1로 전송 및 태그가 표시됩니다.
v2 보내기 :
$ git checkout my-feature # same topic branch
$ # making changes to the commits (using 'git rebase', for example)
$ git publish
패치 시리즈는 피사체에서 'v2'태그와 함께 전송되며 GIT 팁은 My-Feature-V2로 태그됩니다.
QEMU 프로젝트는 gitlab 문제를 사용하여 버그를 추적합니다. QEMU GIT 또는 Upstream 출시 소스에서 구축 된 코드를 실행할 때 발견 된 버그는 다음을 통해보고해야합니다.
운영 체제 공급 업체를 통해 QEMU를 사용하는 경우 사전 구축 된 바이너리 패키지를 사용하는 경우 먼저 버그를 공급 업체 자체 버그 추적기에보고하는 것이 좋습니다. 버그가 최신 업스트림 코드에도 영향을 미치는 것으로 알려진 경우 Gitlab을 통해보고 할 수도 있습니다.
버그보고에 대한 추가 정보는 다음과 같이 참조하십시오.
버전 기록 및 릴리스 노트는 https://wiki.qemu.org/changelog/를 방문하거나 자세한 정보를 보려면 GIT 기록을보십시오.
QEMU 커뮤니티는 여러 가지 방법으로 연락 할 수 있으며 두 가지 주요 방법은 이메일과 IRC입니다.
커뮤니티에 연락하는 추가 방법에 대한 정보는 QEMU 웹 사이트를 통해 온라인으로 찾을 수 있습니다.