OEM AB पार्टीशन से जुड़े अपडेट

एसडीवी, /oem_ab के कस्टम पार्टीशन के लिए, A/B अपडेट की सुविधा देता है. OEM AB Updater लाइब्रेरी का इस्तेमाल करके, कस्टम /oem_ab पार्टीशन के लिए अपडेट ट्रिगर किए जा सकते हैं और उन्हें रोल बैक किया जा सकता है. इसमें Android सिस्टम के A/B अपडेट जैसी ही सुविधाएं मिलती हैं.

system/software_defined_vehicle/samples/oem_partition_update_client में, OEM AB Updater लाइब्रेरी को लागू करने का सैंपल कोड देखें.

इस गाइड में, OEM AB Updater लाइब्रेरी का इस्तेमाल करने और इसे अपनी Updater Service के साथ इंटिग्रेट करने का तरीका बताया गया है. इस गाइड में यह मान लिया गया है कि बदलावों को बनाने और उनकी जांच करने के लिए, Cuttlefish का इस्तेमाल किया जा रहा है.

लाइब्रेरी की जगह

OEM AB Updater लाइब्रेरी, system/software_defined_vehicle/platform/oem डायरेक्ट्री में मौजूद है.

ज़रूरी कस्टम इमेज बनाना

OEM AB Updater लाइब्रेरी के लिए, कई कस्टम इमेज की ज़रूरत होती है. इन इमेज को device/google/sdv/sdv_core_base/oem_ab/oem_ab.mk और device/google/sdv/sdv_core_base/oem_ab/oem_ab_metadata.mk में तय किया जाता है.

oem_ab.mk और oem_ab_metadata.mk में तय की गई ज़रूरी कस्टम इमेज, टारगेट के बनने पर बनाई जाती हैं. उदाहरण के लिए, sdv_core_cf बनाने पर, पार्टीशन इमेज बनती हैं:

source build/envsetup.sh
lunch sdv_core_cf-trunk_staging-userdebug
m

कस्टम ब्लॉक डिवाइस तय करना

पुष्टि करें कि आपका Cuttlefish lunch टारगेट, ब्लॉक डिवाइसों को उनके बूटकॉन्फ़िग प्रॉपर्टी पर मैप करने के लिए, BOARD_BOOTCONFIG सेट करता है. उदाहरण के लिए, device/google/sdv/sdv_core_cf/BoardConfig.mk देखें.

BOARD_BOOTCONFIG += \
  androidboot.sdv.oem_slot_a_device=/dev/block/by-name/custom \
  androidboot.sdv.oem_slot_b_device=/dev/block/by-name/custom_1

नया वीएम शुरू करना

ब्लॉक डिवाइसों के मैप होने की पुष्टि करने के बाद, तीन कस्टम इमेज के साथ एक नया वीएम बनाएं:

cvd create --custom_partition_path="$OUT/oem_ab.img;$OUT/oem_ab.img;$OUT/oem_ab_metadata.img"

किसी नई सेवा में, OEM AB Updater लाइब्रेरी का इस्तेमाल करना

किसी दूसरी सेवा में लाइब्रेरी का इस्तेमाल करने के लिए:

  1. system/software_defined_vehicle/samples/oem_partition_update_client/oem_partition_client.rs में दिखाए गए तरीके से, sdv_oem_updater::OemUpdater क्रेट इंपोर्ट करें.

. Create a new.tepolicy similar to the SELinux policies defined indevice/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.te` में तय की गई हैं.