پیکربندی
مجدد هسته لینوکس
هنگامی
که لینوکس را نصب میکنید، در اکثر توزیعها
هسته
(
که
قلب سیستم عامل است
)
بصورت
خودکار پیکربندی شده و آماده به کار میشود
.
قابلیتهای
زیادی مانند انواع راه اندازهای سخت افزار
و سرویسهایی که هسته ارائه میکند، در آن
گنجانده شده است
.
گاهی
اوقات نیاز به تغییر این قابلیت ها دارید
.
مانند
هنگامی که میخواهید قابلیتهای جدیدی
به آن اضافه کنید
.
در این
مواقع نیاز به پیکربندی مجدد هسته خواهید
داشت
.
نکته
:
اضافه
کردن تمام قابلیتها نیاز به پیکربندی
مجدد هسته ندارند
.
مثلا
بسیاری از راه اندازهای سخت افزاری
بصورت ماژولهای قابل بارگزاری در هسته
(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
بصورت
پیشگزیده غیر فعال هستند
.
-
ابزارهای
مبتنی بر
Block
:
برای
برخی از دیسکهای سخت قدیمی، شما نیاز
دارید تا راه اندازهای قدیمی را فعال
کنید
.
بوسیله
ابزارهایی مانند
X
Kernel Configuration
،
میتوانید تعیین کنید که کدام قابلیت ها
فعال یا غیر فعال هستند و هسته ای ایجاد
کنید که مطابق با نیازهای شما باشد
.
نکته
:
در
صورتی که میخواهید سخت افزاری را بطور
موقت در سیستمتان نصب کنید، برای
شناساندن آن از ماژولهای قابل بارگزاری
استفاده کنید
.
زیرا
با استفاده از این قابلیت هرگاه بخواهید
میتوانید این ماژولها را نصب کنید یا
آنها را بردارید، بدون اینکه هسته را
مجبور کنید هنگام عدم وجود آن ابزار
تحت فشار کار کند
.
|
نصب
کد منبع هسته
برای
پیکربندی مجدد هسته به کد منبع آن نیاز
دارید
.
شما
میتوانید آنرا از روی
CD
های
لینوکس خود نصب کنید
.
در
صورتی که کدهای منبع هسته قبلا نصب شده
باشند، باید در مسیر
usr/src/linux
قرار
داشته باشند
.
مثلا
usr/src/linux-2.4.
در
صورتی که کدهای منبع را پیدا نمیکنید،
باید آنها را نصب نمایید
.
بسته
به اینکه از چه توزیعی استفاده میکنید،
نحوه نصب متفاوت خواهد بود
.
مثلا
در لینوکس ردهت میتوانید از بخش
Add/Remove
Software
این
کار را انجام دهید و یا بسته
tar.gz
هسته
را از اینترنت گرفته و باز کنید
.
مهم
نیست آنرا در کجا باز میکنید
.
نکته
:
همیشه
کد منبع آخرین نسخه پایدار یا در حال
توسعه هسته را میتوانید از اینترنت
دریافت نمایید
.
کافی
است به آدرس
http://www.kernel.org
مراجعه
کنید
.
البته
حجم بسته های کدمنبع در حدود ۳۰
-
۳۵
مگابایت میباشد
.
|
شروع
پیکریندی مجدد هسته
مراحلی
که برای انجام پیکربندی مجدد باید انجام
دهید شامل انتخاب گزینهها، بررسی نرم
افزارهای مورد نیاز، پاک کردن فایلهای
کامپایل شده قبلی و کامپایل کردن هسته
جدید است
.
تمام
این مراحل به ترتیب شرح داده خواهند شد
.
از
سیستم خود حفاظت کنید
هنگام
نصب لینوکس ممکن است دیسکت بوت را ایجاد
کرده باشید
.
این
دیسکت به شما امکان بوت کردن در صورت عدم
کارکردن هسته جدید یا اشکال در کار مدیر
بوت گراب را میدهد
.
در
صورتی که این دیسکت را ایجاد نکرده اید،
یک فلاپی دیسک خالی در درایو قرار داده و
دستور زیر را تایپ کنید
:
#
mkbootdisk –device /dev/fd0 2.4.21
در
صورتی که شماره نسخه هسته شما متفاوت است
میتوانید بجای شماره مثال بالا آنرا وارد
نمایید
.
نکته
:
فرمان
mkbootdisk
در
مسیر
sbin
قرار
دارد
.
در
صورتی که در حالت عادی اجرا نشد، به این
دایرکتوری وارد شده و از آنجا آنرا اجرا
نمایید
.
|
آماده
سازی برای پیکربندی
برای
شروع کار یک پنجره ترمینال باز کرده و به
مسیری که فایلها منبع هسته قرار دارند
(usr/src/linux-2.4)
رفته
و دستور زیر را تایپ کنید
:
#
make mrproper
این
دستور هسته را برای پیکربندی آماده میکند
.
همچنین
تمام دایرکتوریهای پیکربندی را از وجود
فایلهای قدیمیتر پاک میکند
.
اعمال
پیکربندی
برای
انتخاب گزینه های مورد نیاز خود، باید
دستور
make
را با
سوئیچهای
config
،
menuconfig
و
یا
xconfig
اجرا
نمایید
.
آسان
ترین گزینه، سوئیچ
xconfig
است
.
البته
باید در حال اجرای یک محیط گرافیکی مانند
GNOME
یا
KDE
باشبد
.
دستور
زیر را تایپ کنید
(
تصویر
۱
):
#
make xconfig
تصویر
۱ پیکربندی هسته جدید را با گزینه
xconfig
نشان
میدهد
در
صورتی که محیط گرافیگی در حال اجرا نیست،
میتوانید از دو سوئیچ دیگر استفاده نمایید
.
سوئیچ
config
شما
را در یک محیط متنی خالص با انبوهی از سوال
و جوابها قرار میدهد
.
سوئیچ
menuconfig
یک
محیط مبتنی بر منو را برای پیکربندی مجدد
هسته برای شما فراهم میکند
.
استفاده
از گزینه های
xconfig
و
menuconfig
شما
را قادر میسازد تا فقط قسمتهایی را که
مایل به تغییر هستید را انتخاب کنید، در
حالی که با سوئیچ
config
باید
تمام اجزا را پیکربندی کنید
.
(
تصویر۲
)
بررسی
وابستگی های نرم افزاری
هنگامی
که پیکربندی هسته را به پایان رساندید،
تغییرات را ذخیره کرده و دستور زیر را
تایپ کنید
:
#
make dep
این
دستور، وابستگی های نرم افزاری هسته را
بررسی میکند تا چیزی کم نباشد
.
پس از
این کار باید دایرکتوری های کد منبع را
برای کامپایل هسته جدید آماده کنید
.
تصویر
۲ پیکربندی هسته جدید را با گزینه
menuconfig
نشان
میدهد
آماده
سازی دایرکتوری ها
برای
آماده سازی دایرکتوری های کد منبع برای
کامپایل کردن هسته جدید باید دستور زیر
را اجرا نمایید
:
#
make clean
کامپایل
کردن هسته جدید
شما
انتخاب های گوناگونی برای کامپایل کردن
هسته جدید دارید
.
میتوانید
image
بوت
هسته جدید را روی دیسک سخت خود و یا روی
یک فلاپی دیسک داشته باشید
.
داشتن
آن روی فلاپی برای آزمایش آن خوب است
.
میتوانید
قبل از نصب هسته جدید آنرا از روی فلاپی
دیسک بوت نموده و در صورتی که اشکالی در
کار آن وجود داشته باشد، آنرا نصب نکنید
.
برای
کامپایل کردن هسته جدید و ذخیره آن در
فلاپی، یک دیسکت فلاپی در درایو قرار داده
و دستور
make
zdisk
را
تایپ کنید
.
برای
کامپایل کردن و ذخیره هسته جدید در دیسک
سخت، از دستور
make
zImage
استفاده
نمایید
.
در
صورتی که حجم
image
ایجاد
شده خیلی زیاد شد، میتوانید از دستور
make
bzImage
استفاده
کنید که هسته جمع و جورتری را تحویل شما
خواهد داد
!
این
بخش از کار مدتی طول خواهد کشید
.
در
صورتی که پردازنده شما پردازنده ای قدیمی
و کند است، میتوانید تا آماده شدن هسته
جدید یک چرت کوچک بزنید
!
نتیجه
نهایی کار یک
image
فشرده
است که در مسیر
arch/i386/boot
قرار
دارد
.
ممکن
است حین کامپایل شدن به پیغامهای خطایی
برخورده و متوقف شوید
.
در این
صورت باید مجددا با استفاده از
xconfig
یا
menuconfig
گزینهای
را که در آن خطا رخ داده است را تغییر دهید
تا خطا رفع شود
.
ایجاد
و نصب ماژولها
ماژولهای
قابل بارگزاری را که همراه هسته کامپایل
نمیشوند، باید جداگانه کامپایل و نصب
نمایید
.
برای
این کار دستورات زیر را تایپ کنید
:
#
make modules
#
make modules_install
ماژولها
در مسیر
lib/modules
نصب
میشوند
.
برای
اضافه کردن ماژولها به سیستم، هنگامی که
سیستم عامل در حال اجراست باید از دستورات
insmod
و
modprobe
استفاده
کنید
.
ایجاد
image
دیسک
رم
(initrd)
در
صورتی که کامپیوتر شما کارت اسکازی ندارد،
از این مرحله عبور کنید
.
در
صورتی که شما یک کارت اسکازی دارید که
هنگام بوت باید بارگزاری شود، باید یک
image
دیسک
رم ایجاد کنید
.
ابتدا
بررسی کنید کارت اسکازی شما در فایل
etc/modules.conf
وجود
دارد یا خیر
.
برای
مثال
:
alias
scsi_hostadapter aic7xxx
سپس
از دستور
mkinitrd
برای
ایجاد
image
جدید
استفاده کنید
.
این
دستور دو آرگومان دریافت میکند
.
آرگومان
اول نشاندهنده نام
image
جدید
و آرگومان دوم نشاندهنده هسته ای است که
ماژولها از آن دریافت میشوند
.
برای
مثال
:
#
mkinitrd /boot/newinitrd-image 2.4.22
نصب
هسته جدید
برای
نصب فایلهای هسته جدید در محلهای مربوطه
خود باید دستور زیر را تایپ کنید
:
#
make install
با
این دستور هسته جدید نصب شده و یگ گزینه
به مدیر بوت گراب اضافه میشود تا بتوانید
با هسته جدید سیستم خود را بوت کنید
.
در
صورتی که بصورت خودکار گزینه به گراب
اضافه نشد، باید بوسیله ویرایش فایل
پیکربندی
grub
که در
مسیر
boot/grub/menu.lst
قرار
دارد، هسته جدید را در آن تعریف نمایید
.
همانطور
که متوجه شدهاید، در لینوکس میتوانید
۲ یا چند هسته را در کنار هم استفاده
نمایید
.
بطور
کلی پیکربندی مجدد هسته کار دشواری است
که تا در انجام آن مهارت پیدا کنید، ممکن
است مدت زمانی طول بکشد و ممکن است گاهی
مجبور شوید یک هسته را چندین و چندین بار
نصب و کامپایل نمایید تا بطور صحیح کار
کند
.