16 केबी के टॉगल की मदद से, 16 केबी का कर्नेल आज़माया जा सकता है. यह टॉगल, 4 केबी कर्नेल और 16 केबी कर्नेल के बीच स्विच करता है. इसे सेटिंग ऐप्लिकेशन में "डेवलपर के लिए विकल्प" मेन्यू में देखा जा सकता है. 16 केबी टॉगल का इस्तेमाल, 16 केबी कर्नेल के साथ ऐप्लिकेशन की काम करने की क्षमता की जांच करने के लिए किया जा सकता है. हालांकि, हो सकता है कि 16 केबी मोड में सबपेज ब्लॉक (/data
और /metadata
पार्टीशन के लिए EXT4 का इस्तेमाल करते समय) के इस्तेमाल की वजह से, यह असल 16 केबी डिवाइस की परफ़ॉर्मेंस को न दिखाए.
टॉगल कॉन्फ़िगर करने का तरीका
पक्का करें कि डिवाइस ने वैरिएबल को पेज-ऐग्नोस्टिक (4 केबी और 16 केबी पेज साइज़ वाले कर्नेल, दोनों के साथ काम करने के लिए) के तौर पर सेट अप किया हो. हो सकता है कि डेवलपर विकल्प जोड़ना जारी रखने से पहले आप यह सुनिश्चित करने के लिए कि डिवाइस सीधे 16 केबी मोड में काम करता है, आप 16k कर्नेल को सीधे इंस्टॉल करना चाहें. वर्चुअल डिवाइस के टारगेट कॉन्फ़िगरेशन का उदाहरण देखें.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
सेटिंग में डेवलपर के लिए सेटिंग और विकल्प दिखाने के लिए, प्रॉडक्ट वैरिएबल को सेटअप करें
PRODUCT_16K_DEVELOPER_OPTION := true
BOARD_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 केबी पर काम करने वाले कर्नेल मॉड्यूल के बारे में पता चलता है. इन पैरामीटर को सेट करने पर, सिस्टम के 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)
ओटीए को वेंडर पार्टीशन में ले जाने के लिए,
BOARD_16K_OTA_MOVE_VENDOR := true
सेट करें. यह ज़रूरी नहीं है. ज़्यादातर डिवाइसों के लिए, इसे सेट नहीं किया जाना चाहिए.
पुष्टि करें
इसे सेट अप करने के बाद
- 16 केबी का टॉगल, "16 केबी का पेज साइज़ वाला बूट" सेटिंग ऐप्लिकेशन में दिखता है.
/system/boot_otas
या/vendor/boot_otas
में दो ओटीए ज़िप फ़ाइलें होती हैं -boot_ota_16k.zip
औरboot_ota_4k.zip
.
16 केबी टॉगल का इस्तेमाल करना
- डेवलपर के लिए सेटिंग और टूल की जानकारी वाले दस्तावेज़ में दिए गए निर्देशों के मुताबिक, डेवलपर के लिए सेटिंग और टूल चालू करें.
- अगर डिवाइस को ओईएम लॉक के तौर पर पहचाना जाता है, तो उपयोगकर्ता को फ़ोन को ओईएम अनलॉक करने का अनुरोध करने के लिए एक डायलॉग दिखता है. OEM अनलॉक करने के लिए बताया गया तरीका अपनाएं.
- जब कोई उपयोगकर्ता "16 केबी पेज साइज़ के साथ बूट करें" पर क्लिक करता है, तो
/data
और/metadata
के लिए, फ़ाइल सिस्टम ext4 होना चाहिए. अगर ऐसा नहीं है, तो एक डायलॉग दिखता है. इस डायलॉग में उपयोगकर्ता से डिवाइस को वाइप करने का अनुरोध किया जाता है. "हां" में जवाब देने पर, डिवाइस का डेटा मिट जाता है. इसके बाद, आपको डेवलपर के लिए सेटिंग और टूल की सुविधा फिर से चालू करनी होगी. - 16 केबी का टॉगल अब 16 केबी पर स्विच करने के लिए, पुष्टि करने वाला डायलॉग दिखाता है. साथ ही, पुष्टि करने पर, बूट ओटीए लागू हो जाते हैं. इसके बाद, ऐप्लिकेशन के व्यवहार की जांच करने के लिए, डेटा के हिस्से को मिटाए बिना, 4 केबी और 16 केबी मोड के बीच टॉगल किया जा सकता है.
16 केबी वाला मोड देखें
पेज के साइज़ की पुष्टि करने के लिए, पेज का साइज़ पता करना पर दिया गया तरीका अपनाएं.