تخصيص kernel ليس للجميع. يرجى ملاحظة قبل محاولة أي من هذا أنه يمكن أن يكسر النظام الخاص بك.

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

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

للبدء ، نحتاج إلى معرفة أي إصدار من النواة التي نديرها حاليًا. سنستخدم الأمر uname لذلك

$ uname -r

2.6.17-10-generic

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

sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot

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

$ dpkg -L linux-source-2.6.17/./usr/usr/src/usr/src/linux-source-2.6.17.tar.bz2/usr/share/usr/share/doc/usr/share/doc/linux-source-2.6.17 (trimmed)

يمكننا أن نرى أن المصدر قد تم تركيبه في دليل / usr / src في ملف مضغوط.

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

sudo /bin/bash

الآن تغيير الدليل إلى الموقع المصدر حتى نتمكن من تثبيت. لاحظ أنك قد تحتاج إلى تثبيت الأداة المساعدة bunzip إذا لم تكن مثبتة. (كان في الأعمال المتعلقة بالألغام)

cd /usr/src

bunzip2 linux-source-2.6.17.tar.bz2

tar xvf linux-source-2.6.17.tar

ln -s linux-source-2.6.17 linux

قم بإنشاء نسخة من تكوين kernel الموجود لديك لاستخدامها في عملية الترجمة المخصصة. لاحظ أن الحرف هو الحرف الموجود أسفل التلدة ~

cp /boot/config-`uname -r` /usr/src/linux/.config

الآن سنطلق الأداة التي تتيح لنا تخصيص النواة:

cd /usr/src/linux

make menuconfig

أولاً ، انتقل إلى "تحميل ملف تهيئة بديل" ، ثم قم بتحميل ملف .config. (فقط اضغط على دخول)

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

دعم راديو الهواة؟ ما الذي تم تثبيته في الجحيم؟ ستلاحظ من خلال * أنه مدمج في النواة.

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

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

عندما تنتهي من إجراء أي اختيارات تريدها ، اضغط على "إنهاء" واحفظ التكوين عند مطالبتك بذلك.

الآن لدينا تكوين جاهزة لتجميع. سنقوم أولاً بإجراء عملية تنظيف ، للتأكد من أن كل شيء جاهز للتجميع.

make-kpkg clean

بعد ذلك سنقوم بالفعل بتجميع النواة. سيستغرق هذا وقتًا طويلًا ، لذا انتقل إلى العثور على شيء مثير للاهتمام.

fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers

ستقوم هذه العملية بإنشاء ملفين .deb في / usr / src تحتوي على kernel. ملف linux-image **** هو صورة kernel الفعلية ، ويحتوي الملف الآخر على البرنامج الذي يمكنك تثبيته مع dpkg. من المحتمل أن تكون أسماء الملفات مختلفة على نظامك.

يرجى ملاحظة أنه عند تشغيل هذه الأوامر التالية ، سيؤدي هذا إلى تعيين kernel الجديد كنواة افتراضية جديدة. هذا يمكن أن يكسر الأشياء! إذا لم يتم تشغيل جهازك ، فيمكنك الوصول إلى Esc في قائمة تحميل GRUB ، وتحديد النواة القديمة. يمكنك بعد ذلك تعطيل kernel في / boot/grub/menu.lst أو محاولة ترجمة مرة أخرى.

dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

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

uname -r

2.6.17.14-ubuntu1-custom

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

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

أعلى نصائح:
التعليقات: