نخستین تجربیات با هسته
2.6
خوب پس از مدتها انتظار هسته
2.6
هم منتشر شد
.
این هسته دارای قابلیتهای جدید بسیار زیادی است که من در این مقاله نمیخواهم زیاد وارد آن شوم
!
به طور عمده میتوان به قابلیت پیاده سازی لینوکس روی سختافزارهایی که تا کنون از آنها پشتیبانی نمیشد
(
مانند دستگاههای
PDA
و
...)
، مدیریت بهینه سازی شده حافظه
(
روی آن خیلی کار شده است
)
، پشتیبانی بهتر از سختافزارهای جدید
(
مانند
USB
و
...)
اشاره نمود
.
به محض اطلاع از انتشار هسته
2.6.0
، مشغول به کار شده و با استفاده از برنامه دانلود کننده محبوبم،
wget
شروع به دانلود هسته کردم
.
خوب با یک اتصال تلفنی – هرچقدر هم خوب – باید مدت زیادی برای دریافت کامل فایل صرف کنید
.
من مدتی از این وقت را با خوابیدن
(!)
، مطالعه مستندات و راهنماهای هسته
2.6.0
و بروز کردن سایت گذراندم
.
اکنون دانلود تقریبا در حال اتمام است و مشتاقانه منتظرم تا هسته جدید را کامپایل و نصب کنم
.
پردازنده تاندربرد من نیز مشتاقانه منتظر یک قدرتنمایی است
!
روشی که من برای کامپایل کردن هسته بکار میبرم، نهایتا به یک بسته دبیان حاوی
image
هسته ختم میشود
.
بهتر است این روش را یاد بگیرید چون خیلی آسان و راحت است و بدون دردسر قادر به نصب هسته خواهید بود
.
اینطور که برنامه
wget
نشان میدهد، اگر دانلود با همین سرعت
(3.12KB/s)
ادامه پیدا کند، بسته
bz2
هسته تا کمتر از ۷ دقیقه دیگر به طور کامل دریافت خواهد شد
.
خیلی هیجان انگیز است
!
برای اینکه هسته جدید بطور صحیح کامپایل شود، باید یک توزیع تقریبا جدید داشته باشید
.
نرمافزارها و تجهیزات لازم برای هسته
2.6.0
عبارتند از
:
Name: Minimum version: How to find version:
Gnu C Compiler
2.95.3 gcc --version
Gnu Make
3.78 make --version
binutils
2.12 ld -v
util-linux
2.10o fdformat --version
module-init-tools
0.9.9 depmod -V
procps 2.0.9 ps --version
[
procps 2.x
] [
procps 3.x
]
برای سیستم فایلها
:
Name: Minimum version: How to find version:
e2fsprogs
1.29 tune2fs
jfsutils
1.0.14 fsck.jfs -V
reiserfsprogs
3.6.3 reiserfsck -V 2>&1 | grep reiserfsprogs
xfsprogs
2.1.0 xfs_db -V
nfs-utils
1.0.5 showmount --version
و سایر ابزارهایی که ممکن است به آنها نیاز داشته باشید
:
Name: Minimum version: How to find version:
pcmcia-cs
3.1.21 cardmgr -V
quota-tools
3.09 quota -V
PPP
2.4.0 pppd --version
isdn4k-utils
3.1pre1 isdnctrl 2>&1 | grep version
oprofile
0.5.3 oprofiled --version
ظاهرا هسته جدید با ردهت ۹ سازگار نمیباشد
.
خبر خوب اینکه با لیبرانت ۲
.
۸
.
۱ مشکلی نخواهید داشت
.
در صورتی که در مورد توزیعی که اکنون در حال استفاده از آن هستید شک دارید، دستوراتی را که در بالا ذکر شد آزمایش کنید تا مطمئن شوید تمام ابزارهای لازم نسخههای اشاره شده باشند
.
در صورتی که تاکنون هیچ هستهای را کامپایل و نصب نکردهاید، بهتر است
این راهنما
را مطالعه کنید
.
همچنین مطالب خوبی در مورد ویژگیها و جزئیات هسته
2.6
را
اینجا
پیدا خواهید کرد
.
قبل از اینکه هرکاری را شروع کنید، توصیه میکنم که یک نسخه پشتیبان از اطلاعات خود تهیه کنید
.
برای دانلود کردن بسته هسته
2.6.0
به سایت
http://kernel.org
مراجعه کنید
.
برای پیکربندی هسته جدید، ابزارهای جدیدی آماده شده است
.
مانند
xconfig
،
gconfig
که کاملا بازبینی و بهینه سازی شدهاست و
gconfig
نیز کاملا جدید است
.
برای استفاده از
xconfig
باید کتابخانههای
QT
را داشته باشید و برای استفاده از
gconfig
کتابخانههای
GTK
مورد نیاز است
.
تصویر گزینه
xconfig
جدید را نمایش میدهد
.
یک نکته مهم اینکه ممکن است شنیده باشید که سیستم صوتی هسته جدید از
OSS
به
ALSA
تغییر پیدا کردهاست
.
بنابراین قبل از شروع به کار،
alsa-lib
و
alsa-utils
را دانلود و نصب کنید
.
برای این کار کافی است این دو بسته را که دو فایل ۳۰۰ و ۵۰۰ کیلوبایتی هستند را دریافت و بستههای آنرا با دستور
bzip2 -d
باز کرده و سپس
configure/.
و
make install
را برای هر دو آنها اجرا کنید تا کامپایل و نصب شوند
.
نصب این دو بسته به راحتی انجام میگیرد
.
در صورتی که با اجرای دستور
make install
به اشکال بر خوردید، ابتدا دستور
make
و سپس
make install
را اجرا کنید
.
ممنون
wget
عزیز
!
دریافت هسته تمام شد
.
آماده باشید برای کامپایل و نصب هسته جدید
.
شروع میکنیم
.
ابتدا در ترمینال فایل را به مسیر
usr/src
منتقل میکنم و سپس فایل را از حالت فشرده در میآورم
:
# mv linux-2.6.0.tar.bz2 /usr/src
# bzip2 -d linux-2.6.0.tar.bz2
# tar -xf linux-2.6.0.tar
اکنون یک دایرکتوری با نام
linux-2.6.0
در مسیر
usr/src
ایجاد شده است
.
یک لینک
symbolic
با نام
linux
به آن میسازم
:
# ln -s linux-2.6.0/ linux
خوب اکنون آماده برای پیکربندی هسته هستیم
.
دستور
make xconfig
را در خط فرمان تایپ میکنم
.
خوب محیط پیکربندی جدید، پس از چند ثانیه اجرا میشود
.
محیط کاملا تغییر کرده و جالبتر و راحتتر شده است
.
جالب اینکه در صورتی که قبلا هستهای را کامپایل و نصب کرده باشید، فایل پیکربندی آن بطور خودکار بارگزاری شده و شما مجبور نیستید تا تمام پیکربندی را از اول انجام دهید
.
در مورد من، پیکربندی هسته
2.4.23
موجود بارگزاری شد
.
فقط پس از چند تغییر کوچک در بخش صدا،
(ALSA)
تغییرات را ذخیره کرده و خارج میشوم
.
همانطور که در بالا هم اشاره کردم، یکی از تفاوتهای هستههای سری
2.6
با نسخههای
2.4
، جایگزینی سیستم صوتی
ALSA
به جای
OSS
میباشد
.
البته شما میتوانید همچنان
OSS
را فعال کرده و از
ALSA
صرف نظر کنید، ولی
OSS
بزودی حذف خواهد شد و شما بالاخره مجبور به استفاده از آن خواهید بود
.
فراموش نکنید در صورتی که میخواهید از
ALSA
استفاده کنید،
OSS Emulation
را فعال کرده و کارت صوتی خود را از بخش
PCI Devices
یا
ISA Devices
انتخاب نمایید
.
اکنون آماده کامپایل کردن هسته جدید هستم
:
# make-kpkg clean
# make-kpkg --revision=100:kernel2.6.0 kernel_image
عملیات کامپایل شروع شد
.
بر خلاف هسته
2.4
، خروجی روی صفحه بسیار محدودتر و تنها محصولات کامپایل نمایش داده میشوند
.
خوب دقیقا پس از حدود ۱۰ دقیقه، هسته بطور کامل کامپایل و تبدیل به یک بسته دبیان شد
.
پردازنده دستگاه من یک اتلون تاندربرد
1.33GHz
است
.
البته مدت زمان کامپایل با توجه به گزینههایی که انتخاب میکنید، بسیار متنوع خواهد بود
.
اکنون بسته هسته را نصب میکنم
:
# dpkg -i kernel-image-2.6.0_kernel2.6.0_i386.deb
در صورتی که از دایرکتوری
boot
لیست گرفته شود، فایلهای مربوط به هسته
2.6
در آن مشاهده میشوند
.
اکنون گراب را پیکربندی میکنم
.
البته در صورتی که از لیلو استفاده میکنید، هنگام نصب بسته، لیلو بطور خودکار پیکربندی میشود
.
برای پیکربندی گراب، فایل آنرا در
vi
باز میکنم
:
# vi /boot/grub/menu.lst
و خطوط مربوط به هسته جدید را اضافه میکنم
:
title Libranet GNU/Linux, kernel 2.6.0
root (hd0,1)
kernel /vmlinuz-2.6.0 root=/dev/hda3 ro hdb=scsi vga=791
savedefault
boot
اکنون برای بوت شدن آماده هستم
!
با استفاده از دستور
reboot
سیستم را بوت میکنم
.
خوب
!
مانیتور من پیغام خطای
Out of Frequency
داد
.
ظاهرا سیستم
Frame Buffrer
نسبت به نسخه
2.4
تغییر کرده است
.
ولی سیستم بوت شد و با شروع
Xfree86
تصویر مانیتور به حالت عادی بازگشت
.
کارت گرافیک من از نوع
Geforce2 64MB-DDR
میباشد و من قبلا از درایورهای
Nvidia
برای آن استفاده میکردم و چون کد منبع آن در دسترس بود، برای هر هسته جدید درایور را کامپایل و نصب میکردم
.
متاسفانه هنوز خود
nVidia
هیچ درایوری را برای
2.6
ارائه نکرده است و با وجودی که
patch
هایی ارائه شده، من موفق به بکار انداختن آنها نشدم
(
وصلهها متعلق به
2.6test9
هستند
).
فکر میکنم تغییراتی صورت گرفته باشد
.
فعلا با همین درایور دو بعدی
nv
میسازیم تا بعد
! (
مدتی باید بازی
BillardGL
را فراموش کنم
!)
باید زمان بیشتری برای حل این مشکل صرف کنم
.
البته فکر میکنم
nVidia
بزودی راهاندازهای هسته
2.6
را ارائه کند
.
خوشبختانه پشتیبانی
nVidia
از لینوکس خیلی بهتر از رقیبش
ATI
است
.
خوشبختانه مراحل بوت بجز قسمت
Frame Buffre
بخوبی انجام شد
.
چیزی که احساس میشود، سبک تر شدن سیستم است
.
سرعت اجرای برنامهها بهبود یافته است
.
خوشحال کننده است
.
با دستور
free
مقدار منابع را بررسی میکنم، میزان حافظه مصرفی نیز کاهش نشان میدهد
.
مسئله بعدی همانطور که در بالا نیز اشاره کردم، کارت صوتی است
.
من ابتدا یک هسته با
OSS
فعال ساختم
.
کارت صوتی کار میکند، ولی وقتی که مودم در حال دریافت داده است صدا قطع و وصل میشود
.
من مجددا دست به کار شده و یک هسته دیگر با
ALSA
میسازم
.
در صورتی که
alsa-libs
و
alsa-utils
در سیستم نصب شده باشد، بدون هیچ مشکلی کارت صوتی کار خواهد کرد
.
برای اینکه اطمینان حاصل کنید که کارت صوتی توسط
ALSA
شناخته شده است، پس از نصب هسته جدید و بوت سیستم، دستور زیر را تایپ کنید
:
# cat /proc/asound/cards
0 [Live ]: EMU10K1 - Sound Blaster Live!
Sound Blaster Live! (rev.7) at 0xd000, irq 19
همانطور که در خروجی فرمان مشاهده میکنید، کارت صوتی من که یک
Creative Live
است نصب شده است
.
در صورتی که با وجود شناسایی صدا وجود نداشت، یا ابزارهای
alsa
صحیح نصب نشده است
(
مجددا نصب کنید
)
و یا میسکر صوتی در حالت خاموش است
.
با دستور
alsamixer
آن را تصحیح کنید
.
با وجود تغییر سیستم صوتی، باز هم مشکل قطع و وصل شدن صدا وجود دارد
. Wget
را برای دانلود یک فایل راهاندازی میکنم
.
صدا قطع و وصل نمیشود
.
به فایربرد شک میکنم
.
کانکرر را اجرا کرده و چند سایت را با آن مرور میکنم
.
مشکلی وجود ندارد
!
بیچاره هسته
2.6!
مشکل از فایربرد است
!
احتمالا چیزی با هسته
2.6
سازگاری ندارد
.
میرسیم به مشکل
Frame Buffer.
من در هسته جدیدی که با صدای
ALSA
کامپایل کردم، در بخش
Frame Buffer
، بجای حالت
Vesa
گزینه
Riva
را انتخاب کردم که مخصوص کارتهای
nVidia
است
.
اکنون باید سیستم را برای آزمایش حالتهای مختلف راهاندازی کنم
.
با قرار دادن گزینه زیر،
Frame Buffer
نیز صحیح کار میکند
:
kernel /vmlinuz-2.6.0 root=/dev/hda3 ro hdb=scsi video=rivafb:
1024x768@85
البته هنوز یک اشکال وجود دارد
.
هنگام فعال شدن
Frame Buffer
، در کنار لوگوی تاکس، یک مستطیل سفید رنگ ایجاد میشود که معلوم نیست به چه علت است
.
البته پس از چند ثانیه از میان میرود
.
به فکر افتادم تا دستگاه
CD
نویس خود را نیز آزمایش کنم
.
بنابراین
K3B
را راهاندازی کرده و یک
CD
در درایو قرار دادم
.
بسته هسته
2.6
را برای نوشته شدن انتخاب کردم تا فردا آنرا در کامپیوتر محل کارم نیز نصب کنم
.
عملیات بدون مشکل انجام شد و به اتمام رسید
.
عالی است
.
نتیجهگیری
مستندات و عملکرد هسته
2.6
، پیشرفت قابل توجهی را نشان میدهد
.
ولی این هسته به این زودیها توسط توزیع کنندگان عمده لینوکس مانند ردهت یا
SuSE
بکار گرفته نخواهد شد
.
قطعا هسته جدید بدون اشکال نیست و بزودی اشکالاتی از آن پدیدار خواهد شد
.
مثلا هنوز برخی از وصلههای امنیتی هسته
2.4
در آن پیاده سازی نشدهاست
.
انتظار ۶ ماه تا یکسال این توزیع کنندگان نیز به همین علت است
.
تا آن هنگام، هسته جدید کاملا قابلیت اجرا در محیطهای عملیاتی را خواهد داشت
.
ردهت تا ابتدای سال ۲۰۰۵ و
SuSE
تا تابستان ۲۰۰۴ این هسته را در تولیدات خود بکار نخواهند گرفت
.
ولی این مانع از آن نمیشود که افراد علاقهمند آنرا در سیستمهای خود بکار نگیرند
!
البته عملیات تبدیل را باید با احتیاط انجام دهید
.
بهتر است هسته جدید ابتدا یک یا دو ماه روی یک سیستم نصب شده و سپس به سایر سیستمها منتقل شود
.
البته فعلا به هیچ وجه آنرا در سرویسدهندهها بکار نگیرید تا کاملا اشکالیابی شود
.