تحديث نواة لينكس إلى إصدار جديد. وميض نواة جهاز Android ما هي نواة الجهاز المحمول

"وأنا... أغسل المكربن!"
نكتة

مقدمة

في روضة الأطفال، قمت أنا وأصدقائي ذوي التفكير المماثل بتشريح الجنادب على أمل فهم بنيتها. في المدرسة قاموا بلحام راديو "روسيا". في المعهد، حان الوقت للسيارات التي تم إعادة ترتيب صواميلها عدة مرات. لقد تغيرت الاهتمامات، لكن الرغبة في "التفكيك" تستيقظ أحيانًا، وهي اليوم تستهدف Android.

كم عدد المرات التي ساعدتك فيها مصادر Android؟ لم يعد من الممكن إحصائي. أندرويد هو مشروع مفتوح المصدر، لكن للأسف ليس لدينا سوى القدرة على القراءة؛ يكاد يكون من المستحيل تعديل كود Android دون أن تكون موظفًا في Google. دعونا نحزن على هذه اللحظة ونقوم بتنزيل المستودع. كيفية القيام بذلك موصوفة بشكل مثالي على الموقع الرسمي.


الهندسة المعمارية العامة

يمكن تصوير بنية Android بشكل تخطيطي على النحو التالي:

تحتوي أجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة على نظام ثابت لأوضاع الطاقة (تحتوي معالجات x86 على العديد منها): يعمل الكمبيوتر "بأقصى سرعة" عندما يتم القيام بشيء ما، وينتقل إلى وضع توفير الطاقة عندما يكون النظام خاملاً. يحدث الانتقال إلى وضع "السكون" إما بعد فترة طويلة من عدم النشاط، أو يدويًا، على سبيل المثال، عند إغلاق غطاء الكمبيوتر المحمول.

على الهواتف، كانت هناك حاجة إلى آلية مختلفة: الحالة الرئيسية للنظام هي "الإسبات"، ويتم الخروج منه فقط عند الضرورة. وبالتالي، يمكن للنظام أن ينام حتى لو كان بعض التطبيقات نشطًا. قام Android بتطبيق آلية Wakelock: إذا كان التطبيق (أو برنامج التشغيل) يقوم بشيء مهم يحتاج إلى الوصول إلى نهايته المنطقية، فإنه "يستولي" على Wakelock، مما يمنع الجهاز من النوم.

تسببت محاولات نقل آلية Wakelock إلى النواة في مقاومة العديد من المطورين. قام مبرمجو Android بحل مشكلة محددة، وكان الحل لها آلية معينة. وكانت شروط المهمة ضيقة للغاية. النظام الأساسي المستهدف هو ARM، لذلك تم استخدام ميزاته: تفترض معالجات ARM في البداية تغييرات متكررة في أوضاع التشغيل "السكون" و"الاستيقاظ"، على عكس x86. في تطبيقات Android، تتواصل مع نظام إدارة الطاقة عبر PowerManager، ولكن ماذا عن تطبيقات عميل Linux؟

لم يحاول مطورو Android حتى إيجاد حل عام "للمستقبل"، والذي سيتم بعد ذلك دمجه في النواة الرئيسية دون مشاكل، ولم يستشيروا مجتمع Linux kernel بشأن هذه المشكلة. هل يمكنك إلقاء اللوم عليهم في هذا؟ على الرغم من كل المشاكل والمناقشات، كما ذكر أعلاه، ظهرت واجهة برمجة التطبيقات (API) مع وظيفة مماثلة للنوم التلقائي في القلب.

نادرًا ما يضطر مبرمجو تطبيقات Android إلى التعامل مع Wakelocks، حيث يقوم النظام الأساسي وبرامج التشغيل بمعالجة الالتزامات المخصصة لهم مع مراعاة وضع "السكون". ومع ذلك، سيساعدك PowerManager المألوف على التدخل في هذه العملية. بالمناسبة، يمكن للمؤلف التفكير في سيناريو واحد فقط: منع الهاتف من النوم عند بدء تشغيل الخدمة من BroadcastReceiver، والذي يتم حله بواسطة فئة مساعدة من مكتبة دعم Android WakefulBroadcastReceiver.

قاتل الذاكرة المنخفضة

تحتوي نواة Linux القياسية على أداة Out of Memory Killer، والتي، بناءً على معامل السيئة، تحدد العملية التي سيتم قتلها:

Badness_for_task = Total_vm_for_task / (sqrt(cpu_time_in_thans) *
sqrt(sqrt(cpu_time_in_دقائق)))

وبالتالي، كلما زادت كمية الذاكرة التي تستهلكها العملية، وقصر عمرها، قل حظها.

يوضح الرسم التخطيطي نظام تسجيل Android العام. يوفر برنامج تشغيل التسجيل الوصول إلى كل مخزن مؤقت عبر /dev/log/*. لا تصل إليها التطبيقات مباشرة، بل من خلال مكتبة liblog. تتواصل الفئات Log وSlog وEventLog مع مكتبة liblog. يعرض أمر adb logcat محتويات المخزن المؤقت "الرئيسي".

خاتمة

في هذه المقالة، استعرضنا بإيجاز بعض ميزات Android كنظام Linux. تم استبعاد بعض الأجزاء الأخرى (pmem، وحدة تحكم RAM، وما إلى ذلك)، بالإضافة إلى الجوانب المهمة للمنصة ككل، مثل خدمة النظام، وعملية بدء تشغيل النظام، وغيرها. إذا كان هذا الموضوع محل اهتمام، فسننظر فيه في المقالات التالية.

أعلن لينوس تورفالدس، الشركة الأم لنظام التشغيل Linux ومطور نظام التشغيل kernel، مساء الأحد، عن إطلاق نسخة جديدة من Linux kernel 3.10 بعد شهرين من العمل.

وفقًا للمطور نفسه، تعد هذه النواة هي الأكبر من حيث الابتكار خلال السنوات القليلة الماضية.

اعترف لينوس أنه في البداية كان ينوي إطلاق سراح مرشح إصدار آخر، ولكن بعد التفكير كان يميل إلى إطلاق الإصدار النهائي رقم 3.10 على الفور. وأشار تورفالدس أيضًا في رسالته إلى أن النواة الجديدة، مثل الإصدار 3.9، جاهزة تمامًا للاستخدام اليومي.

بالإضافة إلى ذلك، في الإعلان عن إصدار RC من النواة، كتب Linus Torvalds أنه في السابق كان يقوم دائمًا بتضمين قائمة بأسماء الأشخاص الذين أرسلوا أجزاء معينة من الكود، ولكن هذه المرة ستكون هذه القائمة كبيرة جدًا لدرجة أنه لا يمكن حذفها. تعطى بالكامل في ورقة واحدة من المراسلات.

قائمة التغييرات الرئيسية التي تم إجراؤها على kernel 3.10:

  • يمكنك الآن منع تنفيذ البرامج النصية كبرامج - يمكن الآن تجميع وظيفة تشغيل البرامج النصية التي تحتوي على المسار إلى المترجم في الرأس "#!" كوحدة نمطية للنواة؛
  • تم دمج نظام Bcache الذي تم تطويره واستخدامه بواسطة Google. يتيح لك Bcache تنظيم التخزين المؤقت للوصول إلى محركات الأقراص الثابتة البطيئة على محركات أقراص SSD السريعة؛ يتم إجراء التخزين المؤقت على مستوى جهاز الكتلة - وهذا يسمح لك بتسريع الوصول إلى محرك الأقراص، بغض النظر عن أنظمة الملفات المستخدمة على الجهاز؛
  • يمكن تجميع النواة باستخدام مترجم Clang بفضل التصحيحات التي أعدها مشروع LLVMLinux؛
  • لقد ظهر نظام ديناميكي للتحكم في إنشاء مقاطعات المؤقت. الآن، اعتمادًا على الحالة الحالية، يمكنك تغيير المقاطعات في النطاق من آلاف القراد في الثانية إلى مقاطعة واحدة في الثانية - وهذا يسمح لك بتقليل الحمل على وحدة المعالجة المركزية عند معالجة المقاطعات عندما يكون النظام غير نشط. تُستخدم هذه الوظيفة حاليًا لأنظمة الوقت الفعلي وHPC (الحوسبة عالية الأداء)، ولكن في إصدارات kernel التالية سيتم استخدامها لأنظمة سطح المكتب أيضًا؛
  • أصبح من الممكن الآن إنشاء حدث لإعلام التطبيق بأنه يقترب من استنفاد الذاكرة المتوفرة للعملية/النظام (في مجموعات التحكم)؛
  • يتوفر الآن ملف تعريف الوصول إلى الذاكرة للأمر perf؛
  • تمت إضافة دعم لبروتوكول RDMA (iSER) إلى نظام iSCSI الفرعي؛
  • هناك برنامج تشغيل جديد "المزامنة" (تجريبي). تم تطويره ضمن نظام Android الأساسي ويستخدم للمزامنة بين برامج التشغيل الأخرى؛
  • تم دمج برنامج تشغيل بطاقة الرسومات الافتراضية QXL (المستخدم في أنظمة المحاكاة الافتراضية لتسريع إخراج الرسومات باستخدام بروتوكول SPICE)؛
  • يتم الآن دعم ميزات إدارة الطاقة الجديدة المقدمة في عائلة معالجات AMD 16h (Jaguar)؛
  • تمت إضافة دعم لتسريع فك تشفير الفيديو باستخدام وحدة فك ترميز UVD للأجهزة المدمجة في وحدات معالجة الرسومات AMD الحديثة إلى Radeon DRM؛
  • ظهر برنامج تشغيل لمحولات الفيديو الافتراضية Microsoft Hyper-V (هناك أيضًا تحسينات في تشغيل Hyper-V بشكل عام)؛
  • تم تحسين تنفيذ وظائف التشفير (sha256، sha512، السمكة المنتفخة، twofish، الثعبان والكاميليا) باستخدام تعليمات AVX/AVX2 وSSE.

في الآونة الأخيرة، تم إصدار إصدارات جديدة من النواة في كثير من الأحيان. يصدر إصدار مستقر كل بضعة أشهر. حسنًا، يظهر المرشحون غير المستقرون للإصدارات في كثير من الأحيان. يعمل Linus Torvalds والعديد من المطورين حول العالم باستمرار على تحسين النوى الجديدة وإضافة المزيد والمزيد من الوظائف إليها.

مع كل إصدار جديد، تضيف نواة Linux دعمًا للعديد من الأجهزة الجديدة، مثل المعالجات الجديدة أو بطاقات الفيديو أو حتى شاشات اللمس. في الآونة الأخيرة، تحسن دعم المعدات الجديدة بشكل كبير. كما تم تضمين أنظمة ملفات جديدة في النواة، وتم تحسين تشغيل مكدس الشبكة، وإصلاح الأخطاء والأخطاء.

إذا كنت تريد معلومات أكثر تفصيلاً حول التغييرات التي تطرأ على إصدار نواة معين، فراجع سجل التغيير الخاص به على kernel.org، وفي هذه المقالة سننظر في تحديث نواة Linux إلى الإصدار الأحدث. سأحاول عدم ربط التعليمات بإصدار نواة محدد؛ حيث يتم إصدار نواة جديدة في كثير من الأحيان وستكون ذات صلة بكل منها.

دعونا نلقي نظرة على ترقية نواة Ubuntu وCentOS. أولاً، دعونا نلقي نظرة على كيفية تحديث النواة في Ubuntu 16.04.

دعونا أولا نرى ما هي النواة التي قمت بتثبيتها. للقيام بذلك، افتح المحطة وقم بتشغيل:

على سبيل المثال، أستخدم حاليًا الإصدار 4.3، ويمكنني التحديث إلى الإصدار الأحدث. لقد تأكد مطورو Ubuntu بالفعل من أن مستخدميهم لا يقومون بتجميع النواة يدويًا وقاموا بإنشاء حزم deb للإصدار الجديد من النواة. يمكن تنزيلها من موقع Canonical الرسمي.

يمكنني تقديم أوامر wget هنا للتنزيل إذا كان إصدار النواة معروفًا، لكن في حالتنا سيكون من الأفضل استخدام المتصفح. افتح موقع الويب http://kernel.ubuntu.com/~kernel-ppa/mainline/. إليك جميع النوى التي جمعها فريق Ubuntu. يتم تجميع النواة لتوزيعات محددة، مع الاسم الرمزي للتوزيع، وللتوزيعات العامة. علاوة على ذلك، من المرجح أن تعمل النوى من Ubuntu 16.10 في 16.04، لكن لا ينبغي عليك تثبيت نواة من 9.04 في Ubuntu 16.04.

قم بالتمرير إلى الأسفل، حيث توجد الإصدارات الأحدث من النوى:

بالإضافة إلى ذلك، يوجد في الجزء العلوي مجلد يومي/حالي، والذي يحتوي على أحدث إصدارات النواة الليلية. حدد إصدار النواة المطلوب وقم بتنزيل ملفين linux-headers وlinux-image للبنية الخاصة بك:

بمجرد اكتمال التنزيل، يمكنك المتابعة إلى التثبيت. للقيام بذلك، قم بما يلي في المحطة:

انتقل إلى المجلد الذي يحتوي على حزم التثبيت، على سبيل المثال ~/Downloads:

قم بتشغيل التثبيت:

إذا لم ينجح هذا الأمر، يمكنك الذهاب بطريقة أخرى. تثبيت الأداة المساعدة gdebi:

Sudo apt-get install gdebi

ثم استخدمه لتثبيت النواة:

Sudo gdebi linux-headers*.deb linux-image-*.deb

تم تثبيت النواة، وكل ما تبقى هو تحديث أداة تحميل التشغيل:

سودو التحديث-جروب

الآن يمكنك إعادة تشغيل جهاز الكمبيوتر الخاص بك ومعرفة ما حدث. بعد إعادة التشغيل، سنتأكد من نجاح تحديث نواة Linux إلى الإصدار الأحدث:

كما ترون، تم تثبيت النواة بنجاح وهي تعمل. لكن لا تتسرع في إزالة الإصدار القديم من النواة؛ فمن المستحسن أن يكون لديك عدة إصدارات من النواة على النظام، بحيث يمكنك التمهيد من إصدار العمل القديم في حالة حدوث مشكلات.

تحديث Linux Kernel التلقائي على Ubuntu

لقد نظرنا أعلاه في كيفية تثبيت إصدار kernel المطلوب يدويًا. كان لدى Ubuntu PPA من أجل إنشاءات kernel اليومية، لكنه مغلق الآن. ولذلك، لا يمكنك تحديث النواة إلا عن طريق تنزيل حزمة deb وتثبيتها. ولكن يمكن تبسيط كل هذا باستخدام برنامج نصي خاص.

تثبيت البرنامج النصي:

مؤتمر نزع السلاح /تمب
$ git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater/install

البحث عن تحديثات:

KernelUpdateChecker -r yakkety

يتيح لك الخيار -r تحديد فرع التوزيع الذي تريد البحث عن النوى له. لم تعد نواة زينيال مبنية، ولكن النوى من الإصدار التالي ستعمل بشكل جيد هنا. بالإضافة إلى ذلك، يمكن استخدام الخيار -no-rc لتوجيه الأداة المساعدة بعدم استخدام مرشحات الإصدار، ويحدد الخيار -v إصدار kernel الدقيق الذي سيتم تثبيته. إذا كنت لا تهتم بالتوزيع المخصص للنواة، طالما أنها الأحدث، فاستخدم خيار --any-release. سينتج عن البرنامج النصي النتيجة التالية:

قبل تثبيت النواة، يمكنك عرض التفاصيل عن طريق فتح ملف /tmp/kernel-update:

هنا يمكننا أن نرى أنه تم البحث عن yakkity وأن إصدار النواة حاليًا هو 4.7-rc6. يمكننا تثبيت:

سودو /tmp/kernel-update

سيظهر لنا السكربت إصدار النواة الحالية وكذلك إصدار النواة التي سيتم تثبيتها وتاريخ إنشائها وتفاصيل أخرى. سيتم سؤالك أيضًا عما إذا كنت بحاجة إلى الاحتفاظ بسجل التغيير. التالي يأتي التثبيت:

النوى القديمة، فقط في حالة عدم حذف (ن):

تم الانتهاء من ترقية النواة إلى الإصدار الأحدث، والآن قم بإعادة تشغيل جهاز الكمبيوتر الخاص بك (y):

دعونا نتحقق مما إذا كان تحديث Ubuntu kernel يعمل بالفعل:

علاوة على ذلك، تمت إضافة البرنامج النصي إلى بدء التشغيل وسيقوم الآن تلقائيًا بالبحث عن التحديثات بعد 60 ثانية من تسجيل الدخول. اختصار التحميل التلقائي موجود في الملف:

السادس ~/.config/autostart/KernelUpdate.desktop

يمكنك تغييره حسب حاجتك أو حذفه. إذا كنت تريد إزالة البرنامج النصي بالكامل من النظام، فقم بتشغيل:

rm ~/.config/autostart/KernelUpdate.desktop
$ sudo rm /usr/local/bin/KernelUpdate(Checker,ScriptGenerator)

لا يتم التنزيل

إذا حدثت أي أخطاء أثناء التثبيت أو لم يتم تحديث النواة بشكل صحيح والآن لا يتم تشغيل النظام بالنواة الجديدة، فيمكنك استخدام النواة القديمة. أيضًا، قد لا يبدأ النظام إذا كنت تستخدم برنامج تشغيل خاصًا لبطاقة فيديو NVIDIA؛ وفي هذه الحالة، لا تتعجل في تنزيل أحدث إصدار من kernel؛ استخدم فقط النواة المستقرة كقاعدة عامة؛ تمت إضافتها إليهم بالفعل.

ولاستعادة النظام، حدد خيارات متقدمة لأوبونتوفي قائمة Grub:

وابدأ تشغيل النواة السابقة:

بعد التنزيل، كل ما تبقى هو إزالة النواة المثبتة بشكل غير صحيح وتحديث Grub مرة أخرى، واستبدال إصدار النواة المطلوب بدلاً من 4.7:

Sudo apt إزالة linux-header-4.7* linux-image-4.7*

سودو التحديث-جروب

عاد نظامك الآن إلى حالته السابقة. يمكنك محاولة تثبيت إصدار أقدم من النواة أو المحاولة مرة أخرى.

ترقية Linux Kernel إلى 4.4 على CentOS

الآن دعونا نلقي نظرة على كيفية تحديث أحدث إصدار من Linux kernel في CentOS. تم اختبار التعليمات على CentOS 7، ولكن على الأرجح ستعمل على RedHat 7 وFedora والتوزيعات الأخرى المشابهة.

كقاعدة عامة، لا يتم تضمين النوى الجديدة في مستودعات CentOS الرسمية، لذا للحصول على أحدث إصدار مستقر، سنحتاج إلى إضافة مستودع ELRepo. يعد هذا مستودعًا للحزم التجارية (حزم Enterprise Linux) ويدعمه أيضًا RedHat وFedora.

لإضافة مستودع، اتبع الخطوات التالية:

تحتاج أولاً إلى استيراد المفتاح:

دورة في الدقيقة - استيراد https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

أضف المستودع والمكونات الضرورية إلى RHEL/Scientific Linux/CentOS-7:

دورة في الدقيقة -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

يم تثبيت يم المساعد أسرع مرآة

في فيدورا 22 وما فوق:

لقد كتبنا أكثر من مرة عن البرامج الثابتة المخصصة وتطبيقات الجذر وقوائم التمهيد البديلة. كل هذه موضوعات قياسية في مجتمع اختراق Android، ومع ذلك، بالإضافة إلى كل ما سبق، هناك أيضًا شيء مثل "النواة المخصصة"، والتي يمكن أن توفر إمكانيات غير محدودة تقريبًا لإدارة الهاتف الذكي وأجهزته على مستوى العالم. أدنى مستوى. سأخبرك في هذه المقالة ما هو ولماذا هو مطلوب وكيفية اختيار النواة المخصصة المناسبة.

نواة مخصصة؟

ما هي النواة المخصصة؟ كما نعلم جميعًا، فإن Android عبارة عن فطيرة تتكون من ثلاث طبقات أساسية: Linux kernel، ومجموعة من المكتبات والخدمات ذات المستوى المنخفض، وجهاز Dalvik الظاهري، الذي يقوم فوقه بتشغيل غلاف رسومي وأدوات وخدمات عالية المستوى. بالإضافة إلى جميع التطبيقات المثبتة من السوق تقريبًا. عادةً ما يعمل منشئو معظم البرامج الثابتة المخصصة البديلة فقط مع الطبقتين العلويتين، ويضيفون وظائف إلى الغلاف الرسومي (على سبيل المثال، الأزرار الموجودة في الستارة)، ويغيرونها (محرك السمات في CyanogenMod)، بالإضافة إلى إضافة خدمات نظام جديدة (المعادل في CyanogenMod) وتحسين العناصر الموجودة.

يقوم مؤلفو البرامج الثابتة الشائعة أيضًا بإجراء تغييرات على Linux kernel كلما أمكن ذلك: فهم يقومون بالتحسين (البناء باستخدام علامات تحسين المترجم الأكثر قوة)، ويتضمنون وظائف جديدة (على سبيل المثال، دعم Windows ball)، ويقومون أيضًا بإجراء تغييرات أخرى، مثل القدرة على لرفع تردد المعالج فوق ما توفره الشركة المصنعة . غالبًا ما يبقى كل هذا خلف الكواليس، والعديد من مستخدمي البرامج الثابتة المخصصة لا يدركون حتى هذه الاحتمالات، خاصة وأن نفس CyanogenMod يأتي مع نواة مخصصة فقط لمجموعة محدودة من الأجهزة، والتي يكون لها كل من الكود المصدري للنواة الأصلية والقدرة على استبداله متوفرة. على سبيل المثال، تستخدم جميع البرامج الثابتة CyanogenMod تقريبًا للهواتف الذكية Motorola نواة قياسية - من المستحيل استبدالها بنواة خاصة بك بسبب الحماية التي لا يمكن اختراقها لمحمل التشغيل.

ومع ذلك، يمكن استبدال النواة الموجودة في الهواتف الذكية التي تحتوي على أداة تحميل التشغيل غير المؤمّنة بشكل منفصل عن البرنامج الثابت الرئيسي. ولا يقتصر الأمر على استبدال النواة فحسب، بل تثبيتها بعدد كبير من الوظائف المختلفة التي تتطلب معرفة تقنية معينة لإدارتها، وبالتالي لا تكون عادةً مدمجة في نواة البرامج الثابتة الشائعة مثل CyanogenMod وAOKP وMIUI. من بين هذه الوظائف، يمكنك العثور على دعم لترددات المعالج العالية، والتحكم في جاما الشاشة، وأوضاع توفير الطاقة، ومديري الطاقة ذوي الكفاءة العالية وعدد كبير من الميزات الأخرى.

سنتحدث في هذه المقالة عما يمكن أن يقدمه لنا منشئو النوى المخصصة، ونأخذ في الاعتبار النوى المخصصة الرئيسية للأجهزة المختلفة، ونحاول أيضًا تثبيت النواة بشكل مستقل عن البرامج الثابتة الرئيسية والتحقق من كل شيء على بشرتنا. إذًا، ما الذي يقدمه عادةً مطورو النوى البديلة؟

تحكم حركة المرور الذكية

تحتوي OMAP35XX SoCs، المستخدمة، على سبيل المثال، في Galaxy S II وGalaxy Nexus، على وظيفة SmartReflex، التي تعمل كنظام ذكي لضبط الجهد عندما يتغير الحمل على المعالج. بشكل أساسي، فهو يلغي الحاجة إلى ضبط الجهد من قبل المستخدم.


التحسينات

غالبًا ما يكون الهدف الرئيسي لبناء نواة مخصصة هو تحسين الأداء. عادة، يحاول بائع الأجهزة المحمولة الحفاظ على التوازن بين الأداء والاستقرار، لذلك حتى تقنيات التحسين الجيدة التي يمكن أن تزيد بشكل كبير من سرعة الجهاز لا يمكن رفضها من قبل الشركة المصنعة إلا على أساس أنه بعد استخدامها، بدأت بعض التطبيقات في التعطل كل إطلاق العاشر. بالطبع، لا يزعج المتحمسون مثل هذه الأشياء الصغيرة، والعديد منهم على استعداد لتطبيق أي خيارات للمترجم، وخوارزميات توفير الطاقة على نواة تجميعهم ورفع تردد المعالج إلى أعلى مستوى يمكن للجهاز التعامل معه. من بين جميع تقنيات التحسين، هناك أربعة هي الأكثر شيوعًا:



نوع آخر من التحسين: تغيير جدولة الإدخال/الإخراج الافتراضية. يعد الوضع في هذا المجال أكثر إثارة للاهتمام، لأنه بدلاً من فهم مبادئ تشغيل المجدولين، يقوم بعض منشئي النواة ببساطة بقراءة المستندات الموجودة على الإنترنت الخاصة بجدولات الإدخال / الإخراج لنظام التشغيل Linux واستخلاص النتائج. بين المستخدمين، وهذا النهج هو أكثر انتشارا. في الواقع، فإن جميع برامج جدولة Linux الأقوى والأكثر ذكاءً تقريبًا غير مناسبة تمامًا لنظام Android: فهي مصممة للاستخدام مع مخازن البيانات الميكانيكية، حيث تختلف سرعة الوصول إلى البيانات اعتمادًا على موضع الرأس. يستخدم المجدول أنظمة مختلفة لتجميع الطلبات اعتمادًا على الموقع الفعلي للبيانات، لذا فإن طلبات البيانات القريبة من موضع الرأس الحالي ستحظى بأولوية أعلى. وهذا أمر غير منطقي على الإطلاق في حالة الذاكرة الصلبة، التي تضمن نفس سرعة الوصول إلى جميع الخلايا. ستتسبب برامج الجدولة المتقدمة في ضرر أكبر من نفعها على الهاتف الذكي، أما البرامج الأكثر خرقاء وبدائية فسوف تظهر أفضل النتائج. لدى Linux ثلاثة برامج جدولة مماثلة:

  • Noop (لا توجد عملية)- ما يسمى بغير المجدول. قائمة انتظار طلبات FIFO بسيطة، ستتم معالجة الطلب الأول أولاً، والثاني، وما إلى ذلك. مناسب تمامًا لذاكرة الحالة الصلبة ويسمح لك بتوزيع أولويات التطبيق بشكل عادل للوصول إلى محرك الأقراص. ميزة إضافية: حمل منخفض للمعالج بسبب مبدأ تشغيل بسيط للغاية. العيب: عدم مراعاة تفاصيل تشغيل الجهاز، مما قد يؤدي إلى فشل الأداء.
  • SIO (الإدخال/الإخراج البسيط)- نظير لبرنامج جدولة الموعد النهائي دون مراعاة قرب القطاعات من بعضها البعض، أي أنه مصمم خصيصًا لذاكرة الحالة الصلبة. ميزتان رئيسيتان: أولوية عمليات القراءة على عمليات الكتابة وتجميع العمليات حسب العملية، وتخصيص شريحة زمنية لكل عملية لتنفيذ العمليات. في الهواتف الذكية حيث تعد سرعة التطبيق الحالي وغلبة عمليات القراءة على عمليات الكتابة أمرًا مهمًا، فإنه يُظهر أداءً جيدًا للغاية. متوفر في Leankernel وMatr1x kernel لجهاز Nexus 4 وSiyahKernel.
  • الصف (القراءة والكتابة)- برنامج جدولة مصمم خصيصًا للأجهزة المحمولة وتمت إضافته إلى النواة منذ بضعة أشهر فقط. الهدف الرئيسي هو معالجة طلبات القراءة أولاً، ولكن توزيع الوقت المناسب لطلبات الكتابة أيضًا. يعتبر أفضل برنامج جدولة لذاكرة NAND في الوقت الحالي، ويتم استخدامه افتراضيًا في Leankernel وMatr1x.

تجدر الإشارة إلى أن جميع البرامج الثابتة القياسية تقريبًا ونصف البرامج المخصصة لا تزال تستخدم النواة مع برنامج جدولة Linux CFQ القياسي، والذي، مع ذلك، ليس سيئًا للغاية، لأنه يمكن أن يعمل بشكل صحيح مع محركات الأقراص ذات الحالة الصلبة. من ناحية أخرى، فهو معقد للغاية، ويخلق حمولة أكبر على المعالج (وبالتالي البطارية) ولا يأخذ في الاعتبار تفاصيل نظام التشغيل المحمول. خيار شائع آخر هو برنامج جدولة الموعد النهائي، وهو جيد مثل SIO ولكنه زائد عن الحاجة. يمكنك عرض قائمة المجدولات المتاحة باستخدام الأمر التالي:

# cat /sys/block/*/queue/scheduler

لتغيير ما يلي يتم استخدامه (حيث يكون الصف هو اسم المجدول):

# بالنسبة لي في /sys/block/*/queue/scheduler; قم بصف الصدى > $1؛ منتهي

يستخدم بعض منشئي النواة أيضًا نوعًا آخر من التحسين المتعلق بالإدخال/الإخراج. يؤدي هذا إلى تعطيل استدعاء نظام fsync، والذي يُستخدم لإجبار المحتويات المتغيرة للملفات المفتوحة على التدفق إلى القرص. هناك رأي مفاده أنه بدون fsync، سيصل النظام إلى محرك الأقراص بشكل أقل، وبالتالي يوفر وقت المعالج وطاقة البطارية. بيان مثير للجدل إلى حد ما: لا يتم استخدام fsync في كثير من الأحيان في التطبيقات وفقط لحفظ المعلومات المهمة حقًا، ولكن تعطيله يمكن أن يؤدي إلى فقدان نفس المعلومات في حالة تعطل نظام التشغيل أو مشاكل أخرى. القدرة على تعطيل fsync متاحة في نواة franco.Kernel وGLaDOS، ويتم التحكم فيها بواسطة الملف /sys/module/sync/parameters/fsync_enabled، حيث يجب أن تكتب 0 للتعطيل أو 1 للتمكين. مرة أخرى، لا ينصح باستخدام هذه الميزة.

إضافة وظائف جديدة إلى النواة

بالطبع، بالإضافة إلى التحسينات والتعديلات وأنظمة إدارة الأجهزة المتقدمة المتنوعة، يمكنك أيضًا العثور في النوى المخصصة على وظائف جديدة تمامًا ليست موجودة في النوى القياسية، ولكنها يمكن أن تكون مفيدة للمستخدمين.

هذه هي في الأساس برامج تشغيل وأنظمة ملفات مختلفة. على سبيل المثال، تتضمن بعض النواة دعمًا لوحدة CIFS، والتي تسمح لك بتركيب مشاركات Windows. توجد مثل هذه الوحدة في Matr1x kernel لـ Nexus S، وfaux123 لـ Nexus 7، وSiyahKernel، وGLaDOS. إنه في حد ذاته عديم الفائدة، ولكن هناك العديد من التطبيقات في السوق التي تسمح لك باستخدام قدراته.

ميزة أخرى مفيدة هي تضمين برنامج التشغيل ntfs-3g في kernel (بتعبير أدق، في الحزمة مع kernel؛ يعمل برنامج التشغيل نفسه كتطبيق Linux)، وهو أمر ضروري لتركيب محركات أقراص فلاش مهيأة في نظام ملفات NTFS. تم العثور على برنامج التشغيل هذا في نواة faux123 وSiyahKernel. عادةً ما يتم تنشيطه تلقائيًا، ولكن إذا لم يحدث ذلك، فيمكنك استخدام تطبيق StickMount من السوق.

تتضمن العديد من النوى أيضًا دعمًا لما يسمى بتقنية zram، والتي تسمح لك بحجز كمية صغيرة من ذاكرة الوصول العشوائي (عادةً 10٪) واستخدامها كمنطقة تبديل مضغوطة. والنتيجة هي نوع من التوسع في حجم الذاكرة، دون أي عواقب وخيمة على الأداء. متوفر في Leankernel، ويتم تمكينه باستخدام أمر تمكين Trickster MOD أو zram.

آخر ميزتين مثيرتين للاهتمام هما Fast USB Charge وSweep2wake. الأول ليس أكثر من التنشيط القسري لوضع "الشحن السريع"، حتى لو كان الهاتف الذكي متصلاً بمنفذ USB بالكمبيوتر. يتوفر وضع الشحن السريع في جميع الهواتف الذكية الجديدة تقريبًا، ولكن نظرًا للقيود التقنية، لا يمكن تمكينه في نفس الوقت مع الوصول إلى بطاقة الذاكرة. تتيح لك وظيفة الشحن السريع عبر USB تمكين هذا الوضع دائمًا، مع تعطيل الوصول إلى محرك الأقراص.

Sweep2wake هي طريقة جديدة لتنشيط الجهاز، اخترعها مؤلف كتاب Breaked-kernel. الهدف منه هو تشغيل الهاتف الذكي عن طريق تمرير إصبعك فوق مفاتيح التنقل الموجودة أسفل الشاشة، أو عبر الشاشة نفسها. هذه ميزة مريحة حقًا، ولكن تشغيلها سيؤدي إلى بقاء المستشعر نشطًا حتى أثناء نوم الجهاز، مما قد يؤدي إلى استنزاف البطارية بشكل كبير.

رفع تردد التشغيل والجهد وتوفير الطاقة

تحظى عملية رفع تردد التشغيل بشعبية كبيرة ليس فقط بين أصحاب أجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة، ولكن أيضًا بين المتحمسين لتكنولوجيا الأجهزة المحمولة. مثل أحجار بنية x86، تعد المعالجات ونوى الرسومات للأجهزة المحمولة ممتازة. ومع ذلك، فإن طريقة رفع تردد التشغيل نفسها والخطوات المتخذة لتنفيذها مختلفة بعض الشيء. الحقيقة هي أن برامج التشغيل القياسية لـ SoCs، المسؤولة عن توفير الطاقة وتغيير تردد المعالج، عادةً ما تكون مقفلة على ترددات قياسية، لذلك من أجل الضبط الدقيق، يتعين عليك تثبيت إما برنامج تشغيل بديل أو نواة مخصصة.

تحتوي جميع النوى المخصصة عالية الجودة والشائعة تقريبًا على برامج تشغيل غير مقفلة، لذلك بعد تثبيتها، يتم توسيع القدرة على التحكم في "قوة" المعالج بشكل كبير. عادةً ما يقوم منشئو النواة المخصصة بأمرين يؤثران على اختيار التردد. يعد هذا توسيعًا لنطاق الترددات بما يتجاوز النطاقات المحددة في البداية - يمكنك ضبط إما تردد معالج أعلى أو تردد منخفض جدًا، مما يسمح لك بحفظ البطارية وزيادة تدرج الترددات، على سبيل المثال، بدلاً من ثلاثة ترددات محتملة ، هناك ستة للاختيار من بينها. والثاني هو إضافة إمكانية ضبط جهد المعالج، بحيث يمكنك تقليل جهد المعالج عند الترددات المنخفضة للحفاظ على شحن البطارية وزيادته عند الترددات العالية لزيادة الثبات.

يمكن التحكم في كل هذا باستخدام الأداة المساعدة المدفوعة المعروفة SetCPU أو Trickster MOD المجاني. توصيات الإدارة هي نفسها بالنسبة لأنظمة سطح المكتب. من الأفضل ضبط تردد المعالج السفلي على الحد الأدنى، ولكن ليس أقل من 200 ميجاهرتز (لتجنب التأخير)، يتم زيادة العتبة العليا تدريجياً أثناء اختبار استقرار التشغيل، إذا انخفض، يوصى بزيادة الجهد قليلاً لهذا التردد. لا توجد توصيات بشأن الجهد الكهربي، حيث أن كل معالج فريد من نوعه وستكون القيم مختلفة من شخص لآخر.

بالإضافة إلى تغيير الترددات، غالبا ما يضيف المنشئون خوارزميات جديدة للتحكم في توفير الطاقة (التحكم التلقائي في تردد المعالج) إلى النواة، والتي، في رأيهم، يمكن أن تظهر نتائج أفضل مقارنة بالنتائج القياسية. تعتمد جميعها تقريبًا على الخوارزمية التفاعلية المستخدمة افتراضيًا في الإصدارات الجديدة من Android، والتي يتمثل جوهرها في زيادة تردد المعالج بشكل حاد إلى الحد الأقصى عند زيادة الحمل، ثم تقليله تدريجيًا إلى الحد الأدنى. فهو يحل محل خوارزمية OnDemand المستخدمة مسبقًا، والتي تقوم بضبط التردد بسلاسة في كلا الاتجاهين بما يتناسب مع الحمل، وتجعل النظام أكثر استجابة. يقدم جامعو النوى البديلة الخوارزميات التالية لتحل محل التفاعلية:

  • SmartAssV2- إعادة النظر في الخوارزمية التفاعلية مع التركيز على توفير طاقة البطارية. والفرق الرئيسي هو عدم سحب المعالج إلى ترددات عالية في حالة حدوث رشقات نارية قصيرة المدى من الحمل، وهو ما يكفي لأداء المعالج المنخفض. يتم استخدام الافتراضي في kernel Matr1x.
  • InteractiveX- خوارزمية تفاعلية مضبوطة، وتتمثل الميزة الرئيسية لها في قفل المعالج عند الحد الأدنى من التردد الذي يحدده المستخدم وإلغاء تنشيط قلب المعالج الثاني عند إيقاف تشغيل الشاشة. يتم استخدام الافتراضي في Leankernel.
  • لولزاكتيفيV2- في الأساس نظام OnDemand المعاد اختراعه. عندما يتجاوز الحمل على المعالج المستوى المحدد (60% افتراضيًا)، تقوم الخوارزمية برفع التردد بعدد معين من الأقسام (1 افتراضيًا)، وتخفضه عندما ينخفض ​​الحمل. إنه ذو أهمية خاصة لأنه يسمح لك بتعيين معلمات التشغيل بشكل مستقل، وبالتالي فهو مناسب للمهوسين المتشددين.

بشكل عام، يحب منشئو النواة حقًا التوصل إلى خوارزميات جديدة لتوفير الطاقة نظرًا لسهولة تنفيذها، لذا يمكنك العثور على عشرات الخوارزميات الأخرى. معظمها هراء تمامًا، وعند اختيار برنامج جدولة، يجب أن تسترشد بالقاعدة: إما واحدة من الثلاثة الموصوفة أعلاه، أو التفاعلية القياسية، والتي، بالمناسبة، جيدة جدًا. يمكنك الاختيار باستخدام نفس Trickster MOD.

واجهات التحكم

تشتمل النوى المخصصة الأكثر شيوعًا على عدة آليات للتحكم الدقيق في معلمات برنامج التشغيل المختلفة، وأكثرها شيوعًا هي ColorControl وGammaControl وSoundControl وTempControl.

تتوفر الواجهتان الأوليتان في كل مكان تقريبًا، بما في ذلك نواة CyanogenMod، والواجهتان الأخريان متاحتان في Leankernel وربما في نواة أخرى. بطريقة أو بأخرى، يمكن التحكم فيها جميعًا باستخدام Trickster MOD.

النوى

