16 केबी टॉगल सक्षम करें

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

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

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

        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 केबी पर काम करने वाले कर्नेल मॉड्यूल के बारे में पता चलता है. इन पैरामीटर को सेट करने पर, सिस्टम के partition पर दो ओटीए बन जाएंगे - 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 केबी का टॉगल, "16 केबी का पेज साइज़ वाला बूट" सेटिंग ऐप्लिकेशन में दिखता है.
  2. /system/boot_otas या /vendor/boot_otas में दो ओटीए ज़िप फ़ाइलें होती हैं - boot_ota_16k.zip और boot_ota_4k.zip.

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

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

16 केबी वाला मोड देखें

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