Home Previous Up Next4.7 كيف تبني نواة لينكس ال kernel
حول
المحتويات
مشاريع
ثواب
مقالات
تنزيل
English

4.7 كيف تبني نواة لينكس ال kernel

اقتباسات هذا الفصل:

  • "'لا تستطيع استعمال حاسوب دون أن تصنف نواة نظام التشغيل بيديك' من يخرق هذا القانون سوف 'يعاقب' بالكثير من المشاكل الحاسوبية!!"
        -- Alavoor Vasudevan (المعروف باسم AlDev)
  • "يجب أن نصل إلى الحالة التالية ‘فقط ركب نواة حديثة وفجأةً سيتسع نظام الملفات إلى 20% مساحة إضافية بنفس السعر!‘ (...)"
        -- لينوس تورفلدز على LKML.

محتويات هذا الفصل:

4.7.1 لماذا أفعل هذا

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

  • قمة الموثوقية والأمان لأنك تبنيها بيديك
  • تتعرف على خفايا لم تسمع عنها من قبل أثناء تحديد الإعدادات
  • تحصل على نواة جديدة من الجيل الجديد قبل أن تنزل توزيعة تحملها وتتمتع بالمزايا قبل الآخرين
  • بعض التعريفات بحاجة إلى نواة جديدة أو يكون الدعم أقوى في النواة الجديدة مثلا تعريف الصوت ALSA في أنوية 2.6 بدلا من OSS الذي يعطيك المزيد من الفعالية لبطاقة الصوت وتعريف ntfs فيها في طور الكتابة أيضا آمن
  • قد تضطر أن تركب نواة قديمة من أجل برامج تعريف لأجهزة منقرضة مثل مودم موتورولا SM56 الذي توقفت عن انتاجه وتطوير تعريفاته فهو لا يعمل سوى على أنوية 2.4.5 فقط
  • تستطيع أن تعمل نواة صغيرة أو سريعة بحسب احتياجاتك والتحكم بأي التعريفات ستكون داخل النواة وأيها تكون وحدات مضافة modules وأيها غير موجودة
  • وجود الملف المصدري للنواة يساعدك أحيانا كثيرة لأنه يحتوي على شروحات وملفات مساعدة إضافة إلى التعليقات داخل ملفات ال C

4.7.1 من أين أحصل عليها

يمكنك الحصول على نواة قديمة نسبيا مع التوزيعة أما للحصول على أي اصدار تريد يمكنك تنزيلها من موقع www.kernel.org حيث ستجد ما تريد، لاحظ أن الحزمة لا تسمى kernel بل linux.

4.7.3 لنبدأ

انسخ الملف المضغوط وفك ضغطه في المجلد /usr/src/linux إذا كان هناك أكثر من نواة أو كانت في مكان آخر اعمل وصلة بأمر ln إلى ذلك المكان مثلاً بالأمر cd /usr/src; ln -s linux-2.4.22 linux. قم بازالة الملفات غير الضرورية make clean ; make mrproper حتى لو لم تكن موجودة. ، انسخ الإعدادات من مرات سابقة أو اعمل إعدادات جديدة بواسطة قائمة نصية make menuconfig أو رسومية بشعة make xconfig ، اعمل الملفات والأدوات التي يحتاجها make dep واعمل النواة ب make bzImage وهذا يأخذ وقت طويل ، وفي نفس الوقت اعمل الملفات الإضافية modules وذلك ب make modules وتركيبها (نقلها إلى الدليل المناسب) وذلك ب make modules_install عند انهاء العملية اضف الخيار إلى lilo/grub وأعد تشغيل الجهاز اذا كان كل شيء على مايرام تستطيع حذف الملفات الزائدة، واذا كنت تريد توزيعها تستطيع عمل ملف rpm. هذه الأوامر (جربها أولاً دون nohup إذا كنت لم تتعامل مع هذه الأداة) ،

bash$ su
bash# cd /usr/src
bash# ln -sf linux-2.4.24 linux
bash# cd linux
bash# pwd
/usr/src/linux
bash# make clean ; make mrproper
bash# make menuconfig
bash# make dep
bash# nohup make bzImage & 
# you can see the file nohup.out by tail -f nohup.out
bash# nohup make modules 1> mod.out 2> mod.err & 
# to check the progress tail -f mod.out or tail -f mod.err
# wait to finish making the modules then type
bash# make modules_install
# wait to finish making the kernel then type
bash# cp /usr/src/linux/arch/i386/boot/bzImage /boot
# remove intermedite files do
bash# make clean
# if you wnt you can make rpm
bash# make rpm
فشلت لماذا؟ انظر الرسالة على الشاشة أو في ملف nohup.out وحدد السبب. إذا طلب منك حزمة معينة فتأكد أن تكون هي وحزمة التطوير الخاصة بها مركبة مثلاً ncurses و ncurses-devel (أو ncurses-dev) وهكذا. طبعاً إضافة لمصنف سي و سي++ ومكتبتهما glibc-devel ...

 تلميح

يمكنك اعطاء اسم فريد للنواة التي أعددتها بفتح ملف Makefile وتحرير سطر وعدل قيمة ال EXTRAVERSION

 تلميح

استبدل كل bzImage ب zImage لعمل نواة عادية مضغوطة بطريقة z (أي vmlinuz) بدلا من النواة العملاقة المضغوطة بطريقة bz2

 تلميح

يمكن تسريع عملية التصنيف بوضع الخيار -jN حيث N هي عدد مثلاً make modules -j2 حيث سيتم تشغيل عمليتان process مصنفان compilers دفعة واحدة. رقم N الذي تنصح به بعض وثائق HOWTO (TLDP) عند تصنيف modules هو ححم الرام بالميغا مقسوم على 8 ثم جمع واحد.

4.7.4 اختيار الإعدادات

هذه أهم الملاحظات

  • اختيار نوع المعالج ليتناسب مع الذي لديك مثلا Pentium I سيعمل على Pentium IV وليس العكس ولكن الأخير سيعمل بشكل أسرع من الأول
  • اختر SMP إذا كنت تريد أكثر من معالج !!
  • تأكد من طلب دعم modules وهي وحدات اضافية يتم تحميلها وقت الحاجة فقط أي عند استخدام الجهاز الذي تعرفه وعند انهاء عمله تزال من الذاكرة يجب أن تتأكد من اختيار ‘kernel module loader‘ و ‘loadable module support‘ إلا إذا كنت تعرف بالضبط ماذا تفعل.
  • ضع دعم للأنظمة ext2 و ext3 و vfat و msdos و minix كجزء من النواة وليس وحدة اضافية أما الأنظمة الأخرى مثل reiserfs و ntfs و hpfs و jfs و xfs لأنها نادرة الإستخدام ضعها على شكل وحدات اضافية ولا تحذفها
  • إذا كان برنامج menuconfig لايظهر بشكل مناسب مناسبة اكتب export TERM=linux أو export TERM=ansi ثم نفذه من جيد وإذا لم تعجبك فكرة القوائم النصية جرب make xconfig

المحتويات
حقوق النسخ والملكية الفكرة
ما هو لينكس؟
كيف تركب نظام لينكس؟
حقوق النسخ المرفوعة
وثائق التخويف

عرب-آيز
مجتمع لينكس العربي
موسوعة ثواب
موسوعة ويكيبيديا
تعريف البرمجيات الحرة
تعريف مفتوحة المصدر
LinuxToday
Linux.org
Linux.com
SlashDot
FreshMeat
LWN.net
توزيعات لينكس
النسخة الإسلامية لأوبنتو
عَرَبيان
جواثا (أول مسجد في أوروبا)
المزيد من التوزيعات هنا

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

 

ننصح باستخدام متصفحات الوب الحرة، جرب ثعلب النار الآن

يمكنك الحصول على الكثير من البرامج الحرة عالية الجودة من هنا مجاناً
proud to be 100% Microsoft FREE GNU FDL
التدخين حرام

كن كحامل المسك ولا تكن كنافخ الكير

Generously Hosted by www.JadMadi.net

Previous Up 4.7 كيف تبني نواة لينكس ال kernel Next
Copyright © 2007, Muayyad Saleh AlSadi