4.7 ابني نواة لينكس بنفسك | كتاب لينكس الشامل | >> |
بناء نواة لينكس تجربة مسلية جدا وعلى كل من يريد أن يسمي نفسه مستخدم لينكس محترف أن يجربها ليس لأنها صعبة بل ليعرف كل تلك الأشياء التي تقوم بها النواة وعلى أي حال هذه أهم الأسباب
يمكنك الحصول على نواة قديمة نسبيا مع التوزيعة أما للحصول على أي اصدار تريد يمكنك تنزيلها من موقع www.kernel.org حيث ستجد ما تريد، لاحظ أن الحزمة لا تسمى kernel بل linux.
انسخ الملف المضغوط وفك ضغطه في المجلد /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
يمكنك اعطاء اسم فريد للنواة التي أعددتها بفتح
ملف Makefile
وتحرير سطر وعدل قيمة ال
EXTRAVERSION
استبدل كل bzImage ب zImage لعمل نواة عادية مضغوطة بطريقة z (أي vmlinuz) بدلا من النواة العملاقة المضغوطة بطريقة bz2
يمكن تسريع عملية التصنيف بوضع الخيار -jN
حيث N هي عدد مثلاً make modules -j2
حيث سيتم تشغيل عمليتان process مصنفان compilers دفعة واحدة.
رقم N الذي تنصح به بعض وثائق HOWTO (TLDP) عند تصنيف modules هو ححم الرام
بالميغا مقسوم على 8 ثم جمع واحد.
هذه أهم الملاحظات
export TERM=linux
أو
export TERM=ansi
ثم نفذه من جيد وإذا لم تعجبك فكرة القوائم النصية جرب
make xconfig
<< السابق | كتاب لينكس الشامل | التالي >> |