
qemu v11.1.0
مرآة QEMU الرسمية. يُرجى زيارة https://www.qemu.org/contribute/ لمعرفة كيفية إرسال التغييرات إلى QEMU. طلبات السحب (Pull Requests) معطلة. يُرجى استخدام حزم الإصدار (tarballs) فقط من موقع QEMU الإلكتروني.
QEMU README
QEMU هو محاكي آلة ومساحة مستخدم ومُظاهر افتراضي عام ومفتوح المصدر.
QEMU قادر على محاكاة آلة كاملة برمجياً دون أي حاجة لدعم المحاكاة الافتراضية للأجهزة. باستخدام الترجمة الديناميكية، يحقق أداء جيداً جداً. يمكن لـ QEMU أيضاً التكامل مع مظاهري Xen و KVM لتوفير أجهزة محاكاة مع السماح للمُظاهر بإدارة وحدة المعالجة المركزية. مع دعم المُظاهر، يمكن لـ QEMU تحقيق أداء قريب من الأداء الأصلي لوحدات المعالجة المركزية. عندما يقوم QEMU بمحاكاة وحدات المعالجة المركزية مباشرة، فهو قادر على تشغيل أنظمة تشغيل مصممة لآلة معينة (مثل لوحة ARMv7) على آلة مختلفة (مثل لوحة PC x86_64).
QEMU قادر أيضاً على توفير المحاكاة الافتراضية لواجهة برمجة تطبيقات مساحة المستخدم لواجهات نواة Linux و BSD. يتيح ذلك تشغيل الملفات الثنائية المترجمة وفقاً لواجهة ABI لبنية معينة (مثل واجهة ABI لـ Linux PPC64) على مضيف يستخدم واجهة ABI لبنية مختلفة (مثل واجهة ABI لـ Linux x86_64). لا يتضمن ذلك أي محاكاة للأجهزة، بل مجرد محاكاة لوحدة المعالجة المركزية واستدعاءات النظام.
يهدف QEMU إلى الاندماج في مجموعة متنوعة من حالات الاستخدام. يمكن استدعاؤه مباشرة من قبل المستخدمين الراغبين في التحكم الكامل في سلوكه وإعداداته. كما يهدف إلى تسهيل التكامل في طبقات الإدارة العليا، من خلال توفير واجهة سطر أوامر مستقرة وواجهة برمجة تطبيقات للمراقبة. يتم استدعاؤه عادةً بشكل غير مباشر عبر مكتبة libvirt عند استخدام تطبيقات مفتوحة المصدر مثل oVirt و OpenStack و virt-manager.
يتم إصدار QEMU ككل بموجب رخصة GNU العامة، الإصدار 2. للحصول على تفاصيل الترخيص الكاملة، راجع ملف LICENSE.
التوثيق
يمكن العثور على التوثيق مستضافاً عبر الإنترنت على
<https://www.qemu.org/documentation/>. يتم إنشاء التوثيق لإصدار التطوير الحالي المتاح على
<https://www.qemu.org/docs/master/> من مجلد docs/
في شجرة المصدر، ويتم بناؤه بواسطة Sphinx <https://www.sphinx-doc.org/en/master/>_.
البناء
QEMU هو برنامج متعدد المنصات يهدف إلى أن يكون قابلاً للبناء على جميع منصات Linux الحديثة و OS-X و Win32 (عبر سلسلة أدوات Mingw64) ومجموعة متنوعة من أهداف UNIX الأخرى. الخطوات البسيطة لبناء QEMU هي:
.. code-block:: shell
mkdir build cd build ../configure make
يمكن أيضاً العثور على معلومات إضافية عبر الإنترنت عبر موقع QEMU على الويب:
<https://wiki.qemu.org/Hosts/Linux>_<https://wiki.qemu.org/Hosts/Mac>_<https://wiki.qemu.org/Hosts/W32>_
إرسال التصحيحات
يتم الحفاظ على الكود المصدري لـ QEMU تحت نظام التحكم في الإصدارات GIT.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu.git
عند إرسال التصحيحات، أحد الأساليب الشائعة هو استخدام 'git
format-patch' و/أو 'git send-email' لتنسيق وإرسال البريد الإلكتروني إلى
القائمة البريدية [email protected]. يجب أن تحتوي جميع التصحيحات المقدمة على
سطر 'Signed-off-by' من المؤلف. يجب أن تتبع التصحيحات
الإرشادات الموضحة في قسم النمط <https://www.qemu.org/docs/master/devel/style.html>_ من
دليل المطورين.
يمكن العثور على معلومات إضافية حول إرسال التصحيحات عبر الإنترنت عبر موقع QEMU على الويب:
<https://wiki.qemu.org/Contribute/SubmitAPatch>_<https://wiki.qemu.org/Contribute/TrivialPatches>_
يتم أيضاً الحفاظ على موقع QEMU على الويب تحت التحكم في المصدر.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu-web.git
<https://www.qemu.org/2017/02/04/the-new-qemu-website-is-up/>_
تم إنشاء أداة 'git-publish' لجعل العملية أعلاه أقل إرهاقاً، ويوصى بها بشدة لتقديم مساهمات منتظمة، أو حتى فقط لإرسال مراجعات متتالية من سلسلة التصحيحات. تتطلب أيضاً إعداد 'git send-email' عملياً، وافتراضياً لا تقوم بأتمتة كل شيء، لذا قد ترغب في اتباع الخطوات أعلاه يدوياً لمرة واحدة.
للحصول على تعليمات التثبيت، يرجى الذهاب إلى:
<https://github.com/stefanha/git-publish>_
سير العمل باستخدام 'git-publish' هو:
.. code-block:: shell
$ git checkout master -b my-feature $ # العمل على الالتزامات الجديدة، أضف سطور 'Signed-off-by' الخاصة بك إلى كل منها $ git publish
سيتم إرسال سلسلة التصحيحات الخاصة بك ووسمها باسم my-feature-v1 إذا كنت بحاجة للرجوع إليها في المستقبل.
إرسال الإصدار v2:
.. code-block:: shell
$ git checkout my-feature # نفس فرع الموضوع $ # إجراء تغييرات على الالتزامات (باستخدام 'git rebase'، على سبيل المثال) $ git publish
سيتم إرسال سلسلة التصحيحات الخاصة بك مع وسم 'v2' في الموضوع وسيتم وسم رأس git باسم my-feature-v2.
الإبلاغ عن الأخطاء
يستخدم مشروع QEMU مشكلات GitLab لتتبع الأخطاء. يجب الإبلاغ عن الأخطاء التي يتم العثور عليها عند تشغيل الكود المبني من QEMU git أو المصادر الرسمية الصادرة عبر:
<https://gitlab.com/qemu-project/qemu/-/issues>_
إذا كنت تستخدم QEMU عبر حزمة ثنائية مبنية مسبقاً من بائع نظام تشغيل، فمن الأفضل الإبلاغ عن الأخطاء إلى متتبع الأخطاء الخاص بالبائع أولاً. إذا كان الخطأ معروفاً أيضاً بأنه يؤثر على أحدث كود من المنبع، فيمكن أيضاً الإبلاغ عنه عبر GitLab.
للحصول على معلومات إضافية حول الإبلاغ عن الأخطاء، راجع:
<https://wiki.qemu.org/Contribute/ReportABug>_
سجل التغييرات
للحصول على تاريخ الإصدارات وملاحظات الإصدار، يرجى زيارة
<https://wiki.qemu.org/ChangeLog/>_ أو الاطلاع على تاريخ git للحصول على
معلومات أكثر تفصيلاً.
الاتصال
يمكن الاتصال بمجتمع QEMU بعدة طرق، مع وجود طريقتين رئيسيتين هما البريد الإلكتروني و IRC:
<mailto:[email protected]>_<https://lists.nongnu.org/mailman/listinfo/qemu-devel>_- #qemu على irc.oftc.net
يمكن العثور على معلومات حول طرق إضافية للاتصال بالمجتمع عبر الإنترنت عبر موقع QEMU على الويب:
<https://wiki.qemu.org/Contribute/StartHere>_