هنگامی که لینوکس را نصب میکنید، در اکثر توزیع‌ها هسته ( که قلب سیستم عامل است ) بصورت خودکار پیکربندی شده و آماده به کار میشود . قابلیت‌های زیادی مانند انواع راه اندازهای سخت افزار و سرویسهایی که هسته ارائه میکند، در آن گنجانده شده است . گاهی اوقات نیاز به تغییر این قابلیت ها دارید . مانند هنگامی که می‌خواهید قابلیت‌های جدیدی به آن اضافه کنید . در این مواقع نیاز به پیکربندی مجدد هسته خواهید داشت .


ضافه کردن تمام قابلیت‌ها نیاز به پیکربندی مجدد هسته ندارند مثلا بسیاری از راه اندازهای سخت افزاری بصورت ماژولهای قابل بارگزاری در هسته Loadable modules) هستند از این ماژولها می‌توان برای اضافه کردن قابلیت‌های جدید به هسته استفاده کرد برای مثال قابلیت PCMCIA از ماژولهای قابل بارگزاری استفاده میکند برای بارگزاری این ماژولها باید از دستورات insmod و modprobe استفاده کنید

پیکربندی مجدد هسته کاری خسته کننده است مثلا طی آن باید به سوالات بسیاری پاسخ دهید که پاسخ برخی از آنها را واقعا نمی‌دانید در بیشتر موارد پروسه پیکربندی مجدد هسته دارای پاسخهای پیش‌گزیده است در صورتی که به سوالی بر خوردید که پاسخ آنرا نمی‌دانید، کافی است کلید Enter را فشار دهید همچنین این کار زمانی را در حدود ۲۰ تا ۹۰ دقیقه، بسته به سخت افزار کامپیوترتان طلب میکند

 

برای ساده کردن فرایند پیکربندی مجدد هسته، میتوانید از گزینه xconfig برای پیکربندی در حالت گرافیکی استفاده کنید با استفاده از دستور make xconfig میتواید دقیقا راه اندازهای مورد نیاز سیستمتان را انتخاب کنید و مجبور به نصب همه راه اندازها نیستید

 

 

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

 

    در صورتی که از یک پردازنده 386 یا 486 بدون کمک پردازنده ریاضی استفاده میکنید، باید قابلیت شبیه ساز عملیات ریاضی را در هسته خاموش کنید همچنین میتوانید با انتخاب دقیق نوع پردازنده خود، مانند 386 ، 486/Cx486/586/K5/5x86/6x86/Pentium/TSC/K6/K7/PPro/6x86MX و عملکرد آنرا بهینه کنید

 

    شبکه بصورت پیش‌گزیده فعال است حتی اگر به شبکه وصل نباشید زیرا محیط گرافیکی Xwindow از آن استفاده می‌کند در صورتی که بخواهید از لینوکس خود بعنوان یک مسیریاب شبکه استفاده کنید، هسته آن نیاز به پیکربندی مجدد دارد همچنین برخی از گزینه های شبکه مانند X.25 و SPX بصورت پیش‌گزیده غیر فعال هستند

 

    برای برخی از دیسک‌های سخت قدیمی، شما نیاز دارید تا راه اندازهای قدیمی را فعال کنید

 

بوسیله ابزارهایی مانند X Kernel Configuration ، میتوانید تعیین کنید که کدام قابلیت ها فعال یا غیر فعال هستند و هسته ای ایجاد کنید که مطابق با نیازهای شما باشد .


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

 

برای پیکربندی مجدد هسته به کد منبع آن نیاز دارید . شما می‌توانید آنرا از روی CD های لینوکس خود نصب کنید . در صورتی که کدهای منبع هسته قبلا نصب شده باشند، باید در مسیر usr/src/linux قرار داشته باشند . مثلا usr/src/linux-2.4. در صورتی که کدهای منبع را پیدا نمی‌کنید، باید آنها را نصب نمایید . بسته به اینکه از چه توزیعی استفاده می‌کنید، نحوه نصب متفاوت خواهد بود . مثلا در لینوکس ردهت می‌توانید از بخش Add/Remove Software این کار را انجام دهید و یا بسته tar.gz هسته را از اینترنت گرفته و باز کنید . مهم نیست آنرا در کجا باز می‌کنید .


همیشه کد منبع آخرین نسخه پایدار یا در حال توسعه هسته را میتوانید از اینترنت دریافت نمایید . کافی است به آدرس http://www.kernel.org مراجعه کنید . البته حجم بسته های کدمنبع در حدود ۳۰ - ۳۵ مگابایت میباشد .

 

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

 

 

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

 

 

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


فرمان mkbootdisk در مسیر sbin قرار دارد . در صورتی که در حالت عادی اجرا نشد، به این دایرکتوری وارد شده و از آنجا آنرا اجرا نمایید .

 

برای شروع کار یک پنجره ترمینال باز کرده و به مسیری که فایل‌ها منبع هسته قرار دارند (usr/src/linux-2.4) رفته و دستور زیر را تایپ کنید :

 

 

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

 

 

برای انتخاب گزینه های مورد نیاز خود، باید دستور make را با سوئیچ‌های config ، menuconfig و یا xconfig اجرا نمایید . آسان ترین گزینه، سوئیچ xconfig است . البته باید در حال اجرای یک محیط گرافیکی مانند GNOME یا KDE باشبد . دستور زیر را تایپ کنید ( تصویر ۱ ):

 

 


تصویر ۱ پیکربندی هسته جدید را با گزینه xconfig نشان میدهد

 

در صورتی که محیط گرافیگی در حال اجرا نیست، میتوانید از دو سوئیچ دیگر استفاده نمایید . سوئیچ config شما را در یک محیط متنی خالص با انبوهی از سوال و جوابها قرار میدهد . سوئیچ menuconfig یک محیط مبتنی بر منو را برای پیکربندی مجدد هسته برای شما فراهم میکند .

 

استفاده از گزینه های xconfig و menuconfig شما را قادر میسازد تا فقط قسمتهایی را که مایل به تغییر هستید را انتخاب کنید، در حالی که با سوئیچ config باید تمام اجزا را پیکربندی کنید . ( تصویر۲ )

 

 

هنگامی که پیکربندی هسته را به پایان رساندید، تغییرات را ذخیره کرده و دستور زیر را تایپ کنید :

 

 

این دستور، وابستگی های نرم افزاری هسته را بررسی میکند تا چیزی کم نباشد . پس از این کار باید دایرکتوری های کد منبع را برای کامپایل هسته جدید آماده کنید .

 


 


تصویر ۲ پیکربندی هسته جدید را با گزینه menuconfig نشان میدهد

 

 

برای آماده سازی دایرکتوری های کد منبع برای کامپایل کردن هسته جدید باید دستور زیر را اجرا نمایید :

 

 

 

شما انتخاب های گوناگونی برای کامپایل کردن هسته جدید دارید . میتوانید image بوت هسته جدید را روی دیسک سخت خود و یا روی یک فلاپی دیسک داشته باشید . داشتن آن روی فلاپی برای آزمایش آن خوب است . میتوانید قبل از نصب هسته جدید آنرا از روی فلاپی دیسک بوت نموده و در صورتی که اشکالی در کار آن وجود داشته باشد، آنرا نصب نکنید .

 

برای کامپایل کردن هسته جدید و ذخیره آن در فلاپی، یک دیسکت فلاپی در درایو قرار داده و دستور make zdisk را تایپ کنید . برای کامپایل کردن و ذخیره هسته جدید در دیسک سخت، از دستور make zImage استفاده نمایید . در صورتی که حجم image ایجاد شده خیلی زیاد شد، میتوانید از دستور make bzImage استفاده کنید که هسته جمع و جورتری را تحویل شما خواهد داد !

 

این بخش از کار مدتی طول خواهد کشید . در صورتی که پردازنده شما پردازنده ای قدیمی و کند است، میتوانید تا آماده شدن هسته جدید یک چرت کوچک بزنید ! نتیجه نهایی کار یک image فشرده است که در مسیر arch/i386/boot قرار دارد . ممکن است حین کامپایل شدن به پیغام‌های خطایی برخورده و متوقف شوید . در این صورت باید مجددا با استفاده از xconfig یا menuconfig گزینه‌ای را که در آن خطا رخ داده است را تغییر دهید تا خطا رفع شود .

 

 

ماژولهای قابل بارگزاری را که همراه هسته کامپایل نمیشوند، باید جداگانه کامپایل و نصب نمایید . برای این کار دستورات زیر را تایپ کنید :

 

 

 

ماژولها در مسیر lib/modules نصب میشوند . برای اضافه کردن ماژولها به سیستم، هنگامی که سیستم عامل در حال اجراست باید از دستورات insmod و modprobe استفاده کنید .

 

 

در صورتی که کامپیوتر شما کارت اسکازی ندارد، از این مرحله عبور کنید . در صورتی که شما یک کارت اسکازی دارید که هنگام بوت باید بارگزاری شود، باید یک image دیسک رم ایجاد کنید . ابتدا بررسی کنید کارت اسکازی شما در فایل etc/modules.conf وجود دارد یا خیر . برای مثال :

 

alias scsi_hostadapter aic7xxx

 

سپس از دستور mkinitrd برای ایجاد image جدید استفاده کنید . این دستور دو آرگومان دریافت میکند . آرگومان اول نشاندهنده نام image جدید و آرگومان دوم نشاندهنده هسته ای است که ماژولها از آن دریافت میشوند . برای مثال :

 

 

 

برای نصب فایلهای هسته جدید در محلهای مربوطه خود باید دستور زیر را تایپ کنید :

 

 

با این دستور هسته جدید نصب شده و یگ گزینه به مدیر بوت گراب اضافه میشود تا بتوانید با هسته جدید سیستم خود را بوت کنید . در صورتی که بصورت خودکار گزینه به گراب اضافه نشد، باید بوسیله ویرایش فایل پیکربندی grub که در مسیر boot/grub/menu.lst قرار دارد، هسته جدید را در آن تعریف نمایید . همانطور که متوجه شده‌اید، در لینوکس میتوانید ۲ یا چند هسته را در کنار هم استفاده نمایید .

 

بطور کلی پیکربندی مجدد هسته کار دشواری است که تا در انجام آن مهارت پیدا کنید، ممکن است مدت زمانی طول بکشد و ممکن است گاهی مجبور شوید یک هسته را چندین و چندین بار نصب و کامپایل نمایید تا بطور صحیح کار کند .