شرح خطوات تحديث الكيرنل

Spread the love

السلام عليكم و رحمة الله
———————————————————————————
هذا الموضوع قمت بكتابته في احد المنتديات و انقله هنا ايضا لتعم الفائدة
——————————————————————————–

اشرح في هذا الموضوع الخطوات و الاوامر المتبعة في عملية تحديث الكيرنل …

السبب لكتابتي هذا الموضوع مع ان هناك العديد من المصادر على الانترنت , هو انني وجدت ان اغلب المصادر تتحدث عن الاوامر المتبعة و بعد الانتهاء من الاوامر الاغلب يقول ( لا تنسى تحديث اعدادات ال جرب grub.conf ) و لا اجد كيف … و اعتقد ان المستخدم الجديد خصوصا لن يستطيع التعامل مع هذا الملف لوحده

في البداية , من اين نحصل على الكيرنل الجديدة ؟
الموقع الرسمس للكيرنل و الذي يديرة لينوس ترافولد هو http://www.kernel.org و منه نستطيع الحصول على اخر اصدارة من الكيرنل او اي اصدارة قبلها

لماذا نقوم بعملية تحديث الكيرنل؟
– للحصول على دعم اكبر للهاردويير
– لتخصيص الكيرنل بما يتناسب مع المستخدم
– لزيادة كفاءة النظام و تحسين الاداء
– لزيادة المعرفة العلمية و العملية لنا
————————————————-

السلام عليكم و رحمة الله

الان نصل الى الاوامر و الخطوات المتبعة لتحديث الكيرنل

——————————————————————-
-في البداية قم بتغيير المستخدم الى ال رووت باستخدام امر su

– قم بنسخ الملف الخاص بالكيرنل الى /usr/src/

/cp linux-2.6.8.tar.gz /usr/src

-فك ضغط الملف
tar -zxvf linux-2.6.8.tar.gz

-غير موقعك الى داخل المجلد الذي تم انشاءه و هو بنفس اسم ملف الكيرنل
cd linux-2.6.8

-الان نستخدم الامر make mrproper و هذا لتنظيف النظام من اي ملفات تثبيت سابقة
make mrproper

-الان نأتي للخيارات المتاحة لنا في الكيرنل , هنا عندنا 4 اوامر نختار احدها و هي make oldconfig , make xconfig , make menuconfig , make config الافضل اختيار make xconfig او make menuconfig و ذلك لتوفر المساعدة و ايضا بعض التحذيرات , بالنسبة لي انا اختار make xconfig لانها بواجهة رسومية مريحة و واضحة
make xconfig

– بعد ذلك للتأكد من التوافقية نكتب make dep
make dep

-الان نقوم ببناء bzImage باستخدام الامر
make bzImage

-ثم نقوم ببناء المودلز التى اخترناها باستخدام الامر
make modules

– الان نقوم بنسخ ال image الى مجلد boot
cp /usr/src/linux-2.6.8/arch/i386/boot/bzImage /boot/vmlinuz-2.6.8

-الان نقوم بعمل تثبيت للمودلز باستخدام الامر
make modules_installحيث يقوم هذا الامر ملف system.map

-الان ننسخ ملف system.map الى مجلد boot
cp /usr/src/linux2.6.8/System.map /boot/System.map-2.6.8

-نعود الى مجلد /usr/src
.. cd

-بالنسبة لي انا اقوم بازالة اللينك الى الكيرنل القديمة
rm linux-2.4

-ثم قمت بعمل لينك جديد للكيرنل الجديدة
ln -s linux-2.6.8 linux-2.6

بالنسبة لاخر خطوتين لا ادري مدى اهميتها لكن بعض اصدقائي لا يقومون بعملها , و لا يتأثر النظام :confused:

هكذا نكون قد انزلنا الكيرنل الجديدة 😀

ملاحظات : الالوان بالاحمر هي الاوامر التي تقوم بكتابتها في التيرمنل , اما باقى الامور فهي للشرح و التوضيح
————————————————————————————————–

السلام عليكم و رحمة الله

الان وصلنا الى الجزء الذي من اجله قمت بكتابة الموضوع

ما هي التعديلات على ملف grub.conf ؟

اولا الملف موجود في المكان التالي : etc/grub.conf/

– في البداية انصح بطباعة الملف او كتابته ( لا يوجد العديد من الاسطر فيه ) و ذلك للاحتياط

– كوننا في التيرمنل نقوم باستخدام محرر vi للتعديل على الملف
vi /etc/grub.conf

