গেস্ট সিস্টেম (ভিএম ইমেজ) এর প্রয়োজনীয়তা

এই পৃষ্ঠার শর্তাবলী গেস্ট সিস্টেমের ক্ষেত্রে প্রযোজ্য।

স্মৃতি

সিস্টেমটির জন্য নিম্নলিখিত ন্যূনতম মেমরির প্রয়োজন রয়েছে:

  • ন্যূনতম পরিষেবা বান্ডেল সহ একটি সিস্টেমের জন্য ১ জিবি মেমরি
  • প্রতিটি ভিএম-এর জন্য ২ জিবি মেমরি (প্রস্তাবিত)

সিপিইউ

সিপিইউ-এর নিম্নলিখিত প্রয়োজনীয়তাগুলো রয়েছে:

  • ভার্চুয়ালাইজেশন এক্সটেনশন সহ x86_64 বা arm64-v8a বা উচ্চতর সংস্করণের জন্য সমর্থন
  • সর্বনিম্ন ২.৩ ডিএমআইপিএস/মেগাহার্টজ, তবে ৭ ডিএমআইপিএস/মেগাহার্টজ সুপারিশকৃত।

কার্নেল

কার্নেলের নিম্নলিখিত প্রয়োজনীয়তাগুলো রয়েছে:

  • সিস্টেমে অবশ্যই একটি GKI কার্নেল ব্যবহার করতে হবে।
  • SDV, GKI-এর ৬.৬ এবং ৬.১২ সংস্করণ সমর্থন করে।

স্টোরেজ

সিস্টেমটির জন্য নিম্নলিখিত স্টোরেজ প্রয়োজনীয়তা রয়েছে:

  • সিস্টেমে অবশ্যই কমপক্ষে ৩ জিবি ফাইল সংরক্ষণের ক্ষমতা থাকতে হবে।
  • ডিভাইসটিকে অবশ্যই অ্যাপের ব্যক্তিগত ডেটা এনক্রিপ্ট করতে হবে:
    • ডেটা স্টোরেজ এনক্রিপশন ডিফল্টরূপে অবশ্যই সক্রিয় থাকতে হবে।
    • ডিভাইসটিকে অবশ্যই নিম্নলিখিত এনক্রিপশন পদ্ধতিগুলোর মধ্যে যেকোনো একটি ব্যবহার করে এই ডেটা স্টোরেজ এনক্রিপশন আবশ্যকতাটি বাস্তবায়ন করতে হবে:
      • ফাইল-ভিত্তিক এনক্রিপশন (FBE) ( FBE ডক্স ) এবং মেটাডেটা এনক্রিপশন
      • ব্যবহারকারী-ভিত্তিক ব্লক-স্তরের এনক্রিপশন
  • ডিভাইসটিকে অবশ্যই কমপক্ষে অ্যান্ড্রয়েড ১৪ সমর্থন করতে হবে। নিরাপত্তা মডেল সামঞ্জস্যতা - ৯.১২ ডেটা মুছে ফেলা

বিদ্যুৎ ব্যবস্থাপনা

সিস্টেমটির নিম্নলিখিত শক্তি ব্যবস্থাপনা প্রয়োজনীয়তা রয়েছে:

  • সাসপেন্ড-টু-র‍্যাম এবং সাসপেন্ড-টু-ডিস্ক-এর জন্য সিস্টেম সাপোর্ট থাকা জোরালোভাবে সুপারিশ করা হচ্ছে।
  • সিস্টেমকে অবশ্যই হোস্ট সিস্টেম থেকে আসা ওয়েক সিগন্যালে সাড়া দিতে হবে।

নিরাপত্তা

সিস্টেমটির নিম্নলিখিত নিরাপত্তা আবশ্যকতা রয়েছে:

বাইনারি ইন্টারফেস

সিস্টেমটির নিম্নলিখিত বাইনারি ইন্টারফেসের আবশ্যকতা রয়েছে। সিস্টেমটিকে অবশ্যই:

  • এক বা একাধিক সংজ্ঞায়িত অ্যান্ড্রয়েড এনডিকে এবিআই (ABI)- এর সাথে সামঞ্জস্যপূর্ণ হতে হবে।
  • নিম্নলিখিত ABI-গুলির একটি উপসেট রিপোর্ট করুন এবং তালিকায় নেই এমন কোনো ABI অবশ্যই রিপোর্ট করা যাবে না।
  • যেসব অ্যাপে বিল্ট-ইন কোড অন্তর্ভুক্ত আছে, সেগুলোর জন্য নেটিভ এপিআই প্রদানকারী নিম্নলিখিত লাইব্রেরিগুলো উপলব্ধ করুন:
    • libc (সি লাইব্রেরি)
    • libdl (ডাইনামিক লিঙ্কার)
    • libicui18n.so
    • libicuuc.so
    • liblog (অ্যান্ড্রয়েড লগিং)
    • libm (গণিত লাইব্রেরি)
    • libstdc++ (C++ এর জন্য ন্যূনতম সমর্থন)
    • libz (Zlib কম্প্রেশন)

নেটওয়ার্কিং

সিস্টেমটি:

  • TCP এবং UDP সমর্থনের জন্য অবশ্যই ইথারনেট ব্যবহার করতে হবে।
  • অবশ্যই vsock গেস্ট-টু-হোস্ট যোগাযোগ সমর্থন করতে হবে।
  • vsock গেস্ট-টু-গেস্ট যোগাযোগ সমর্থন করা উচিত।

ইউআইডি এবং প্রসেস আইসোলেশন

ডিভাইস বাস্তবায়নে অবশ্যই নিম্নলিখিত বিষয়গুলো সমর্থন করতে হবে:

  • অ্যান্ড্রয়েড অ্যাপ স্যান্ডবক্স মডেল, যেখানে প্রতিটি অ্যাপ একটি স্বতন্ত্র ইউনিক্স-স্টাইলের UID এবং একটি পৃথক প্রসেসে চলে। সংশ্লিষ্ট অ্যান্ড্রয়েড CDD দেখুন।
  • একই লিনাক্স ইউজার আইডি দিয়ে একাধিক অ্যাপ চালানো যাবে, তবে শর্ত হলো অ্যাপগুলো অবশ্যই সিকিউরিটি অ্যান্ড পারমিশনস রেফারেন্সে সংজ্ঞায়িত নিয়ম অনুযায়ী যথাযথভাবে স্বাক্ষরিত এবং নির্মিত হতে হবে। সংশ্লিষ্ট অ্যান্ড্রয়েড সিডিডি দেখুন।
  • সিকিউরিটি অ্যান্ড পারমিশনস রেফারেন্সে সংজ্ঞায়িত অ্যান্ড্রয়েড ফাইল অ্যাক্সেস পারমিশন মডেল। সংশ্লিষ্ট অ্যান্ড্রয়েড সিডিডি দেখুন।

আপডেটযোগ্য সফটওয়্যার

হোস্ট সিস্টেম (হাইপারভাইজর)

নিম্নলিখিত বিভাগগুলিতে বর্ণিত প্রয়োজনীয়তাগুলি হোস্ট সিস্টেম এবং হাইপারভাইজর পরিবেশের ক্ষেত্রে প্রযোজ্য।

সংযোগ

হোস্ট সিস্টেমের নিম্নলিখিত সংযোগের প্রয়োজনীয়তা রয়েছে:

  • ডিভাইসটিতে অবশ্যই অন্তত একটি ইথারনেট সংযোগ সমর্থন করতে হবে।
  • সিস্টেমটিকে অবশ্যই গেস্টকে একটি ভার্চুয়াল ইথারনেট ডিভাইস সরবরাহ করতে হবে, অথবা একটি বিদ্যমান ডিভাইসকে এর সাথে ম্যাপ করতে হবে।

ভার্চুয়ালাইজেশন

