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

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

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

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

फ़ाइल सिस्टम के लिए लो लेवल सपोर्ट

Android 13 से, यूज़रस्पेस सिर्फ़ 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 पर संपर्क करें.