[NAND] معلومة بخصوص فلاشات أجهزة Mediatek

مرحبا بكم, هذا المقال عبارة عن معلومة بسيطة متعلقة بفلاشات الأجهزة العاملة بمعالجات Mediatek.
سأبدأ هذا المقال بتساؤل, لماذا نجد في بعض الفلاشات نسختين-ان صح التعبير- من userdata و system ؟ تجدون في هذه الصورة مختلف الملفات للفلاشة الخاصة بهاتف LP TERRA 
اضغط على الصورة لتكبيرها
كما ترون توجد نسختين من userdata, نسخة (محاطة باللون الأحمر) تحمل اسم userdata.img و نسخة (محاطة باللون الأزرق) تحمل اسم ubifs.usrdata.img نفس الأمر بالنسبة لsystem, نجد نسخة (باللون الأحمر) تحمل اسم system.img و نسخة (باللون الأزرق) تحمل اسم ubifs.android.img
في فلاشات أجهزة Mediatek يوجد عدة تسميات لنفس الملف:
لنأخذ مثلا ملف system.img, يمكن أن تجده في فلاشة أخرى تحت مسمى android.img
نفس الأمر بالنسبة لملف userdata.img, يتم تسميته كذلك بusrdata.img (بحذف حرف e) أو data.img
كذلك ملف lk.bin (اختصار ل little kernel), يتم تسميته أيضا ب uboot.bin
يعود هذا الإختلاف لمصدر الفلاشة, يعني مثلا لو تم سحب الفلاشة من جهاز أخر ستجد أن ملف system.img يحمل اسم android.img وهكذا دواليك. طبعا التسمية لا تشكل أي تغيير فهي مجرد تسمية لا أكثر.
اذن مالغاية من تواجد نسختين من كل ملف؟
يوجد عدة أنواع من الذاكرة الداخلية (أتحدث هنا عن جانب الهاردوير) التي يتم استخدامها في أجهزة الأندرويد مثل emmc, nand و ufs (هو الأسرع بينهم ويمكن أن نجده في هواتف الأندرويد الحديثة مثل Galaxy S7).
أي ذاكرة داخلية يجب أن يتم اعدادها باستخدام نظام ملفات (file system) معين وذلك للتحكم في كيفية تخزين, استرجاع وإدارة مختلف الملفات.مثال: ext4 (الأكثر استخداما) و f2fs بالنسبة للemmc في أجهزة الأندرويد أما بالنسبة للnand فنجد yaffs2 و ubifs. (الyaffs2 هو الأكثر استخداما).
 ملخص القول هو أنه عندما يتم بناء روم لجهاز Mediatek (ذاكرة nand) فانه ينتج نستختين من ملفي userdata و system يكون الإختلاف بينهما في نظام الملفات المستخدم.
بالنسبة للهواتف التي تتمتع بذاكرة داخلية من نوع emmc فان عملية بناء الروم ينتج عنها نسخة واحدة من ملفي userdata و system حيث يكون نظام الملفات بها هو ext4.
 يعني في حالة هاتف LP TERRA عند تمرير userdata.img و system.img سيتم إعداد الذاكرة الداخلية للهاتف (تحديدا تقسيمة data و تقسيمة system) باستخدام yaffs2 (هو نظام الملفات الإفتراضي لذلك لا نجد تسمية مصاحبة للملفين) أما عند تمرير ubifs.usrdata.img و ubifs.android.img فسيتم إعداد ذاكرة الهاتف (تحديدا تقسيمة data و تقسيمة system) باستخدام نظام الملفات ubifs (وهذا هو سبب وجود التسمية المصاحبة للملفين .ubifs). اختيار احدى النسخيتن لن يغيير أي شيء في النظام ستجد نفس التطبيقات والإعدادات تماما, الشيء الوحيد الذي سيتغير كما ذكرنا هو نظام الملفات وهذا من شأنه أن يؤثر على أداء النظام نظرا لأن نظام الملفات يتحكم في تحديد سرعة كتابة/قراءة (read/write) المعلومات من و إلى ذاكرة nand. 
 بالنسبة لإختيار الملفات فأنه يتم تحديده باستخدام ملف الscatter,فاذا أردت استخدام نظام ملفات ubifs يمكنك التعديل على ملف الscatter باستخدام برنامج ++notepad كالأتي:
اضغط على الصورة لتكبيرها
تقوم بتغيير system.img ب ubifs.android.img و userdata.img ب ubifs.usrdata.img ثم تقوم بعمل حفظ. يمكنك كذلك تغيير الملفات دون الحاجة الى التعديل على ملف scatter وذلك من خلال برنامج sp flash tool كالأتي:
اضغط على الصورة لتكبيرها
بعد تحميل الفلاشة في برنامج sp flashtool, تقوم بالضغط أمام الملف المراد تغييره تحديدا في خانة location عندها ستظهر لك نافذة تطلب منك تحديد مسار الملف.
في الحالات العادية يستحسن استخدام الملفات الإفتراضية التي تم تحديدها في ملف scatter عند بناء الروم, أما ان حصلت مشكلة في أحد الملفات أو أن برنامج sp flashtool يفشل في تمريرها يمكنك استخدام نسخة ubifs.
بهذا أصل الى نهاية هذا المقال, أرجو أن تكونوا قد حققتم الإفادة. ان كان لديكم أي تساؤل تستطيعون طرحه في قسم التعليقات. ألتقي بكم في شرح أخر ان شاء الله.
رابط المشاركة المختصر :

التعليقات ()