-شكل الملف سيبدو كالتالى على الارجح

[LEFT]grub.conf generated by anaconda#
note that you dont have to rerun grub after making changes to this file#
NOTICE : you dont have a /boot partition . this mean that#
/all kenel and initrd paths are relative to #
eg #
root (hd(0,7)#
boot=/dev/hda#

default=1
timeout=10
splashimage=(hd0,7) / bootgrub/splash.xpm.gz
title Redhat Linux (2.4.20-8)
root (hd0,7)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /boot/initrd-2.4.20-8.img

title Windows2000
rootnoverify (hd0,0)
chainloader +1[/LEFT]
-هنا عندي 2 title لانو عندي لينكس ريدهات و ايضا وندوز 2000 على نفس الهارد دسك
– الاجزاء المسبوقة ب # لا يجب علينا تغيرها
-لا انصح بحذف الاسطر الخاصة بالكيرنل القديمة و كتابة التعديلات للكيرنل الجديدة بدالها او فوقها و انما انشاء اسطر جديدة لتعريف الكيرنل الجديدة , و ذلك لانه يمكن ان يخطئ الشخص او يكون قد عمل تنزيل للكيرنل بطريقة خاطئة
فالافضل ان تبقي الاعدادات القديمة و ذلك لاستعمالها عند الحاجة
—————————————————————————-

الان نضيف الاسطر التالية لتعريف الكيرنل الجديدة

تحت اخر سطر نضيف الاسطر التالية
[LEFT]
title Red Hat Linux (2.6.8)
root (hd0,7)
kernel /boot/vmlinuz-2.6.8 ro root=/dev/hda8 hdc=ide-scsi[/LEFT]
-لاحظ ان الرووت موجود عندي على hda8
-لاحظ السطر باللون الازرق , اضف 1 الى الرقم الموجود يصبح عندك رقم ال hda

-الان نقوم بعمل اعادة تشغيل للجهاز
reboot

بعد اعادة التشغيل تجد الخيار
Red Hat Linux (2.6.8)
موجود بالقائمة , اذا كانت جميع الاوامر سليمة يمكنك التمتع بالكيرنل الجديدة 😀

——————————————————————————————————–

بعض المشاكل التى قد تواجهك بعد اختيار الكيرنل الجديدة 😡

*kernil panic 😮

الحل : تأكد من الاسطر لل grub.conf
و تأكد من انك حددت مكان الرووت , و انك لم تتركه LABEL= لان هذا الخيار يتحدد عند عمل install للريدهات
و ال grub لن يفهمه بالنسبة للكيرنل الجديدة حيث عليك تحديد مكان الرووت يدويا لاحظ الجملة التى تحتها خط

*file not found 🙁

الحل : تأكد من انك لم تضف السطر التالى الى اعدادات الكيرنل الجديدة
initrd /boot/initrd-2.4.20-8.img

*نسيت و قمت بحذف الاعدادات القديمة و لم تعمل معي الكيرنل الجديدة 😮
الحل : استخد السي دي الاول للرد هات و بوت منه , ثم اكتب linux rescue
بعد ذلك chroot /mnt/sysimage
و الان يمكنك استخدام vi لاعادة كتابة الاسطر الخاصة بالكيرنل القديمة , و التعديل على اسطر الكيرنل الجديدة
——————————————————————————————————–

كيف تستخدم برنامج vi
بعد كتابة vi /etc/grub.conf

اضغط الحرف i و معناه insert و ذلك للاضافة , حتى تقوم باضافة الاسطر الجديدة
للحذف يمكنك استخدام delete العادية
بعد عملية الاضافة اضغط مفتاح Esc للخروج من مرحلة ال edit

لحذف سطر كامل اضغط Esc ثم اذهب لاول السطر و اضغط مفتاح d مرتين متتاليتين

بعد الانتهاء من التعديل اكتب : ثم wq! و ذلك للخروج و حفظ التعديلات
————————————————————————————————–

اتمنى ان اكون قد وفقت بنقل صورة واضحة حول عملية تحديث الكيرنل 😀
و اعتذر من مستخدمي ال lilo ولكنى لم استعمله لذلك لا اعرف اعداداته بالنسبة لاضافة الكيرنل الجديدة , اتمنى من احد مستخدمي lilo ان يقوم بتوضيح التعدبل لنا =================

للمزيد

http://www.s4a.cc/forum/showthread.php?t=517

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة