সিস্টেম_অন্যান্য পার্টিশন যাচাই করুন

বাস্তবায়ন

Android 9 এবং তার নিচের ভার্সনের Android-চালিত ডিভাইসগুলিতে A/B পার্টিশন রয়েছে, তারা নিষ্ক্রিয় system_other পার্টিশন (উদাহরণস্বরূপ, slot_a সক্রিয় থাকাকালীন system_b ) ব্যবহার করে প্রি-অপ্টিমাইজড VDEX/ODEX ফাইল সংরক্ষণ করতে পারে। যখন system_other ব্যবহার করা হয়, তখন প্যাকেজ ম্যানেজার পরিষেবার জন্য ro.cp_system_other_odex 1 এ সেট করা হয় যাতে sys.cppreopt=requested cppreopts.rc এর উপর কাজ করতে পারে।

অ্যান্ড্রয়েড ১০-এ, system_other পার্টিশনের জন্য স্বতন্ত্র AVB যাচাইকরণ সমর্থন করার জন্য libfs_avb চালু করা হয়েছে। এই ধরনের পার্টিশনের VBMeta স্ট্রাক্টটি পার্টিশনের শেষে যুক্ত করা হয়, যা ফাইল সিস্টেম থেকে একটি প্রত্যাশিত পাবলিক কী দ্বারা যাচাই করা হয়। অ্যান্ড্রয়েড বিল্ড সিস্টেমটি /product/etc/security/avb/system_other.avbpubkey এর অধীনে সংশ্লিষ্ট সাইনিং কী অন্তর্ভুক্ত করার সময় system_other.img সাইনিং সমর্থন করে। রিলিজ টুল sign_target_files_apks.py রিলিজ সংস্করণে সাইনিং কী প্রতিস্থাপন সমর্থন করে।

Android 10 এর আগে লঞ্চ হওয়া A/B ডিভাইসগুলিতে একটি ভৌত system_other পার্টিশন থাকে, এমনকি যদি এটি PRODUCT_RETROFIT_DYNAMIC_PARTITIONS true এ সেট করে Android 10 এ আপগ্রেড করা হয়।

অ্যান্ড্রয়েড ১০ দিয়ে চালু হওয়া A/B ডিভাইসগুলিতে অবশ্যই একটি লজিক্যাল system_other পার্টিশন থাকতে হবে। নিম্নলিখিত উদাহরণে একটি সাধারণ fstab.postinstall ফাইল দেখানো হয়েছে যা system_other এ AVB সক্ষম করে।

#<dev> <mnt_point> <type>  <mnt_flags options>  <fs_mgr_flags>
system /postinstall ext4 ro,nosuid,nodev,noexec
slotselect_other,logical,avb_keys=/product/etc/security/avb/system_other.avbpubkey

যেসব ডিভাইসে system_other পার্টিশনে AVB সক্রিয় করতে হবে, তাদের fstab ফাইলটি প্রোডাক্ট পার্টিশনে রাখতে হবে এবং ro.postinstall.fstab.prefix প্রোপার্টিটি /product এ সেট করতে হবে।

# Use /product/etc/fstab.postinstall to mount system_other. PRODUCT_PRODUCT_PROPERTIES += \
ro.postinstall.fstab.prefix=/product

PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall