PDA

View Full Version : Lilo و کامپایل هسته



بمب منطقی
یک شنبه 21 بهمن 1386, 15:47 عصر
با سلام:
من موقع کامپایل هسته به این صورت عمل میکنم میشه بگین کجای کار من ایراد داره که گزینه هسته جدید به منوی Lilo اضافه نمیشه؟


1- Log in with ROOT
2- cp LinuxKernel.tar.bz2 /usr/src/
3- Extract LinuxKernel.tar.bz2 in /usr/src
4- ln -s LinuxKernel linux
5-cd linux

در این مرحله وصله ای رو به هسته اضافه کردم

6- cat /path/PatchName.bz2 |bzip2 -d|patch -p1 -l
7-make menuconfig

تو منوی کانفیک بجز گزینه های مربوط به وصله مربوطه جدید چیز دیگه ای رو عوض نکردم


8-make dep
9-make clean
10-make bzImage
11- make modules
12-cp /usr/src/linux/arch/i386/boot/bzImage /boot/newKernel
13-make modules_install




فایل lilo قبلا این شکلی بود


prompt
timeout=50
defult=DOS
boot=/dev/hda
map=/boot/boot.b
message=/boot/message
lba32


image=/boot/vmlinuz-2.4.20-
label=linux
initrd=/boot/initrd-2.4.20-6.img
read-only
append="hdd=ide_scsi root=LABEL/"


other=/dev/hda1
optional
label=DOS

که به این صورت تغییر دادم


prompt
timeout=50
defult=DOS
boot=/dev/hda
map=/boot/boot.b
message=/boot/message



lba32


image=/boot/vmlinuz-2.4.20-
label=linux
initrd=/boot/initrd-2.4.20-6.img
rad-only
append="hdd=ide_scsi root=LABEL/"


image=/boot/newKernel
label=new
read-only


other=/dev/hda1
optional
label=DOS

در این مرحله سورس یک ابزار رو هم کامپایل و نصب کردم




14-Extract toolsFile.tar.bz2 in/home
15-cd /home/toolFile
16- ./configure --with-kerneldir=/usr/src/LinuxKernel
17- make
18-make install


با وجود این کارا گزینه new به Lilo اضافه نشد
توزیعم هم RedHat 9 هستش

بمب منطقی
دوشنبه 22 بهمن 1386, 12:29 عصر
چطور شد؟ کسی بلد نیست؟!!!
ببینم،اگه هسته رو در حالت Grub Bootloader کامپایل کنم. دیگه نیازی به این خط دستور وجود داره یا نه؟

12-cp /usr/src/linux/arch/i386/boot/bzImage /boot/newKernel

saeedIRHA
دوشنبه 22 بهمن 1386, 18:23 عصر
بعد از اینکه تنظیمات lilo رو تغییر دادی باید این فرمان رو اجرا کنی:
lilo -v
که MBR , Overwrite بشه

بمب منطقی
سه شنبه 23 بهمن 1386, 00:13 صبح
خیلی ممنون از جوابتون.یه سوال مرتبط دیگه:
اون ابزاری که در مرحله آخر کامپایل و نصب کردم(خط 14 تا 18) مرتبط به اون وصله ای است که در خطوط 6 و 7 به هسته patch کردم.حالا سوالم اینجاست که ایا اول باید سیستم رو reboot کنم و با هسته جدید رو لود کنم و بعد خطوط 6 و 7 رو اجرا کنم؟ آخه بعد از reboot سیستم وقتی با هسته قدیمی می خوام لود کنم error میده.

saeedIRHA
سه شنبه 23 بهمن 1386, 03:20 صبح
تا انجا که من میدونم ربطی به Kernel نداره,
مادامی که شما یک برنامه رو کامپایل میکنی در سیستم 32 بیتی
و اون فایل استاندارد ELF هست یعنی این فایل در تمام سیستم های 32 بیتی
باید اجرا بشه و رابطی به Version Kernel ت نداره!
*البته باید حواست به Libc و Library های که برنامه استفاده میکنه باشه
چون در Version های مختلف ممکنه به مشکل بر بخوری.
در اینجا هم شما داری مسیر هدر های کرنل جدیدت رو مشخص میکنی
که برای کامپایل ممکنه کامپایلرت احتیاج داشته باشه!

بمب منطقی
چهارشنبه 24 بهمن 1386, 15:51 عصر
ایول دستت درد نکنه. (در مورد lilo -v)
به خاطر همین مشکل یه بار هم با grub هسته رو خیلی راحت به این شکل کامپایل کردم:
make menu config
make dep
make clean
make bzImage
make modules
make modules_install
make install

ولی وقتی میخوام با هسته جدید لود کنم این error موقع لود میاد:

vfs:can not open root device "Label=/"or 00:00
please append a correct "root=" boot option
kernel panic:vfs:unable to mount root fs on 00:00
جریان چیه؟