أي جوهر يجب أن تختار؟ لا توجد إجابة واضحة على هذا السؤال، وليس لأن "لكل واحد خاصته"، ولكن لأن هناك عددًا كبيرًا من أجهزة Android في العالم والعديد من النوى المختلفة تقريبًا. ومع ذلك، هناك العديد من النوى الشائعة التي يتم تطويرها لعدة أجهزة في وقت واحد. وبشكل أو بآخر، ذكرت الكثير منها طوال القصة، وهنا سأقدم وصفًا موجزًا ​​لها.

  • Leankernel هو جوهر أجهزة Galaxy Nexus وNexus 7 وGalaxy S III. ينصب التركيز الرئيسي أثناء التطوير على البساطة وسرعة العمل. خوارزمية توفير الطاقة: InteractiveX V2، جدولة الإدخال/الإخراج: ROW، جميع واجهات التحكم المذكورة أعلاه، دعم شحن USB السريع، Swap وzram، خيارات مرنة لرفع تردد التشغيل لوحدة المعالجة المركزية ووحدة معالجة الرسومات. واحدة من أفضل النوى. قابلة للتخصيص باستخدام Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - نواة لـ Nexus S وNexus 4. نواة بسيطة وغير مثقلة. دعم رفع تردد تشغيل وحدة المعالجة المركزية ووحدة معالجة الرسومات، وGammaControl، وشحن USB السريع، وSweep2wake، وجدولة الإدخال/الإخراج: SIO، وROW، وFIOPS. تعديلات الأداء. قابلة للتخصيص باستخدام Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) - نواة بسيطة وغير محملة بشكل زائد لـ Nexus 4 وHTC One X. تحسينات لـ Snapdragon S4 وNVIDIA Tegra 3، ووضع توفير الطاقة المعاد تصميمه لـ Tegra 3 ، القدرة على رفع تردد التشغيل، خوارزمية توفير الطاقة: تم ضبطها حسب الطلب (متوفرة أيضًا تفاعلية).
  • SiyahKernel - نواة لجهاز Galaxy S II وS III. خيارات مرنة لرفع تردد التشغيل، معايرة تلقائية للبطارية، برنامج تشغيل محسّن لشاشة اللمس، خوارزميات توفير الطاقة: SmartassV2 وlulzactiveV2، جدولة الإدخال/الإخراج: noop، الموعد النهائي، CFQ، BFQV3r2 (افتراضي)، V(R)، SIO. برامج تشغيل CIFS وNTFS (مع التثبيت التلقائي). قابل للتكوين باستخدام ExTweaks.
  • franco.Kernel - نواة لـ Nexus S وGalaxy Nexus وNexus 4 وNexus 7 وNexus 10 وGalaxy S III وGalaxy Note وOptimus One وOne X.

تختلف قدرات Kernel بشكل كبير من جهاز لآخر، لذا سيتعين عليك التحقق من التفاصيل في الموقع. ومع ذلك، من خلال وميض هذه النواة، ستحصل على القدرة على رفع تردد التشغيل، وضبط برنامج التشغيل، والأداء الممتاز، بالإضافة إلى دعم العديد من خوارزميات توفير الطاقة والمجدولين. في الواقع، تتضمن النواة تقريبًا جميع التعديلات الموضحة في المقالة. تعتبر واحدة من أفضل النوى المتاحة. يوجد تطبيق للتحديث التلقائي لـ Franko.Kernel Updater. يمكنك تكوينه باستخدام Trickster MOD.

كيفية تثبيت؟

يتم توزيع جميع النوى في أرشيفات Android ZIP القياسية، والتي يجب وميضها من خلال وحدة التحكم بالاسترداد بنفس طريقة البرامج الثابتة البديلة. عادة، تكون النواة متوافقة مع أي برنامج ثابت، لذلك بمجرد تحديد النواة الصحيحة، يمكنك تثبيتها بأمان. الشيء الوحيد الذي يجب عليك الانتباه إليه هو إصدار Android الذي تتوافق معه النواة. يمكن أن يكون مناسبًا لجميع إصدارات Android المتوفرة للجهاز، أو يعمل مع إصدار واحد فقط (يتحدث المطور عادةً عن هذا بشكل صريح). قبل تحديث البرنامج الثابت، تأكد من عمل نسخة احتياطية من البرنامج الثابت الحالي باستخدام نفس وحدة التحكم بالاسترداد. إذا حدث خطأ ما، يمكنك دائمًا التراجع.

الاستنتاجات

كما ترون، تتمتع النوى المخصصة بالعديد من المزايا مقارنة بالنوى المستخدمة في البرامج الثابتة القياسية أو التابعة لجهات خارجية. والأهم من ذلك هو أنك لا تحتاج إلى معرفة كل تعقيدات نظام Android لاستخدامها؛ فقط قم بتنزيل وتثبيت أرشيف ZIP.

لا يكون مستخدمو الأجهزة المحمولة راضين دائمًا عن تشغيل أدواتهم وإمكانياتها. لهذا السبب، يبحث المستخدمون عن أفضل طريقة لفلاش نواة نظام التشغيل Android. من ناحية، يمكن تنفيذ هذا الإجراء بسهولة باستخدام جهازك اللوحي أو هاتفك الذكي. لقد نجح آلاف المستخدمين في تفليش النواة دون أية صعوبات أو مشاكل. ولكن، من ناحية أخرى، فإن أي خطأ خلال هذه العملية يمكن أن يؤدي إلى مشاكل، بما في ذلك فشل الأداة والحاجة إلى خدمة باهظة الثمن. في مراحل مختلفة، هناك خطر اختيار الإصدار الخاطئ من برنامج kernel الثابت، الذي تم إنشاؤه بواسطة مطورين غير مؤهلين، أو غير مناسب لجهازك المحمول. نوصيك بتوخي الحذر الشديد عند تنفيذ أي إجراءات تؤدي إلى إجراء تغييرات على الجزء البرمجي بالجهاز على مستوى منخفض. بعد وميض النواة بنجاح، يشعر الكثير من الأشخاص وكأنهم يحملون جهازًا جديدًا تمامًا في أيديهم. وبالتالي، يمكن للمستخدمين المتقدمين تخصيص الأداة وفقًا لاحتياجاتهم وتفضيلاتهم، مع اكتساب معرفة وخبرة جديدة حول تقنيات الهاتف المحمول الحديثة.

نواة نظام التشغيل Android والبرامج الثابتة الخاصة به

ما هو جوهر الجهاز المحمول؟

نواة نظام التشغيل هي أساس البرنامج الذي يتحكم في أجهزة الجهاز. تعتمد المعلمات الأساسية لأي أداة على ذلك. تجدر الإشارة إلى أنه يتكون من ثلاثة مكونات مترابطة - Linux kernel، وجهاز Dalvik العمودي، والعديد من الخدمات والمكتبات ذات المستوى المنخفض. إذا كنا نتحدث عن البرامج الثابتة المخصصة، فسيتأثر مكونان فقط، مما يسمح لك بإضافة خدمات نظام جديدة، وتحسين المعلمات الموجودة وتغيير الغلاف الرسومي.

يجب على أولئك الذين يرغبون في تثبيت kernel على Android أن يفهموا أن هناك فرقًا بين مفهومي kernel المخصص والبرامج الثابتة المخصصة. هذا الأخير هو نسخة غير رسمية من البرنامج. تم تطوير البرامج الثابتة المخصصة بواسطة فريق من المتخصصين لأجهزة معينة. تعتمد النواة المخصصة على نواة لينكس، التي تمثل نسختها غير الرسمية. غالبًا ما تأتي النواة المخصصة مرفقة مع البرامج الثابتة. ولكن يمكن تثبيته بشكل منفصل بعد تغيير البرنامج الثابت. في الأساس، لا يحل محل النواة الأصلية للجهاز المحمول، وهو الهدف النهائي لمثل هذه العملية.

