ما تحتاجه لفهم هذا المقال
-
خبرة عملية بتفليش رومات عبر
fastboot -
معرفة بهيكل الأقسام:
system،vendor،boot - إلمام عام بمفهوم OTA Updates
- جهاز أو روم حديث (Android 10+)
شكل النظام القديم: Static Partitions
تقسيم الذاكرة كان ثابتاً. كل قسم يحجز حجمه مسبقاً:
boot
system
vendor
recovery
userdata
كنت تفتح روم وتلاقي ملفات واضحة: system.img ، vendor.img ، boot.img — تفليش مباشر، نتيجة مباشرة.
مشاكل النظام القديم
- لو
systemكبر → لازم إعادة تقسيم كامل - مساحات بتضيع بدون استخدام
- تحديثات OTA معقدة
- مرونة شبه صفر
لماذا ظهرت Dynamic Partitions
Google غيّرت الفكرة لأن الأجهزة الحديثة بقت تحتاج مرونة أعلى:
- استغلال أفضل لمساحة الذاكرة
- تحديثات OTA أسهل وأكثر أماناً
- تغيير حجم
system/vendorبدون repartition كامل
ما هو Super Partition
"حاوية كبيرة" واحدة اسمها super، وبداخلها كل الأقسام المنطقية:
super
├── system
├── vendor
├── product
├── odm
└── system_ext
الأقسام داخل super ليست partitions حقيقية — هي Logical Partitions تظهر للنظام كأنها منفصلة لكنها تعيش داخل حاوية واحدة.
الفرق الحقيقي: Physical مقابل Logical
Physical (حقيقية)
bootsuperuserdatavbmeta
موجودة فعلياً على الفلاش — تتعامل معها من fastboot مباشرة
Logical (منطقية)
systemvendorproductodm
تعيش داخل super — مش ليها مكان مستقل على الفلاش
أين اختفى system.img بالضبط
System ما اختفاش… لكنه اتغير مكانه. عندك 3 سيناريوهات:
system داخل super.img
مش هتلاقي system.img منفصل — القسم مضغوط داخل super.img.
system داخل payload.bin
ملف OTA يحتوي كل الأقسام مضغوطة. لازم تستخرجها بأدوات مخصصة.
system.img موجود لكن للـ fastboot فقط
بعض الشركات لسه بتصدره منفصل، لكن ده استثناء مش قاعدة.
وجود payload.bin مش معناه تلقائياً أن الجهاز Dynamic Partitions — هو مجرد طريقة OTA packaging.
العلاقة مع نظام A/B Slots
معظم الأجهزة الحديثة بتستخدم A/B Slots مع Dynamic Partitions:
Slot A
├── system_a
└── boot_a
Slot B
├── system_b
└── boot_b
- تحديث بدون ما توقف الجهاز (Seamless Update)
- Rollback تلقائي لو التحديث فشل
- الجهاز بيشتغل من slot والتحديث بيتم على التاني
لماذا اختفى recovery.img
الريكفري بقى جزء من boot image — مفهوم Recovery-as-Boot:
- مفيش
recovery.imgمنفصل - الريكفري مدمج داخل
boot.img - عند الدخول للريكفري، النظام بيستدعي boot في وضع مختلف
أدوات الفني الجديدة
الشغل الحديث بقى مختلف. الأدوات القديمة مش كافية:
للتفليش المباشر لـ super على أجهزة Dynamic Partitions، لازم تدخل وضع fastbootd. شغّل fastboot reboot fastboot للانتقال إليه.
أوامر Fastboot مهمة للفني
أول شيء تشغّله قبل أي تفليش لمعرفة بنية الجهاز:
# التحقق هل system قسم منطقي
fastboot getvar is-logical:system
# عرض كل متغيرات الجهاز
fastboot getvar all
# معرفة السلوت النشط
fastboot getvar current-slot
# الانتقال لوضع fastbootd
fastboot reboot fastboot
لو نتيجة is-logical:system هي yes — فأنت تتعامل مع Dynamic Partitions ولازم تستخدم fastbootd.
جهاز جالك Bootloop بعد تفليش روم
التشخيص:
systemمتوافق لكنvendorمختلفvbmetaمكسور أو غير مطابقsuperفيها mismatch
خطوات الحل:
- استخراج الأقسام من
payload.binبـ payload-dumper-go - إعادة تفليش
system+vendorمتوافقين من نفس الروم - إعادة بناء
super.imgبـ lpmake (لو تم التعديل) - تفليش
vbmetaالصحيح مع تعطيل التحقق
# تفليش vbmeta مع تعطيل التحقق
fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
# دخول fastbootd ثم تفليش super
fastboot reboot fastboot
fastboot flash super super.img
حلول المشاكل الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
| Bootloop بعد تفليش super | mismatch بين الأقسام | أعد بناء super.img من أقسام متوافقة |
| فشل إقلاع بسبب vbmeta | vbmeta غير مطابق | fastboot flash vbmeta --disable-verification |
| تلف super partition | قطع الكهرباء أو ملف تالف | إعادة تفليش super كامل عبر fastbootd |
| OTA update fail | اختلاف A/B slots | تأكد من تطابق Slot النشط |
| فشل تفليش system لوحده | قسم منطقي لا يقبل تفليش منفصل | فك super ← تعديل ← lpmake ← تفليش الكل |
fastboot flash system لا يعمل |
يحتاج fastbootd | fastboot reboot fastboot ثم أعد المحاولة |
تحذيرات حرجة
تفليش super من روم إصدار مختلف = احتمال Hard Brick
أي mismatch بين system و vendor = Bootloop مباشر
لا تفليش system لوحده في أجهزة Dynamic Partitions — لازم تفلش super كامل أو تستخدم fastbootd
لازم Backup كامل قبل أي تعديل على super أو partitions
احتفظ بالروم الأصلية دائماً قبل أي تعديل — ارجع لها وقت الأزمات
الخلاصة العملية
اختفاء system.img مش مجرد تغيير ملفات — ده تغيير كامل في فلسفة إدارة النظام.
الفني اللي فاهم النظام القديم بس، هيواجه مشاكل حقيقية. لكن اللي فاهم:
Dynamic Partitionsوكيف تعملSuper Partitionوبنيتهاpayload.binوكيفية استخراج محتوياتهA/B Slotsوتأثيرها على التفليش
هو اللي يقدر يتعامل مع الجيل الجديد بدون خوف.
مش مهم تعرف system فين… المهم تعرف هتوصله إزاي لما الجهاز يقع.

التعليقات
ليست هناك تعليقات: