Android kernel फ़ाइल सिस्टम के साथ काम करना

Linux कर्नेल में कई फ़ाइल सिस्टम लागू किए गए हैं. हालांकि, इनमें से कई को Android में प्रोडक्शन के लिए इस्तेमाल करने की अनुमति नहीं मिली है. साथ ही, ये Android में काम नहीं करते हैं.

Android के टेस्ट इन्फ़्रास्ट्रक्चर, ओटीए मैकेनिज़्म, अपडेट प्रोसेस, और निजता से जुड़ी ज़रूरी शर्तों के लिए, फ़ाइल सिस्टम के साथ काम करने की सुविधा ज़रूरी होती है. सभी फ़ाइल सिस्टम, Android डिवाइसों पर इस्तेमाल करने के लिए सही नहीं होते.

उदाहरण के लिए, Android को fscrypt के ज़रिए फ़ाइल पर आधारित एन्क्रिप्शन और fsverity के ज़रिए फ़ाइल पर आधारित पुष्टि करने की सुविधा की ज़रूरत होती है. इसलिए, जो फ़ाइल सिस्टम fscrypt या fsverity के साथ काम नहीं करते हैं वे प्रोडक्शन के लिए सही नहीं हैं.

फ़ाइल सिस्टम के लिए बुनियादी सहायता

Android 13 से, userspace सिर्फ़ GKI में बने फ़ाइल सिस्टम के साथ काम करता है. ऐसे फ़ाइल सिस्टम को शिप करना सही नहीं है जिसे Google की कर्नल टीम से सहायता नहीं मिलती. इससे उपयोगकर्ताओं को सुरक्षा से जुड़ी समस्याएं हो सकती हैं.

Android कर्नल टीम, सभी फ़ाइल सिस्टम के लिए फ़िक्स जारी करती रहेगी. इसके लिए, वह अपस्ट्रीम लॉन्ग टर्म सपोर्ट (एलटीएस) कर्नल का इस्तेमाल करेगी. हालांकि, Android के सुरक्षा पैच रिलीज़ करने के शेड्यूल के तहत, इन फ़ाइल सिस्टम को ज़्यादा बार पैच मिलते हैं:

  • exfat (यह सुविधा कर्नल 5.10 और इसके बाद के वर्शन पर काम करती है)
  • ext4
  • f2fs
  • fuse
  • incfs
  • Vfat
  • EROFS

यह फ़ाइल सिस्टम अब काम नहीं करता और इस पर सीमित सहायता उपलब्ध है:

  • sdcardfs (सिर्फ़ कर्नल 4.14 और इससे पहले के वर्शन में काम करता है)

वर्चुअल फ़ाइल सिस्टम सपोर्ट

आम तौर पर, वर्चुअल फ़ाइल सिस्टम इस्तेमाल किए जा सकते हैं. इनमें ये शामिल हैं.

  • debugfs
  • overlayfs
  • procfs
  • sysfs
  • tmpfs
  • tracefs

नए फ़ाइल सिस्टम के लिए सहायता पाने का अनुरोध करना

अगर आपको यहां दी गई सूची में शामिल नहीं किया गया कोई फ़ाइल सिस्टम इस्तेमाल करना है, तो Android Issue Tracker में जाकर, सुविधा का अनुरोध करें. इसके बाद, अपनी ज़रूरतों के बारे में बताने के लिए, kernel-team@android.com पर संपर्क करें.