হোস্ট সিস্টেমটির নিম্নলিখিত ভার্চুয়ালাইজেশন প্রয়োজনীয়তা রয়েছে:

  • ভার্চুয়াল ডিভাইস বাস্তবায়নের জন্য VirtIO ব্যবহার করার জন্য জোরালোভাবে সুপারিশ করা হচ্ছে। সিস্টেমটিকে অবশ্যই নিম্নলিখিত VirtIO ডিভাইসগুলো সমর্থন করতে হবে:
    • virtio-blk : ভার্চুয়াল ব্লক ডিভাইস (স্টোরেজ)-এর জন্য
    • virtio-console : ভার্চুয়াল সিরিয়াল কনসোলের জন্য
    • virtio-net : ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসের জন্য
    • virtio-pci : একটি ভার্চুয়াল PCI বাসের মাধ্যমে virtio ডিভাইসগুলি খুঁজে বের করার জন্য
    • virtio-rng : একটি ভার্চুয়াল হার্ডওয়্যার র‍্যান্ডম নম্বর জেনারেটরের জন্য
    • virtio-vsock : হোস্ট ও গেস্টের মধ্যে যোগাযোগের জন্য
  • অতিথি এবং হোস্টকে অবশ্যই vsock মাধ্যমে যোগাযোগ করতে হবে।
  • হোস্টকে অবশ্যই vsock অথবা ইথারনেট ব্যবহার করে গেস্ট-টু-গেস্ট যোগাযোগ সক্ষম করতে হবে।

সময় সিঙ্ক্রোনাইজেশন

হোস্ট সিস্টেমের নিম্নলিখিত সময় সিঙ্ক্রোনাইজেশন প্রয়োজনীয়তা রয়েছে:

  • হোস্ট সিস্টেমের উচিত সমস্ত গেস্ট ভিএম-কে একটি স্থিতিশীল এবং সামঞ্জস্যপূর্ণ সময়ের উৎস সরবরাহ করা, যাতে ভিএমগুলোর মধ্যে সামঞ্জস্য বজায় থাকে, যা ডিবাগিং এবং ট্রেসেবিলিটিতে সহায়তা করে।
  • গেস্টদের কাছে হোস্টের সময় প্রকাশ করার জন্য, আমরা virtio-rtc ব্যবহার করার পরামর্শ দিই।

আপডেটযোগ্য সফটওয়্যার

  • হোস্ট সিস্টেম অবশ্যই ওভার-দ্য-এয়ার (OTA) পদ্ধতিতে আপডেটযোগ্য হতে হবে। আপডেট প্রক্রিয়াটি অবশ্যই বিদ্যুৎ বিভ্রাটের বিরুদ্ধে সহনশীল হতে হবে।

নিরাপত্তা

হোস্ট সিস্টেমের নিম্নলিখিত নিরাপত্তা আবশ্যকতাগুলো রয়েছে:

  • হোস্ট সিস্টেমকে অবশ্যই OpenDICE চেইন সমর্থন করতে হবে, যার জন্য SDV Profile for DICE ব্যবহার করতে হয়, যা Android Profile for DICE-এর একটি এক্সটেনশন।
  • হোস্ট সিস্টেমকে অবশ্যই বিভিন্ন গেস্টের মধ্যে KeyMint কীগুলির নিরাপদ বিচ্ছিন্নতা প্রদান করতে হবে।

পাওয়ার মোড

হোস্ট সিস্টেমের নিম্নলিখিত পাওয়ার মোড প্রয়োজনীয়তা রয়েছে:

  • সিস্টেমটিতে সাসপেন্ড-টু-র‍্যাম সাপোর্ট থাকা উচিত।
  • হোস্ট সিস্টেমকে অবশ্যই স্লিপ মোড থেকে জাগানোর উদ্যোগ নিতে হবে (র‍্যাম বা ডিস্কের মাধ্যমে)।

বুট এবং শাটডাউন

হোস্ট সিস্টেমের নিম্নলিখিত বুট এবং শাটডাউন প্রয়োজনীয়তা রয়েছে:

  • গাড়ির ব্যবহারযোগ্যতার প্রয়োজনীয়তা (যেমন, রিয়ার-ভিউ ক্যামেরার প্রাপ্যতা) পূরণের জন্য হোস্ট সিস্টেমটি দ্রুত বুট হওয়ার উপযোগী করে ডিজাইন করা উচিত; এর অর্থ হলো হোস্ট সিস্টেমটি চালু হতে ১০০ মিলিসেকেন্ড বা তার কম সময় লাগবে।
  • হোস্টকে অবশ্যই ইগনিশন-অফ ইভেন্টের সময় গেস্ট ভিএমগুলির একটি ক্লিন শাটডাউন সক্ষম করতে হবে।

সিপিইউ

ডিভাইসটিকে অবশ্যই ৬৪-বিট ABI ঘোষণা করতে হবে:

ডিভাইসটিতে অবশ্যই ভার্চুয়ালাইজেশন এক্সটেনশন সমর্থন থাকতে হবে।