دوست خوبم نوید اشاراتی به چگونگی درست کردن کرنل شخصی کرده اند.ما هم کار ها را تمام و کمال انجام دادیم ولی خوب هیچ کاری بدون ایراد نمی شود ما هم به مشکلاتی برخوردیم.اگر در حین بوت شدن سیستم به ایراد هایی برخوردیم با چه روشی می توانیم این ایراد ها رو برطرف کنیم و یک کرنل شخصی بدون ایراد داشته باشیم.
تلاش من اینه که اول ایراد هایی که خودم بهشون برخوردم و روش رفع اونا و همچنین رفع مشکلات مشابه را به ما بگم.
باید بگم اولین اتفاقی که افتاد این بود که کرنل بنده نتوانست با هارد اکسترنال که فرمتش fat بود ارتباط برقرار کند.برای اینکه بفهمم ایراد چه بود از دستور dmesg استفاده کردم.
اشاره شده به نصب نبودن زبان cp437 بعد از جستجو فهمیدم که هنگام کامپایل کردن این زبان را با کرنل کامپایل نکرده بودم.حالا چه کردم.
من فایل کانفیک را با دستور
make menuconfig
تغییر دادم و دوباره کرنل را ساختم.در این نوبت کل کرنل ساخته نشد بلکه فقط اون قسمتی که اضافه شد و یک عدد به تعداد کامپایل های ما اضافه شد.(یعنی این شکلی شد)
make -j 2
uname -a
Linux Voyoger 2.6.33 #3 SMP Sat Mar 13 16:26:46 CET 2010 i686 GNU/Linux
سپس با این دو دستور و این دستور فایل های لازم و ماجول های مورد نیاز در جا های خودشون کپی شد.
make modules
sudo make modules_install
sudo make install
sudo mkinitramfs -o /boot/initrd.img-2.6.x.x
در اینجا برای هر ماجولی که فراموش شده در هنگام کامپایل یا در اینده می خواهد اضافه شود،می توان از این روش استفاده کرد.
دومین مشکل وایرلس بود.یعنی باید درایورشو با کرنل کامپایل می کردم.برای این کار ابتدا فایل سرس را از سایت سازنده (برای من برادکام) دریافت کردم.سپس در یک فولدر مجزا باز کردم.
tar -xvzf hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
برای کامپایل کردن باید از دستور make استفاده کنیم.برای من به مشکلی برخورد و نتوانست فایل autoconf.h را پیدا کند و مجبور شدم خودم فایل را ادیت کنیم و آدرس فایل رو که با (locate) پیدا کرده بودم قرار بدم.
کامپایل با موفقیت انجام شد.این ماجول ایجاد شده را می توان به صورت مجزا استفاده کرد.
wl.o , wl.ko, wl.mod.o
برای همین در قسمت ماجول ها کپی کردم.
sudo cp wl.ko /lib/modules/2.6.33/kernel/drivers/net/wireless/
البته باید قبلش دو پوشه ی net و وایرلس را ایجاد کرده باشید.سپس با دستور به لیست ماجول ها اضافه کردم.
sudo depmod
برای اینکه مطمئن بشیم اضافه شده از دستور زیر استفاده می کنیم.
cat /lib/modules/2.6.33/modules.dep
در آخر هم
sudo modprobe wl
اجرا کردم و خوب ماجول به کرنل (به عنوان ماجول خارجی) اضافه شد بعد ری استارت و اینکه الان با وایرلس وصل هستم.
البته ایراد های دیگری هم حین بوت شدن سیستم دیده می شود که می توان با اجرای این دستور
dmesg
less /var/log/messeges
less /var/log/kernel
آن ها را پیدا کرد و سپس با یک جست و جو در اینترنت این ایراد ها را برطرف کرد.
*کرنلی که شخصی سازی شده باشه زمان کمتری را برای بوت شدن تلف می کند.
*همیشه وقتی کرنل رو کامپایل و بعد نصب می کنید فولدری که درش لینوکس خود را کامپایل کردید رو پاک نکنید یا اگر پاک می کنید فایل کانفیگ رو نگه دارید
33 بازدید


(هنوز هیچ رای داده نشده است)