تم تصميم البرامج الثابتة لـ Android kernel بشكل أساسي لزيادة وقت تشغيل الجهاز لعدة ساعات عن طريق ضبط معلمات استهلاك الطاقة. ربما يكون هذا هو السبب الرئيسي وراء قيام المستخدمين بإجراء تحويلات معقدة لبرامج أدواتهم الذكية. ستسمح لك البرامج الثابتة بتغيير شريحة الفيديو دون عواقب على هاتفك الذكي أو جهازك اللوحي. يقوم المستخدمون المتقدمون بتخصيص الشاشة بهذه الطريقة، وتغيير عرض الألوان والحساسية. تتيح لك البرامج الثابتة لـ Kernel تحسين صوت الجهاز وتحديث برامج التشغيل وتقديم الدعم للأدوات الخارجية غير القياسية.

قبل وميض النواة، نوصي بالتأكد من أنك اخترت إصدارًا جيدًا تم إنشاؤه بواسطة مطورين ذوي خبرة. بالإضافة إلى ذلك، من المهم التأكد من أنه مناسب لإصدار البرنامج الثابت لنظام Android لديك. يُنصح بقراءة مراجعات الأشخاص الذين تمكنوا من تثبيت الإصدار المناسب من النواة على هواتفهم المحمولة. قد تحتوي المراجعات على معلومات مهمة حول المشكلات التي قد تنشأ في مرحلة البرامج الثابتة أو التشغيل الإضافي للجهاز.

وميض الأداة عبر Fastboot

يمكنك إعادة تحميل ملفات جهاز Android الخاص بك باستخدام Fastboot. لكن عليك أولاً تثبيت الأداة المساعدة على أداتك الذكية. هناك نسختان من هذا البرنامج. الأول يتضمن تنزيل Fastboot بالتزامن مع برنامج Android SDK الرسمي. يتضمن الإصدار الثاني تنزيل الأداة المساعدة بشكل منفصل.

نوصي بالتحقق مما إذا كان جهازك المحمول يمكنه رؤية الكمبيوتر المحمول أو الكمبيوتر الخاص بك. للقيام بذلك ما عليك القيام به. بعد تنزيل وتثبيت الأداة المساعدة Fastboot على جهاز الكمبيوتر أو الكمبيوتر المحمول الذي يعمل بنظام التشغيل Windows وتوصيل هاتفك الذكي، تحتاج إلى فتح سطر الأوامر. للقيام بذلك، افتح البحث. في نظام التشغيل Windows 8، للقيام بذلك، ما عليك سوى تحريك مؤشر الماوس إلى الجانب الأيمن من الشاشة وتحديد القسم المناسب. في البحث، تحتاج إلى إدخال "cmd"، وبعد ذلك سيظهر سطر الأوامر أمامك. يجب أن يتحول الجهاز إلى وضع البرامج الثابتة. بعد ذلك، يجب عليك إدخال الأمر الذي سيختبر التفاعل بين جهاز الكمبيوتر الخاص بك وجهازك المحمول:

أجهزة التشغيل السريع

إذا كان كل شيء يعمل، فأنت بحاجة إلى تنزيل الإصدار الصحيح من برنامج kernel الثابت boot.img. لا نوصي بوميض نواة البرنامج الثابت الأصلي، لأن ذلك قد يؤدي إلى مشاكل في تشغيل الهاتف الذكي. يجب حفظ الملف في قسم تم إنشاؤه مسبقًا على محرك الأقراص C يسمى "Android". بعد ذلك، تحتاج إلى تشغيل الجهاز المحمول في Fastboot وتوصيله بالكمبيوتر. ستظهر رسالة "Fastboot USB" على الشاشة.

  • القرص المضغوط C:\Android.
  • fastboot فلاش التمهيد boot.img.
  • Fastboot محو ذاكرة التخزين المؤقت.
  • إعادة التشغيل السريع.

من المهم جدًا إدخال جميع الكلمات بشكل صحيح، مع مراعاة حالة الأحرف والمسافات. يفتح الأمر cd المجلد المطلوب الذي يحتوي على الملفات المطلوبة. بعد ذلك، يحدث الوميض. يقوم أمر fastboot Erase Cache بحذف قسم ذاكرة التخزين المؤقت. الأمر الأخير - إعادة تشغيل fastboot يعيد تشغيل الجهاز من وضع البرنامج الثابت إلى الوضع الطبيعي. إذا قمت بتنفيذ كافة الخطوات المذكورة أعلاه بشكل صحيح، ستكون العملية ناجحة.

البرامج الثابتة باستخدام ClockworkMod Recovery

ClockworkMod Recovery (أو CWM للاختصار) هو نظام استرداد يتم استخدامه بدلاً من استرداد المصنع الأصلي. يتيح لك CWM تثبيت برامج ثابتة جديدة على جهاز محمول، وفلاش النواة، والنسخ الاحتياطي للملفات، واستعادة الغلاف. يمكن لمثل هذا النظام العمل مع ملفات تحديث البرامج الثابتة بتنسيق ZIP. تم تثبيت ClockworkMod ليحل محل استرداد المصنع. لبدء تشغيل CWM، تحتاج إلى معرفة مجموعة المفاتيح المناسبة لأداتك الذكية. في معظم الحالات، يكون هذا مزيجًا من زري خفض مستوى الصوت والطاقة اللذين يجب الضغط عليهما أثناء تشغيل الجهاز.

لتحديث البرنامج الثابت لـ kernel، قم بتنزيل الأرشيف بامتداد zip. يجب أن يحتوي على مجلد META-INF. ثم هناك خياران. في الحالة الأولى، تحتاج إلى تحديد ملف البرنامج الثابت. يتضمن الخيار الثاني وضع ملف البرنامج الثابت في المجلد /sdcard. بعد ذلك، يجب عليك تنشيط ClockworkMod Recovery، والعثور على وظيفة تطبيق التحديث من sdcard هناك وتحديد الملف المطلوب.

تجدر الإشارة إلى أن قائمة ClockworkMod Recovery مريحة ومفهومة لمعظم المستخدمين. بالإضافة إلى نظام استرداد البرامج الثابتة هذا، يمكنك استخدام TWRP Recovery. هذه الأداة مريحة وشائعة بين مستخدمي Android. الشيء الرئيسي هو تحديد ملف البرنامج الثابت الصحيح.

يعد وميض Android kernel إجراءً لا نوصي باللجوء إليه إذا كنت راضيًا تمامًا عن تشغيل الأداة. هذه الإجراءات مدفوعة بالرغبة في تحسين أداء الهاتف المحمول أو الجهاز اللوحي. يتمتع المستخدمون المتقدمون بفرصة تعيين المعلمات على مستوى أقل. ولكن دون معرفة معينة وأسباب موضوعية، من الأفضل عدم تغيير جزء البرنامج من الجهاز المحمول، لأن ذلك يرتبط بالمخاطر والأعطال في تشغيله.