QEMU เป็นเครื่องจำลองเครื่องจำลองและผู้ใช้งานทั่วไปและผู้ใช้งานเสมือนจริง
QEMU มีความสามารถในการเลียนแบบเครื่องที่สมบูรณ์ในซอฟต์แวร์โดยไม่จำเป็นต้องสนับสนุนการจำลองเสมือนฮาร์ดแวร์ ด้วยการใช้การแปลแบบไดนามิกมันจะได้ประสิทธิภาพที่ดีมาก QEMU ยังสามารถรวมเข้ากับ Hypervisors XEN และ KVM เพื่อจัดหาฮาร์ดแวร์ที่เลียนแบบในขณะที่อนุญาตให้ Hypervisor จัดการ CPU ด้วยการสนับสนุน hypervisor QEMU สามารถบรรลุประสิทธิภาพใกล้เคียงกับ CPU เมื่อ QEMU เลียนแบบซีพียูโดยตรงมันมีความสามารถในการเรียกใช้ระบบปฏิบัติการที่ทำขึ้นสำหรับเครื่องหนึ่ง (เช่นบอร์ด ARMV7) บนเครื่องอื่น (เช่นบอร์ดพีซี X86_64)
QEMU ยังมีความสามารถในการจัดหาการจำลองเสมือน API Userspace สำหรับอินเตอร์เฟสเคอร์เนล Linux และ BSD สิ่งนี้ช่วยให้ไบนารีที่รวบรวมกับสถาปัตยกรรมหนึ่ง ABI (เช่น Linux PPC64 ABI) ทำงานบนโฮสต์โดยใช้สถาปัตยกรรม ABI ที่แตกต่างกัน (เช่น Linux X86_64 ABI) สิ่งนี้ไม่เกี่ยวข้องกับการจำลองฮาร์ดแวร์เพียงแค่การจำลอง CPU และ Syscall
QEMU ตั้งเป้าหมายที่จะพอดีกับกรณีการใช้งานที่หลากหลาย สามารถเรียกใช้โดยตรงโดยผู้ใช้ที่ต้องการควบคุมพฤติกรรมและการตั้งค่าอย่างเต็มที่ นอกจากนี้ยังมีจุดมุ่งหมายเพื่ออำนวยความสะดวกในการรวมเข้ากับเลเยอร์การจัดการระดับที่สูงขึ้นโดยให้อินเทอร์เฟซบรรทัดคำสั่งที่เสถียรและตรวจสอบ API มันมักจะเรียกใช้ทางอ้อมผ่านห้องสมุด libvirt เมื่อใช้แอปพลิเคชันโอเพนซอร์ซเช่น Ovirt, OpenStack และ Virt-Manager
QEMU โดยรวมได้รับการปล่อยตัวภายใต้ใบอนุญาตสาธารณะ GNU ทั่วไปเวอร์ชัน 2 สำหรับรายละเอียดการออกใบอนุญาตเต็มรูปแบบปรึกษาไฟล์ใบอนุญาต
เอกสารสามารถพบโฮสต์ออนไลน์ได้ที่ https://www.qemu.org/documentation/ เอกสารสำหรับเวอร์ชันการพัฒนาปัจจุบันที่มีอยู่ที่ https://www.qemu.org/docs/master/ ถูกสร้างขึ้นจาก docs/
โฟลเดอร์ในแผนผังต้นทางและสร้างโดย Sphinx
QEMU เป็นซอฟต์แวร์หลายแพลตฟอร์มที่มีวัตถุประสงค์เพื่อสร้างได้บนแพลตฟอร์ม Linux ที่ทันสมัยทั้งหมด, OS-X, Win32 (ผ่าน MINGW64 Toolchain) และเป้าหมาย 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] แพตช์ที่ส่งทั้งหมดจะต้องมีบรรทัด 'ลงนาม-ปิด' จากผู้เขียน แพตช์ควรปฏิบัติตามแนวทางที่กำหนดไว้ในส่วนสไตล์ของคู่มือนักพัฒนา
ข้อมูลเพิ่มเติมเกี่ยวกับการส่งแพตช์สามารถพบได้ทางออนไลน์ผ่านเว็บไซต์ 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
ชุดแพตช์ของคุณจะถูกส่งและติดแท็กเป็นคุณลักษณะของฉัน -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 หรือแหล่งข้อมูลที่ปล่อยตัวต้นน้ำควรรายงานผ่าน:
หากใช้ QEMU ผ่านแพ็คเกจไบนารีระบบปฏิบัติการระบบปฏิบัติการจะดีกว่าที่จะรายงานข้อบกพร่องไปยังตัวติดตามบั๊กของผู้ขายก่อน หากข้อผิดพลาดนั้นเป็นที่รู้จักกันว่าส่งผลกระทบต่อรหัสต้นน้ำล่าสุดก็สามารถรายงานผ่าน Gitlab
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรายงานการรายงานข้อผิดพลาด:
สำหรับประวัติเวอร์ชันและบันทึกย่อโปรดเยี่ยมชม https://wiki.qemu.org/changelog/ หรือดูประวัติ GIT สำหรับข้อมูลรายละเอียดเพิ่มเติม
ชุมชน QEMU สามารถติดต่อได้หลายวิธีโดยทั้งสองวิธีหลักคืออีเมลและ IRC:
ข้อมูลเกี่ยวกับวิธีการเพิ่มเติมในการติดต่อชุมชนสามารถพบได้ทางออนไลน์ผ่านเว็บไซต์ QEMU: