إعادة وميض جوهر جهاز android. نظرة عامة على الميزات الأساسية لإصدار android 3.10 65 kernel

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

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

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

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

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

  • من الممكن الآن حظر تنفيذ البرامج النصية كبرامج - يمكن الآن تجميع وظيفة تشغيل البرامج النصية التي تحتوي على المسار إلى المترجم في العنوان "#!" كوحدة نمطية kernel ؛
  • تم دمج نظام Bcache الذي تم تطويره واستخدامه بواسطة Google. يسمح لك Bcache بتنظيم التخزين المؤقت للوصول إلى محركات الأقراص الثابتة البطيئة على محركات أقراص SSD السريعة ؛ في هذه الحالة ، يتم إجراء التخزين المؤقت على مستوى جهاز الكتلة - وهذا يسمح لك بتسريع الوصول إلى محرك الأقراص ، وبغض النظر عن أنظمة الملفات المستخدمة على الجهاز ؛
  • يمكن بناء النواة باستخدام مترجم Clang بفضل التصحيحات التي أعدها مشروع LLVMLinux ؛
  • ظهر نظام ديناميكي للتحكم في توليد المقاطعات بواسطة المؤقت. الآن ، اعتمادًا على الحالة الحالية ، يمكنك تغيير المقاطعات في النطاق من آلاف العلامات في الثانية إلى مقاطعة واحدة في الثانية - وهذا يسمح لك بتقليل الحمل على وحدة المعالجة المركزية عند معالجة المقاطعات في حالة عدم نشاط النظام. تُستخدم هذه الميزة الآن لأنظمة الوقت الفعلي و HPC (الحوسبة عالية الأداء) ، ولكن في إصدارات kernel التالية سيتم استخدامها لأنظمة سطح المكتب أيضًا ؛
  • من الممكن الآن إنشاء حدث لإخطار التطبيق عن نهج استنفاد الذاكرة المتاحة للعملية / النظام (في cgroups) ؛
  • لأمر 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.

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

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

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

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

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

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

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

الأداة الثابتة للأداة عبر Fastboot

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

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

أجهزة fastboot

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

  • cd C: \ Android.
  • تحميل برنامج fastboot flash boot.img.
  • fastboot محو ذاكرة التخزين المؤقت.
  • إعادة تشغيل fastboot.

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

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

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

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

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

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

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

مقدمة

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

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


العمارة العامة

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

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

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

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

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

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

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

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

Badness_for_task = total_vm_for_task / (sqrt (cpu_time_in_seconds) *
الجذر التربيعي (الجذر التربيعي (cpu_time_in_minutes)))

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

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

استنتاج

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

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

نواة مخصصة؟

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

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

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

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

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

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


الاقوي

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



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

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

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

# cat / sys / block / * / queue / Scheduler

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

# لـ i in / 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 ، يعمل برنامج التشغيل نفسه كتطبيق Linux) ، وهو أمر ضروري لتحميل محركات أقراص فلاش مهيأة في نظام ملفات NTFS. يتوفر برنامج التشغيل هذا في نواة faux123 و SiyahKernel. عادة ما يتم تنشيطه تلقائيًا ، ولكن إذا لم يحدث ذلك ، يمكنك استخدام تطبيق StickMount من السوق.

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

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

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

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

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

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

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

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

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

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

واجهات الإدارة

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

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

حبات

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

  • Leankernel هو نواة هواتف Galaxy Nexus و Nexus 7 و Galaxy S III. ينصب التركيز الرئيسي للتطوير على البساطة وسرعة العمل. خوارزمية توفير الطاقة: InteractiveX V2 ، I / O: جدولة ROW ، جميع واجهات التحكم المذكورة أعلاه ، دعم شحن USB السريع ، Swap and zram ، خيارات رفع تردد تشغيل وحدة المعالجة المركزية ووحدة معالجة الرسومات المرنة. واحدة من أفضل الألباب. قابل للتكوين مع Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI، goo.gl/ZcyvA) - نواة لـ Nexus S و Nexus 4. نواة بسيطة وغير محملة بشكل زائد. يدعم رفع تردد التشغيل لوحدة المعالجة المركزية ووحدة معالجة الرسومات ، و GammaControl ، و Fast USB Charge ، و Sweep2wake ، وجدولة I / O: 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 ، القدرة على رفع تردد التشغيل ، خوارزمية توفير الطاقة: ضبطها بواسطة OnDemand (التفاعلية متاحة أيضًا).
  • 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.

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

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

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

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

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

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

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

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

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

بعد اكتمال التنزيل ، يمكنك متابعة التثبيت. للقيام بذلك ، قم بما يلي في الجهاز:

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

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

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

sudo apt-get install gdebi

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

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

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

sudo update-grub

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

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

التحديث التلقائي لنواة لينكس في أوبونتو

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

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

cd / tmp
git clone git: //github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater / install

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

KernelUpdateChecker -r yakkety

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

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

هنا يمكننا أن نرى أنه تم إجراء بحث عن yakkety ، وأن إصدار kernel 4.7-rc6 متاح حاليًا. يمكننا تثبيت:

sudo / tmp / kernel-update

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

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

تم ، اكتمل تحديث kernel إلى أحدث إصدار ، والآن أعد تشغيل الكمبيوتر (y):

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

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

vi ~ / .config / autostart / KernelUpdate.desktop

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

rm ~ / .config / تشغيل تلقائي / KernelUpdate.desktop
$ sudo rm / usr / local / bin / KernelUpdate (Checker، ScriptGenerator)

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

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

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

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

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

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

sudo update-grub

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

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

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

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

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

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

rpm - استيراد https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

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

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum install yum-plugin-fastmirror

فيدورا 22 وما بعده: