
qemu v11.1.0
आधिकारिक QEMU मिरर। कृपया QEMU में परिवर्तन सबमिट करने के तरीके के लिए https://www.qemu.org/contribute/ देखें। Pull Requests अक्षम हैं। कृपया केवल QEMU वेबसाइट से रिलीज़ tarballs का उपयोग करें।
QEMU README
QEMU एक सामान्य और ओपन सोर्स मशीन और यूज़रस्पेस एमुलेटर और वर्चुअलाइज़र है।
QEMU हार्डवेयर वर्चुअलाइज़ेशन समर्थन की किसी भी आवश्यकता के बिना सॉफ्टवेयर में एक पूर्ण मशीन का अनुकरण करने में सक्षम है। डायनेमिक ट्रांसलेशन का उपयोग करके, यह बहुत अच्छा प्रदर्शन प्राप्त करता है। QEMU एमुलेटेड हार्डवेयर प्रदान करते हुए हाइपरवाइज़र को CPU प्रबंधित करने की अनुमति देने के लिए Xen और KVM हाइपरवाइज़र के साथ भी एकीकृत हो सकता है। हाइपरवाइज़र समर्थन के साथ, QEMU CPU के लिए लगभग मूल प्रदर्शन प्राप्त कर सकता है। जब QEMU सीधे CPU का अनुकरण करता है, तो यह एक मशीन (जैसे ARMv7 बोर्ड) के लिए बनाए गए ऑपरेटिंग सिस्टम को किसी भिन्न मशीन (जैसे x86_64 PC बोर्ड) पर चलाने में सक्षम होता है।
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 के तहत जारी किया गया है। पूर्ण लाइसेंसिंग विवरण के लिए, LICENSE फ़ाइल देखें।
दस्तावेज़ीकरण
दस्तावेज़ीकरण ऑनलाइन <https://www.qemu.org/documentation/>_ पर उपलब्ध है। वर्तमान विकास संस्करण का दस्तावेज़ीकरण जो <https://www.qemu.org/docs/master/>_ पर उपलब्ध है, स्रोत ट्री में docs/ फ़ोल्डर से उत्पन्न होता है, और इसे Sphinx <https://www.sphinx-doc.org/en/master/>_ द्वारा बनाया गया है।
निर्माण
QEMU एक बहु-प्लेटफॉर्म सॉफ्टवेयर है जिसका उद्देश्य सभी आधुनिक लिनक्स प्लेटफॉर्म, 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 $ # work on new commits, add your 'Signed-off-by' lines to each $ git publish
यदि आपको भविष्य में इसका संदर्भ लेने की आवश्यकता है तो आपकी पैच श्रृंखला भेजी जाएगी और my-feature-v1 के रूप में टैग की जाएगी।
v2 भेजना:
.. code-block:: shell
$ 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 या अपस्ट्रीम जारी स्रोतों से निर्मित कोड चलाते समय पाए गए बग की रिपोर्ट इस प्रकार की जानी चाहिए:
<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>_