كيفية عمل Patch للكيرنل

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

الكثير من الأحيان يظن البعض إن عند نزول نسخة جديدة من الكيرنل يجب أن نقوم بتحميلها بالكامل وعمل كومبايل لها ومن ثم تنصيبها … طبعاً بالنسبة للذين لديهم خطوط أنترنت عالية ليست بمشكلة كبيرة .. بإمكانهم تنزيل الكيرنل الجديد من الموقع الرسمي Kernel.org وعمل Config له ومن ثم عمل Compile ومن ثم تنصيبه … لكن بالنسبة للذين يبحثون عن السرعة أو طريقة أخرى فأليكم هذه الدرس البسيط الذي سأذكر فيه كيفية عمل Patch للكيرنل …

لنفرض لديك الكيرنل رقم linux-2.6.16 وتريد تعمل ترقية للكيرنل الى النسخة linux-2.6.17 كل الذي عليك فعله هو أن تذهب الى الموقع الرسمي هنا وتحميل من هناك الــ Patch والذي سيكون إسمه patch-2.6.17.gz … وقم بوضعه داخل المجلد:
/usr/src ومن ثم قم بتنفيذ الأمر التالي:

zcat patch-2.6.17.gz | patch - p0

هذا الأمر يقوم بقراءة محتوى الملف المضغوط من الـ Patch file ومن ثم يقوم بمقارنته مع الكيرنل الحالي ويقوم بإستبدال الملفات التي تحتاج الى تغيير …

الآن لو نفرض تريد تعمل ترقية الى كيرنل رقمه linux-2.6.18 يجب أن تقوم بعمل Patch للملف linux-2.6.17 ومن ثم linux-2.6.18 على التوالي … وإن حصلت معك أي مشكلة يمكنك معرفتها من خلال قراءة محتوى الملفات التي تنتهي بالــ .rej
الآن لو نفرض تريد إخراج Patch قمت بإدخاله الى الكيرنل من الكيرنل كل ما عليك فعله هو:

zcat patch-2.6.17.gz | patch - R

الآن بعد أن تغييرت طريقة تسمية الكيرنل وأصبحت مثلاً: linux-2.6.20-15 فالحين لو نريد نرقي من هذا الكيرنل الى كيرنل رقم linux-2.6.20-16 فعليك أن تقوم أولاً بإخراج الـ Patch linux-2.6.20-15 ومن ثم تدخل الـ Patch linux-2.6.20-16 وذلك يمكن عمله من خلال الأمرين التاليين:


zcat linux-2.6.20-15 | patch -R
zcat linux-2.6.20-16 | patch -p0

ملاحظة مهمة: نسيت أذكر إن بعد عمل عملية الـ Patching تقوم بعمل Compile ومن ثم Install بنفس الطريقة التي ذكرها الأخوة في هذا القسم …
أتمنى يكون مفيد لكم هذا الدرس البسيط ولي عودة للكيرنلات قريباً جداً ﻷني حالياً أدرس هذه المواضيع التي تخص الــ Kernelz …
دمتم بود …

أخوكم [email protected]