يبدو أن العديد منكم قد واجه مشكلة في تثبيت تم تجميع Kernel مسبقًا باستخدام التصحيح 200 سطر على أجهزتك ، هذا أمر متوقع ، لذلك من الأفضل دائمًا أن يكون لديك ملف نواة تم تجميعها مباشرة في أجهزتنا بدلاً من آلة غريبة ، بحيث تأخذ بنية أجهزتنا والتكوين العام للأجهزة بشكل صحيح.
لهذا السبب ، أقوم هنا بتدريس أكثر الأشخاص جرأة ، كيفية تجميع Kernel الخاصة بهم (2.6.36.2) في Ubuntu (تم اختباره في أوبونتو 10.10) مع التصحيح 200 سطر المضمنة فيه. تذكر أن هذه العملية يجب أن تتم على مسؤوليتك الخاصة ، فهي تتطلب عددًا كبيرًا من الحزم للتنزيل ووقت تجميع طويل إلى حد ما.
للبدء ، أول شيء يجب علينا القيام به هو تثبيت التبعيات الضرورية لتجميع النواة عن طريق تنفيذ السطر التالي في المحطة:
sudo apt-get install fakeroot build-basic تحطم أدوات kexec makedumpfile kernel-wedge kernel-package
الآن دعنا ننفذ السطر التالي في المحطة ، وهو أمر ضروري لتجميع Kernel (from مقدام)
sudo apt-get build-dep linux
ننتهي من هذه الخطوة الأولى بتثبيت الحزم الأخرى اللازمة لعملية التجميع
sudo apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
لمتابعة عملية تثبيت kernel ، يجب علينا تنزيل مصادر أحدث إصدار ثابت kernel (2.6.36.2) و patch من مايك جالبريث وحدد موقعهم في دليلنا الشخصي.
لنقم بإنشاء دليل لتجميع النواة ، ونضع أنفسنا فيه وننزل مصادر النواة منه kernel.org:
mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz
نقوم الآن بإنشاء ملف نصي جديد وسنقوم بنسخ الكود الذي سنجده في منشور Mike Galbraith أو يمكننا تنزيله من MediaFire وحفظ الملف وإغلاقه:
gedit ~ / autogroup.patch
المنصب الرسمي لمايك جالبريث
مايك جالبريث باتش من ميديا فاير
سنقوم الآن بفك ضغط Kernel الذي قمنا بتنزيله للتو من kernel.org:
tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch
في هذه المرحلة ، يجب أن يسير كل شيء على ما يرام وبدون أخطاء ، في حالة حدوث خطأ ، من الضروري إعادة تشغيل العملية.
بعد ذلك سنقوم بتحميل التكوين الحالي لـ Kernel ، بحيث يأخذ Kernel الجديد التكوين مباشرة من نظامنا ولن نواجه أي مشكلة عند تجميعه. ومع ذلك ، إذا كانت لديك معرفة كافية ، يمكنك تخصيص تكوين kernel للحصول على نظام أكثر ملاءمة لاحتياجاتك ، يمكنك ذلك.
إذا كنت لا تعرف ما تفعله ، فمن الأفضل عدم تعديل تكوين kernel يدويًا.
نقوم بنسخ التكوين عن طريق تنفيذ الأمر التالي في المحطة ثم نقوم بتنفيذه لاحقًا
lsmod
حتى يتم تنفيذ جميع الوحدات التي تم تحميلها في نظامنا ونتأكد من التعرف على جميع أجهزتنا.
cp -vi / boot / config-`uname -r`. config جعل localmodconfig
في هذه المرحلة ، ستطرح عليك عملية التجميع عدة أسئلة حول الوحدات ، استمر في قبول جميع الأسئلة التي يتم طرحها بالضغط أدخل حتى اكتمال عملية الإعداد.
نواصل تجميع النواة بتنفيذ السطر التالي في المحطة لفتح قائمة تكوين النواة:
cp / boot / config - $ (uname -r) .config && yes "" | جعل oldconfig جعل menuconfig
الآن يمكننا اختيار التصحيحات التي نريد تمكينها في Kernel ، نظرًا لأننا مهتمون بالتصحيح المكون من 200 سطر.
للقيام بذلك ، ننتقل عبر قائمة تكوين kernel التي تظهر ، حتى
General Setup
ونبحث عن السطر الذي يحمل الاسم
Automatic process group scheduling
، نقوم بتمكينه عن طريق الضغط على مفتاح المسافة على لوحة المفاتيح الخاصة بنا ، ونضع أنفسنا على الخيار
Exit
باستخدام مفاتيح الأسهم على لوحة المفاتيح واضغط على المفتاح أدخل من لوحة المفاتيح لدينا للخروج من القائمة
General Setup
.
الآن ننتقل إلى القائمة
Kernel hacking
وندخل بالضغط على المفتاح أدخل، نبحث عن الخيار
Compile the kernel with debug info
ونلغي تحديده بالضغط على مفتاح المسافة على لوحة المفاتيح الخاصة بنا ، مرة أخرى ننتقل إلى الخيار
Exit
ونضغط أدخل للخروج من القائمة الرئيسية.
لقد انتهينا من تكوين kernel ، لذلك علينا فقط العودة إلى
Exit
في القائمة الرئيسية واضغط على أدخل لإنهاء تكوين النواة. نحن نقبل عندما يسألنا ما إذا كنا نريد حفظ التغييرات التي تم إجراؤها على تكوين kernel بالضغط على Enter في خيار Yes.
الآن نعم ، سنقوم بتجميع النواة بتنفيذ السطر التالي في المحطة:
fakeroot make-kpkg --initrd - ملحق بالإصدار = -20101209 رؤوس kernel-image kernel
يرجى ملاحظة أن عملية الإنشاء قد تختلف حسب أجهزتك
سيؤدي هذا إلى إنشاء حزمتي .deb داخل دليل kernel-2.6.36.2 ، والتي سنستخدمها لتثبيت Kernel الجديد في Ubuntu الخاص بنا مما يتيح إمكانية تتبعها بواسطة متشابك وقابل للإزالة بسهولة.
وصلنا إلى الجزء الأخير من هذا البرنامج التعليمي ، حيث سنقوم بتثبيت واختبار الأداء السليم لـ Kernel الجديد الذي قمنا بتثبيته للتو.
لتثبيت حزمتي .deb التي أنشأناها للتو ، يجب علينا تنفيذ الأمر التالي في الجهاز:
القرص المضغوط .. sudo dpkg -i * .deb
إذا سارت الأمور على ما يرام ، فقد أعدنا تشغيل الجهاز وفي قائمة نكش، نختار Kernel الجديد (2.6.36.2) ونضغط أدخل لبدء النظام.
بمجرد عودتنا إلى سطح المكتب ، سوف نتحقق من تطبيق التصحيح المكون من 200 سطر بشكل صحيح والعمل عن طريق تنفيذ السطر التالي في المحطة:
القط /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i مجموعة تلقائية
وعليها إرجاع سطر مثل هذا:
CONFIG_SCHED_AUTOGROUP = ص
إذا كان الأمر كذلك ، فلدينا نظامنا يعمل معها. نواة 2.36.6.2 و "جدولة مجموعة العمليات التلقائية" مفعل.
يمكننا بالفعل التأكيد على Ubuntu إلى أقصى حد ...
يأتي هذا الدليل إليك بفضل جهود فرانكوبيب.
أهلا ديفيد
سؤالي هو:
عادةً ما أستخدم حبات ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)
هذه لم تعد تأتي مع التصحيح 200 سطر المدرجة؟
شكر
انظر ، ما زلت أتحقق لمعرفة ما إذا كانت نواة Ubuntu PPA تحتوي على التصحيح ، ولكن من السهل اكتشاف ذلك بنفسك ، فقط قم بتشغيل الأمر
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
، حيث يمكنك تغيير النص الموجود داخل الأقواس لإصدار أحدث نواة على جهازك.إذا تلقيت رسالة رد مثل هذه
CONFIG_SCHED_AUTOGROUP=y
، ثم يكون لديك التصحيح مثبتًا.ملاحظة: لمعرفة إصدار جميع النواة المثبتة على جهاز الكمبيوتر الخاص بك ، عليك فقط تنفيذ الأمر
ls /usr/src/
في المحطة.هوراسيو ، Ubuntu PPA Kernel لديه حاليًا التصحيح V4 من مايك غلابريث على حد قوله تيم غاردنر (المطور الكنسي).
حسنًا ، لقد قمت بالفعل بتجميعه وتم تثبيته ،…. على الأقل لم يمت النظام الآن ليعمل ليرى كيف يعمل
تعليمي ممتاز. اتبعت الخطوات حرفيا وعمل كل شيء على أكمل وجه. لدي نواة جديدة.
ملاحظة: لقد أجريت تغييرًا واحدًا بدا منطقيًا بالنسبة لي وكان هنا:
cp -vi / boot / config-`uname -r`. config
جعل localmodconfig
لقد فعلت ذلك مثل هذا:
cp -vi / boot / config-`uname -r`. config
lsmod
جعل localmodconfig
أدرك الآن أنني ارتكبت خطأً بسيطًا ، لذا سأعيد تثبيته ... وأضف تعديل irving
أبقى في البداية:
init: عملية رئيسية غير مقروءة (362) منتهية بالحالة 5
حسنًا ، يبدو أنه يعمل بشكل جيد ، ماذا يمكن أن يكون ؟؟؟
حسنًا ، الدليل جيد جدًا ، لقد نشروه أيضًا على taringa ، في هذه اللحظة يتم تجميع النواة ، آمل أن يكون قد سارت الأمور على ما يرام ، لقد قمت فقط بتغيير نوع المعالج في menuconfig ، وآمل أن تكون قد اخترت جيدًا باختيار Intel core / أحدث xeon منذ أن لدي معالج intel core i3 ، تحياتي وشكرًا على المدخلات
مرحبًا ، حسنًا ، الأمر يبدو أفضل بالنسبة لي
cp / boot / config-`uname –kernel-release` ./.config
لأنه يستخدم أحدث تكوين kernel مثبت
مرحبًا ، كيف حالك؟ ليس لدي سوى شك بسيط ... في ملف kernel يأتي كلا الإصدارين 32 بت و 64 بت؟ أو للحصول على إصدار amd64 ، هل أحتاج إلى تنزيل إصدار مختلف؟ ... بالخصم ، يجب أن يأتي كلا الإصدارين بنفس الحق؟ ... شرح جيد جدًا!
بفضل!