سه شنبه, ۹ بهمن, ۱۴۰۳ / 28 January, 2025
مجله ویستا

چگونه یک کرنل را کامپایل کرده و به لینوکس اضافه کنیم


چگونه یک کرنل را کامپایل کرده و به لینوکس اضافه کنیم

این دستور العمل متعهد هیچ ضمانتی نیست چرا که, مثل همیشه سیستم ها متفاوتند و اگرچه این مراحل بارها و بارها با موفقیت اجرا شده اند, اما مسئولیت آن بر عهده استفاده کننده است

این دستور‌العمل متعهد هیچ ضمانتی نیست. چرا که، مثل همیشه سیستم‌ها متفاوتند و اگرچه این مراحل بارها و بارها با موفقیت اجرا شده‌اند، اما مسئولیت آن بر عهده استفاده کننده است.

● مراحل:

۱) سایت www.kernel.org را ببینید و یک هسته را به انتخاب خود دانلود کنید (من از tar.bz۲ استفاده می‌کنم.) و آن را در یک دایرکتوری دلخواه ذخیره نمایید.

من در این مثال home/kernel/ را به کار خواهم برد.

▪ نکته: هر شماره از هسته‌ای خاص با کامپایلر خاصی مطابقت دارد. اگر از یک کامپایلر به‌روز استفاده می‌کنید لطفا توجه کنید که هسته جدیدی هم به کار برید.

۲) حال باید هسته را در دایرکتوری usr/src/ یا هر جای دیگری که دوست دارید هسته را بسازید، کپی نمایید. برای انجام این کار، باید ترمینال خود را باز و سپس اجازه ریشه را دریافت کنید.

آنگاه می‌توانید با استفاده از فرمان cp هسته را انتقال دهید:

cp /home/kernel/nameofkernel /usr/src

۳) زمانی که هسته به آن دایرکتوری منتقل شد می‌توانید آن را استخراج (extract) کنید. برای استخراج آن، این فرمان را به کار ببرید:

/cd /usr/src

tar -xvjf nameofkernel

در اینجا شما باید فهرستی بسیار طولانی در ترمینال ببینید که نشان می‌دهد فایلها در حال استخراج هستند. اگر چنین چیزی را نمی‌بینید، باید برگردید و مراحل قبل را عوض نمایید.

۴) پس از آن می‌توانید دایرکتوری خود هسته را وارد نمایید:

cd /usr/src/nameofkerneldirectory

▪ اختیاری: اگر می‌خواهید می‌توانید یک فایل config را هم کپی کنید. (اگر منظور من را نمی‌فهمید، ادامه دهید.)

۵) بعد، باید از منوی هسته گزینه‌هایی را انتخاب کنید. می‌‌توانید این کار را با وارد کردن منو، با استفاده از فرمان زیر انجام دهید:

make menuconfig

شما باید یک منو کوچک که در صفحه ترمینال باز شده را ببینید. من نمی‌توانم بگویم چه انتخاب‌هایی باید انجام دهید چرا که هر کس سخت‌افزار خاصی دارد.

اما به این موارد توجه کنید: انتخاب فایل سیستم مناسب (ext۳, reiser و غیره)، انتخاب صحیح درایور کارت صدا و انتخاب صحیح واسط شبکه. فاکتورهای بیشمار دیگری نیز وجود دارند اما موارد ذکر شده آنهایی هستند که بسیار معمولند.

برای هسته‌های (کرنل) سری‌ ۲.۶، نیازی نیست که رایتر scsi را بگنجانید مگر اینکه بخواهید از cdrdao (دیسک در حالتی که مثلا برای فایل‌های bin/cue لازم است.) استفاده کنید.‌

همچنین در سری ۲.۶، باید گزینه‌های زیر را در فایل file systems-pseudo file systems قرار دهیم. وگرنه هسته به درستی boot نمی‌شود (kernel panic):

proc file system suppor/ [*]

(dev file systemsupport (OBSOLET/ [*]

Automatically mount at boot [*]

Debug devfs [ ]

dev/pts file system for Unix۹۸ PTYs/ [*]

dev/pts Extended Attribute/ [*]

/dev/pts Security Labe/ [*]

(Virtual memory file system support (former shm fs [*]

HugeTLB file system support [ ]