टॉगल की मदद से, 16 केबी कर्नेल आज़माया जा सकता है. इस टॉगल से, 4 केबी कर्नेल और 16 केबी कर्नेल के बीच स्विच किया जा सकता है. यह टॉगल, सेटिंग ऐप्लिकेशन में "डेवलपर के लिए सेटिंग और टूल" मेन्यू में मौजूद होता है. 16 केबी टॉगल का इस्तेमाल करके, यह देखा जा सकता है कि कोई ऐप्लिकेशन 16 केबी कर्नेल के साथ काम करता है या नहीं. हालांकि, 16 केबी मोड में सबपेज ब्लॉक (जब /data और /metadata पार्टिशन के लिए EXT4 का इस्तेमाल किया जाता है) का इस्तेमाल करने की वजह से, यह ज़रूरी नहीं कि 16 केबी वाले डिवाइस की परफ़ॉर्मेंस दिखे.
टॉगल को कॉन्फ़िगर करने का तरीका
पक्का करें कि डिवाइस में, वैरिएबल को पेज-ऐग्नोस्टिक पर सेट किया गया हो. इससे डिवाइस, 4 केबी और 16 केबी, दोनों पेज साइज़ वाले कर्नेल के साथ काम कर पाएगा. डेवलपर के लिए सेटिंग और टूल जोड़ने से पहले, सीधे 16 के कर्नेल को इंस्टॉल किया जा सकता है. इससे यह पक्का किया जा सकेगा कि डिवाइस, 16 केबी मोड में काम करता है. वर्चुअल डिवाइस के उदाहरण के लिए, टारगेट कॉन्फ़िगरेशन देखें.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384सेटिंग में डेवलपर के लिए सेटिंग और टूल दिखाने के लिए, प्रॉडक्ट वैरिएबल सेट अप करें
PRODUCT_16K_DEVELOPER_OPTION := trueBOARD_KERNEL_PATH_16Kका इस्तेमाल करके, कर्नेल पाथ सेट करें. इस कर्नेल कोCONFIG_ARM64_16K_PAGES=y.के साथ बनाया जाना चाहिए.BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.मॉड्यूल कॉन्फ़िगरेशन पाथ वैरिएबल
BOARD_KERNEL_MODULES_16Kसेट करें. यह वैरिएबल, कर्नेल मॉड्यूल की ओर इशारा करता है. यह 16 केबी के साथ काम करता है. इन पैरामीटर को सेट करने पर, सिस्टम पार्टिशन पर दो ओटीए बनते हैं :boot_ota_16k.zip(16 केबी कर्नेल पर स्विच करने के लिए) औरboot_ota_4k.zip(4 केबी कर्नेल पर स्विच करने के लिए). छोटे साइज़ वाले बूट ओटीए के लिए,BOARD_16K_OTA_USE_INCREMENTAL := trueसेट करके, इंक्रीमेंटल ओटीए चालू करें.BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko) BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)ओटीए को वेंडर पार्टिशन पर ले जाने के लिए,
BOARD_16K_OTA_MOVE_VENDOR := trueसेट करें. सिर्फ़ सिस्टम से वेंडर पार्टिशन पर ओटीए ले जाने के लिए, इसे सेट करें.
पुष्टि
टॉगल को कॉन्फ़िगर करने के बाद, यह तरीका अपनाएं:
- देखें कि सेटिंग ऐप्लिकेशन में, 16 केबी पेज साइज़ के साथ बूट करें टॉगल दिख रहा है या नहीं.
- देखें कि
/system/boot_otasया/vendor/boot_otasमें, दो ओटीए zip फ़ाइलें मौजूद हैं या नहीं :boot_ota_16k.zipऔरboot_ota_4k.zip.
16 केबी टॉगल का इस्तेमाल करना
- सेटिंग > सिस्टम > सॉफ़्टवेयर अपडेट पर जाएं और उपलब्ध कोई भी अपडेट लागू करें.
- डेवलपर के लिए सेटिंग और टूल चालू करें. निर्देशों के लिए, उपयोगकर्ता के डिवाइस पर डेवलपर के लिए सेटिंग और टूल कॉन्फ़िगर करना देखें.
अगर डिवाइस को ओईएम से लॉक किया गया है, तो एक डायलॉग दिखता है. इसमें, आपसे फ़ोन को ओईएम से अनलॉक करने के लिए कहा जाता है. निर्देशों के लिए, बूटलोडर को लॉक और अनलॉक करना देखें. अगर डिवाइस का हार्डवेयर, 16 केबी के साथ पूरी तरह काम करता है, तो ओईएम से अनलॉक करने की सेटिंग की ज़रूरत नहीं हो सकती. ऐसे में, इस चरण को छोड़ा जा सकता है.
16 केबी पेज साइज़ के साथ बूट करें पर क्लिक करें. अगर
/dataऔर/metadataext4 में नहीं हैं, तो एक डायलॉग दिखता है. इसमें, आपसे डिवाइस का डेटा मिटाने के लिए कहा जाता है. डिवाइस का डेटा मिटाने और बूट ओटीए लागू करने के लिए, पूरा डेटा मिटाएं और अपडेट करें पर क्लिक करें. डिवाइस का डेटा मिट जाता है और यह 16 केबी मोड में बूट होता है. डेवलपर के लिए सेटिंग और टूल को फिर से चालू करें. इसके बाद, ऐप्लिकेशन के व्यवहार की जांच करने के लिए, डेटा पार्टिशन को मिटाए बिना, 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है.
16 केबी मोड की जांच करना
पेज साइज़ की पुष्टि करने के लिए, पेज साइज़ पाने का तरीका अपनाएं.