16 केबी वाला टॉगल चालू करना

16 केबी टॉगल की मदद से, 16 केबी कर्नेल को आज़माया जा सकता है. इस टॉगल से, 4 केबी कर्नल और 16 केबी कर्नल के बीच स्विच किया जा सकता है. यह टॉगल, सेटिंग ऐप्लिकेशन में "डेवलपर विकल्प" मेन्यू में मौजूद होता है. 16 केबी टॉगल का इस्तेमाल, 16 केबी कर्नल के साथ ऐप्लिकेशन की कंपैटिबिलिटी की जांच करने के लिए किया जा सकता है. हालांकि, 16 केबी मोड में सबपेज ब्लॉक (/data और /metadata पार्टीशन के लिए EXT4 का इस्तेमाल करते समय) का इस्तेमाल करने की वजह से, यह 16 केबी वाले डिवाइस की परफ़ॉर्मेंस को नहीं दिखा सकता.

टॉगल को कॉन्फ़िगर करने का तरीका

  1. पक्का करें कि डिवाइस में, पेज-ऐग्नोस्टिक के लिए वैरिएबल सेट अप किए गए हों, ताकि वे 4 केबी और 16 केबी, दोनों पेज साइज़ वाले कर्नेल के साथ काम कर सकें. डेवलपर के लिए सेटिंग और टूल जोड़ने से पहले, सीधे 16K कर्नल इंस्टॉल करें. इससे यह पक्का किया जा सकेगा कि डिवाइस सीधे 16 केबी मोड में काम कर रहा है. वर्चुअल डिवाइस के उदाहरण का टारगेट कॉन्फ़िगरेशन देखें.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. सेटिंग में डेवलपर विकल्प दिखाने के लिए, प्रॉडक्ट वैरिएबल सेट अप करें PRODUCT_16K_DEVELOPER_OPTION := true

  3. BOARD_KERNEL_PATH_16K का इस्तेमाल करके कर्नल पाथ सेट करें. इस कर्नल को CONFIG_ARM64_16K_PAGES=y. का इस्तेमाल करके बनाया जाना चाहिए

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. मॉड्यूल के कॉन्फ़िगरेशन पाथ वैरिएबल 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)
    
  5. ओटीए को वेंडर पार्टिशन में ले जाने के लिए, BOARD_16K_OTA_MOVE_VENDOR := true सेट करें. सिस्टम से वेंडर पार्टीशन में ओटीए ट्रांसफ़र करने के लिए ही इसे सेट करें.

पुष्टि

टॉगल को कॉन्फ़िगर करने के बाद, यह तरीका अपनाएं:

  1. देखें कि सेटिंग ऐप्लिकेशन में, 16 केबी पेज साइज़ के साथ बूट करें टॉगल दिख रहा है या नहीं.
  2. देखें कि क्या /system/boot_otas या /vendor/boot_otas में दो OTA zip फ़ाइलें हैं : boot_ota_16k.zip और boot_ota_4k.zip.

16 केबी टॉगल का इस्तेमाल करना

  1. सेटिंग > सिस्टम > सॉफ़्टवेयर अपडेट पर जाएं और उपलब्ध अपडेट लागू करें.
  2. डेवलपर के लिए सेटिंग और टूल चालू करें. निर्देशों के लिए, डिवाइस पर डेवलपर के विकल्प कॉन्फ़िगर करना लेख पढ़ें.
  3. अगर डिवाइस को ओईएम से लॉक किया गया है, तो एक डायलॉग बॉक्स दिखेगा. इसमें आपको फ़ोन को ओईएम से अनलॉक करने के लिए कहा जाएगा. निर्देशों के लिए, बूटलोडर को लॉक और अनलॉक करना लेख पढ़ें.
  4. 16 केबी पेज साइज़ के साथ चालू करें पर क्लिक करें. अगर /data और /metadata ext4 फ़ाइल सिस्टम में नहीं हैं, तो एक डायलॉग बॉक्स दिखेगा. इसमें आपसे डिवाइस का डेटा मिटाने के लिए कहा जाएगा. डिवाइस को वाइप करने और बूट ओटीए लागू करने के लिए, पूरा डेटा मिटाएं और अपडेट करें पर क्लिक करें. डिवाइस का डेटा मिटा दिया जाता है और यह 16 केबी मोड में बूट होता है. डेवलपर के लिए उपलब्ध सेटिंग और टूल को फिर से चालू करें. इसके बाद, ऐप्लिकेशन के व्यवहार को टेस्ट करने के लिए, डेटा पार्टीशन को मिटाए बिना 4 केबी और 16 केबी मोड के बीच टॉगल किया जा सकता है.

16 केबी मोड की जांच करना

पेज के साइज़ की पुष्टि करने के लिए, पेज का साइज़ पता करना लेख में दिया गया तरीका अपनाएं.