گنو/لینوکس

آموزش نصب؛ کانفیگ و کامپایل کرنل لینوکس

Linux kernel config compile install
نوشته شده توسط اروند طباطبایی

سیستم‌های گنو/لینوکسی که نصب میکنیم اکثرا دارای کرنل هایی از قبل آماده شده و کانفیگ شده هستند. کرنل دارای ماژول هایی است که هرکدام مدیریت بخشی از سیستم را بر عهده دارد برای مثال یک ماژول مربوط به usb و ماژول دیگر در ارتباط با راه اندازی ماژول WiFi است. با این حال شاید نیاز نباشد که همه‌ی این ماژول ها در سیستم شما اجرا شوند بنابراین بهتر است تا کرنل را هرشخص مخصوص سیستم خود کانفیگ و کامپایل کند. از مزایای اینکار سرعت بسیار خوب و بهبود یافتن عمل‌کرد سیستم پس از شخصی سازی کرنل و کانفیگ آن است. پس از کانفیگ و کامپایل کرنل لینوکس میتوان از سیستم انتظار داشت که سخت‌افزار را بهتر از گذشته بشناسد و همچنین سرعت به صورت محسوسی بیشتر میشود. البته به خاطر داشته باشید که کانفیگ و کامپایل کرنل لینوکس نیازمند دانش خوبی از انواع ماژول ها و دقت فراوان در هنگام اینکار است. پس ممکن است در دفعه اول که کرنل خود را کامپایل میکنید سیستم با مشکلاتی چون نشناختن برخیسخت افزار رو به رو شود که در دفعات بعدی و با آشنایی شما با ماژول ها این امر بهبود پیدا کرده و به بهترین کانفیگ برای سیستم خود دست پیدا خواهید کرد.

برای اینکار باید دو پیش نیاز را فراهم کنیم :

۱ – کرنل لینوکس که از سایت رسمی آن قابل دریافت است و حجمی تقریباً ۸۰ مگابایتی دارد.

۲ – اجرای دستور زیر برای نصب پیش نیازهایی که ممکن است در برخی از سیستم‌ها نصب نباشند که چند پکیج برای کامپایل هسته میباشد.

sudo apt-get install ncurses-dev kernel-package build-essential

 

پس از این هسته ای که دریافت کردیم رو از حالت فشرده خارج میکنیم (به صورت محسوسی حجم فایل افزایش پیدا میکنه) پس از آن از طریق ترمینال به محلی که هسته را بازکردید cd بزنید.

برای کامپایل هسته ۳ روش هست که میتوانید به اختیار و مناسب با شرایط از آن‌ها استفاده کنید.

روش اول : استفاده از کد زیر است که پنجره ای باز شده و طی یک ویزارد میتوانید تمام کانفیگ های مورد نیاز خود را دستی وارد کنید. (این روش برای افرادی که حرفه‌ای نیستن و با ماژول ها آشنایی ندارن توصیه نمیشود)

make menuconfig

kernel-config

روش دوم : کانفیگ براساس تنظیماتی که بر روی کرنل در حال اجرا هست. این روش برای افرادی مفید خواهد بود که کرنل فعلی سیستم را دستی کامپایل کردن و میخواهند تنظیمات قبلی بر روی کرنل جدید نیز اعمال شده و تغییری بر آن‌ها ایجاد نمیکنند.

از دستور زیر میتوان برای این روش استفاده کرد :

make oldconfig

oldconfig

روش سوم : روشی بسیار خوب و راحت هست و میتوانید با این روش به راحتی کرنل خودتون رو کامپایل کنید. در این روش یک ویزارد نمایش داده میشه که در آن ابتدا تمام سخت‌افزار شمارو چک کرده و بهترین حالت را انتخاب میکنه. حال اگر تنظیمات فعلی با تنظیمات قبلی مطابقت نداشته باشد از شما سؤالاتی را خواهد پرسید تا از تنظیمات جدید مطمئن شوید. به این نکته توجه داشته باشید که در این حالت تمام سخت‌افزار ها باید فعال باشن تا هرچه بهتر شناسایی شوند. پس مواردی مثل بلوتوث و wifi را روشن نگه دارید از پورت های usb استفاده کنید. از دستور زیر برای اینکار استفاده میکنیم :

make localmodconfig

make-localmodconfig

پس از آن باید هسته جدید کامپایل شود که کاری بسیار ساده و آسان‌تر از مرحله قبل است. کد زیر را در ترمینال وارد کنید :

make -j 8

 

در اینجا عدد ۸ تعداد پردازش هایی است که پردازنده شما میتواند انجام دهد که برای من ۸ پردازش همزمان است و شما میتوانید بر حسب نیاز خودتون و قدرت پردازنده عدد آن را تغییر دهید.

مرحله بعدی صبر کردن است. باید صبر کنید تا برحسب قدرت پردازش و سرعت سیستم شما کرنل کامپایل شود. ممکن است این عملیات در ۱۰ دقیقه یا کمتر و حتی بیشتر از آن طول بکشد پس نگران نباشید و به دنبال یک سرگرمی خوب برای وقت کامپایل شدن کرنل بگردید.

پساز اتمام این مرحله دستور زیر را وارد کنید تا هسته حدید نصب و به منوی گراب اضافه شود:

sudo make modules_install install

 

و در نهایت دستور زیر را برای به روز رسانی گراب وارد کنید :

sudo update-grub

 

و یا اگر بوت لودر دیگری استفاده میکنید دستور مخصوص آن را وارد کنید.

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

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