मेहमान सिस्टम (वीएम इमेज) के लिए ज़रूरी शर्तें

इस पेज पर दी गई ज़रूरी शर्तें, गेस्ट सिस्टम पर लागू होती हैं.

मेमोरी

सिस्टम के लिए, मेमोरी से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • ऐसे सिस्टम के लिए 1 जीबी मेमोरी जिसमें कम से कम बंडल वाली सेवाएं मौजूद हों
  • हर वीएम के लिए 2 जीबी मेमोरी (सुझाव दिया जाता है)

सीपीयू

सीपीयू के लिए, ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • वर्चुअलाइज़ेशन एक्सटेंशन के साथ, x86_64 या arm64-v8a या इसके बाद के वर्शन के साथ काम करने की सुविधा
  • कम से कम 2.3 डीएमआईपीएस/मेगाहर्ट्ज़, हालांकि 7 डीएमआईपीएस/मेगाहर्ट्ज़ का सुझाव दिया जाता है

कर्नेल

कर्नेल के लिए, ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • सिस्टम में GKI कर्नेल का इस्तेमाल करना ज़रूरी है.
  • एसडीवी, GKI के 6.6 और 6.12 वर्शन के साथ काम करता है.

स्टोरेज

सिस्टम के लिए, स्टोरेज से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

पावर मैनेजमेंट

सिस्टम के लिए, पावर मैनेजमेंट से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • सिस्टम में, सस्पेंड-टू-रैम और सस्पेंड-टू-डिस्क की सुविधा होना ज़रूरी है.
  • सिस्टम को, होस्ट सिस्टम से मिलने वाले वेक सिग्नल पर प्रतिक्रिया देनी होगी.

सुरक्षा

सिस्टम के लिए, सुरक्षा से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

बाइनरी इंटरफ़ेस

सिस्टम के लिए, बाइनरी इंटरफ़ेस से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए. सिस्टम में ये सुविधाएं होनी चाहिए:

  • यह Android NDK एबीआई के एक या उससे ज़्यादा तय किए गए एबीआई के साथ काम करता हो.
  • यह इन एबीआई का सबसेट रिपोर्ट करे. साथ ही, यह सूची में शामिल न होने वाले किसी भी एबीआई की रिपोर्ट न करे.
  • यह इन लाइब्रेरी को उपलब्ध कराए, जो नेटिव एपीआई उपलब्ध कराती हैं. साथ ही, यह उन ऐप्लिकेशन के लिए भी उपलब्ध हो जिनमें बिल्ट-इन कोड शामिल है:
    • libc (सी लाइब्रेरी)
    • libdl (डाइनैमिक लिंकर)
    • libicui18n.so
    • libicuuc.so
    • liblog (Android लॉगिंग)
    • libm (मैथ लाइब्रेरी)
    • libstdc++ (सी++ के लिए कम से कम सहायता)
    • libz (ज़ेडलिब कंप्रेशन)

नेटवर्किंग

सिस्टम:

  • टीसीपी और यूडीपी के साथ काम करने के लिए, ईथरनेट का इस्तेमाल करना ज़रूरी है.
  • गेस्ट-टू-होस्ट कम्यूनिकेशन के लिए, vsock की सुविधा होनी चाहिए.
  • गेस्ट-टू-गेस्ट कम्यूनिकेशन के लिए, vsock की सुविधा होनी चाहिए.

यूआईडी और प्रोसेस आइसोलेशन

डिवाइस में, इन सुविधाओं का होना ज़रूरी है:

  • Android ऐप्लिकेशन सैंडबॉक्स मॉडल. इसमें हर ऐप्लिकेशन, यूनीक Unix-स्टाइल यूआईडी के तौर पर और अलग प्रोसेस में चलता है. Android सीडीडी देखें.
  • एक ही Linux उपयोगकर्ता आईडी के तौर पर, एक से ज़्यादा ऐप्लिकेशन चलाने की सुविधा. हालांकि, इसके लिए ज़रूरी है कि ऐप्लिकेशन पर सही तरीके से हस्ताक्षर किए गए हों और उन्हें सही तरीके से बनाया गया हो. इसके बारे में, सुरक्षा और अनुमतियों के रेफ़रंस में बताया गया है. Android सीडीडी देखें .
  • Android फ़ाइल ऐक्सेस अनुमतियों का मॉडल. इसके बारे में, सुरक्षा और अनुमतियों के रेफ़रंस में बताया गया है. Android सीडीडी देखें.

अपडेट किए जा सकने वाले सॉफ़्टवेयर

होस्ट सिस्टम (हाइपरवाइज़र)

इन सेक्शन में दी गई ज़रूरी शर्तें, होस्ट सिस्टम और हाइपरवाइज़र एनवायरमेंट पर लागू होती हैं.

कनेक्टिविटी

होस्ट सिस्टम के लिए, कनेक्टिविटी से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • डिवाइस में, कम से कम एक ईथरनेट कनेक्शन की सुविधा होनी चाहिए.
  • सिस्टम को, गेस्ट के लिए वर्चुअल ईथरनेट डिवाइस उपलब्ध कराना होगा या किसी मौजूदा डिवाइस को उससे मैप करना होगा.

वर्चुअलाइज़ेशन

होस्ट सिस्टम के लिए, वर्चुअलाइज़ेशन से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • वर्चुअल डिवाइस लागू करने के लिए, VirtIO का इस्तेमाल करने का सुझाव दिया जाता है. सिस्टम में, VirtIO के इन डिवाइसों की सुविधा होनी चाहिए:
    • virtio-blk: वर्चुअल ब्लॉक डिवाइस (स्टोरेज) के लिए
    • virtio-console: वर्चुअल सीरियल कंसोल के लिए
    • virtio-net: वर्चुअल नेटवर्क इंटरफ़ेस के लिए
    • virtio-pci: वर्चुअल पीसीआई बस पर, virtio डिवाइसों का पता लगाने के लिए
    • virtio-rng: वर्चुअल हार्डवेयर रैंडम नंबर जनरेटर के लिए
    • virtio-vsock: होस्ट-टू-गेस्ट कम्यूनिकेशन के लिए
  • गेस्ट और होस्ट के बीच, vsock से कम्यूनिकेट करना ज़रूरी है.
  • होस्ट में, vsock या ईथरनेट का इस्तेमाल करके, गेस्ट-टू-गेस्ट कम्यूनिकेशन की सुविधा चालू करना ज़रूरी है.

टाइम सिंक्रनाइज़ेशन

होस्ट सिस्टम के लिए, टाइम सिंक्रनाइज़ेशन से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • होस्ट सिस्टम को, सभी गेस्ट वीएम के लिए, समय का एक स्थिर और एक जैसा सोर्स उपलब्ध कराना चाहिए. इससे वीएम के बीच एकरूपता बनी रहती है. साथ ही, डीबग करने और ट्रेस करने में मदद मिलती है.
  • होस्ट पर मौजूद समय को गेस्ट के लिए दिखाने के लिए, हमारा सुझाव है कि आप virtio-rtc का इस्तेमाल करें.

अपडेट किए जा सकने वाले सॉफ़्टवेयर

  • होस्ट सिस्टम को, ओवर-द-एयर (ओटीए) अपडेट किया जा सकता है. अपडेट करने का तरीका ऐसा होना चाहिए कि पावर लॉस होने पर भी अपडेट की प्रोसेस पर कोई असर न पड़े.

सुरक्षा

होस्ट सिस्टम के लिए, सुरक्षा से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • होस्ट सिस्टम में, OpenDICE चेन की सुविधा होनी चाहिए. इसके लिए, SDV प्रोफ़ाइल फ़ॉर DICE का इस्तेमाल करना ज़रूरी है. यह Android प्रोफ़ाइल फ़ॉर DICE का एक्सटेंशन है.
  • होस्ट सिस्टम को, अलग-अलग गेस्ट के बीच KeyMint की कुंजियों को सुरक्षित तरीके से आइसोलेट करना होगा.

पावर मोड

होस्ट सिस्टम के लिए, पावर मोड से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • सिस्टम में, सस्पेंड-टू-रैम की सुविधा होनी चाहिए.
  • होस्ट सिस्टम को, स्लीप मोड (रैम या डिस्क) से वेक अप करना ज़रूरी है.

बूट और शटडाउन

होस्ट सिस्टम के लिए, बूट और शटडाउन से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • होस्ट सिस्टम को, तेज़ी से बूट होने के लिए डिज़ाइन किया जाना चाहिए, ताकि ऑटोमोटिव इस्तेमाल से जुड़ी ज़रूरी शर्तें पूरी की जा सकें. जैसे, रियर-व्यू कैमरा की उपलब्धता. इसका मतलब है कि होस्ट सिस्टम को शुरू होने में 100 मिसेकंड या उससे कम समय लगना चाहिए.
  • इग्निशन-ऑफ़ इवेंट होने पर, होस्ट को गेस्ट वीएम को सही तरीके से शट डाउन करना होगा.

सीपीयू

डिवाइस में, 64-बिट एबीआई की जानकारी देना ज़रूरी है:

डिवाइस में, वर्चुअलाइज़ेशन एक्सटेंशन की सुविधा होनी चाहिए.