Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: tuxi в Aug 28, 2004, 17:26



Титла: kernel
Публикувано от: tuxi в Aug 28, 2004, 17:26
В момента съм с Debian Sarge и ядро 2.4.25-1. Истеглих си сорса на ядро 2.6.7 и го компилирах "make dep bzImage modules modules_install" "make install". В директория /boot се поевиха config-2.6.7-new.1 initrd-2.6.7-new.1.img System.map-2.6.7-new.1 vmlinuz-2.6.7-new.1 . Боот лоадъра ми е grub, редактирам /boot/grub/menu.lst
-----------------------------------------------
title      Debian GNU/Linux, kernel 2.4.25-1-386
root      (hd0,2)
kernel      /boot/vmlinuz-2.4.25-1-386 root=/dev/hda3 ro
initrd      /boot/initrd.img-2.4.25-1-386
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.7-new.1
root            (hd0,2)
kernel          /boot/vmlinuz-2.6.7-new.1 root=/dev/hda3 ro
initrd          /boot/initrd-2.6.7-new.1.img
savedefault
boot
------------------------------------------------------------
рестартирам и се опитвам да заредя новото ядто но ми издава съобщение че не може да маунтне root партишъна. Къде бъркам??? Меррси предварително!!!


Титла: kernel
Публикувано от: Agent_SMITH в Aug 28, 2004, 19:38
Здрасти:

В ето тази тема брат Алабал е посочил линк с (вероятно) най-добрия начин за компилиране на дебиан ядро. В началото доста се мъчих (ненужно) с други варианти, преди да започна да компилирам ядрата си "по начина на брат Алабал" ;)

Успех


Титла: kernel
Публикувано от: JohnDoe в Aug 29, 2004, 00:54
Oooo 2.6.7
този проблем го има когато файловата ти система не е ext2 ами някаква друга това се боотва по друг начин ако то е на модул за ф.системата или в кърнъла макар че аз до сега така и не можах да го накарам когато ф.системата ми е на reiserfs и е компилиран в кърнъла да боотва. Винаги ми дава тази грешка. Също така проблема може да е в това ако случайно си забравил да компилираш нещо отностно ide контролера :)


Титла: kernel
Публикувано от: tuxi в Aug 29, 2004, 13:26
като пробвам
Цитат (Agent_SMITH @ Авг. 28 2004,20:38)
Здрасти:

В ето тази тема брат Алабал е посочил линк с (вероятно) най-добрия начин за компилиране на дебиан ядро.


получавам следното:

#make-kpkg --append_to_version -686 --initrd --revision=new.01 kernel_image
Warning: You are using the initrd option, that may not
work unless you have applied the initrd cramfs patch to
the kernel, or modified mkinitrd not to use cramfs by
default. The  cramfs initrd patch, is included in the
Debian supplied kernel sources, but is not present in
pristine kernel sources.
By default, I assume you know what you are doing, and I
apologize for being so annoying. Should I abort[Ny]?
n
#cd ..
#dpkg -i /usr/src/kernel-image-2.6.8_new.01_i386.deb
#shutdown -r now

Cannot open root device "hda3" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0)

ето го и партишън тейбъла
#fdisk /dev/hda

Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2270    18233743+   c  W95 FAT32 (LBA)
/dev/hda2            2706        9964    58307917+   f  W95 Ext'd (LBA)
/dev/hda3            2271        2705     3494137+  83  Linux
/dev/hda5            3845        9964    49158868+   b  W95 FAT32
/dev/hda6            2706        3790     8715199+  83  Linux
/dev/hda7            3791        3844      433723+  82  Linux swap

Partition table entries are not in disk order

Пак нещо не е наред?????


Титла: kernel
Публикувано от: JohnDoe в Aug 29, 2004, 13:41
Абсолютно същия проблем, 10 пъто го правих това init.rd и не ще и не ще да тръгне, най-накрая се ядосах и го преинсталирах на ext2.
Изчетох сумати страници по въпроса и всички се кълнът в хор че така тярбва да е,  е хубу ама неще да тръгва. Пробвах го да го набутам в кърнъла да си го дигне ауто  , на 2.4 минаваше ама на 2.6 ...  :angry:
Ако намериш накякво разрешение на въпроса, сподели го с нас.  ;)


Титла: kernel
Публикувано от: n_antonov в Aug 29, 2004, 13:49
Един джокер:) Обърни внимание на настройките в /etc/mkinitrd. Определено, там е ключът от палатката;) Можеш съвсем собственоръчно да кажеш точно кои модули да влязат в initrd-то. И освен това, нищо не ти пречи, след като инсталираш новото ядро, да монтираш ръчно initrd-то и да видиш какво има в него и дали е точно това, което ти трябва.


Титла: kernel
Публикувано от: JohnDoe в Aug 29, 2004, 14:33
това съм го правил преди точно както е обяснено в документацията, но не тръгна.
Виж обаче не се бях сетил да си го маунта ръчно ...


Титла: kernel
Публикувано от: в Aug 29, 2004, 14:57
Ами ако не искаш или не ти трябва - махни опцията --initrd, а ако искаш, просто даваш Y - съгласяваш се с компилацията.
То ти казва, че патча го има в Дебианския код на ядрото. Което е по-интересно компилирал съм и не дебиански сорс и няма ама абсолютно никакви проблеми.


Титла: kernel
Публикувано от: alabal в Aug 29, 2004, 15:09
Дааа, ето как става като не чета внимателно и не съм се логнал, за да си редактирам глупостите после!
Идея: Виж дали си отметнал devfs и разните му псевдо файлови системи:
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_DEVFS_FS=y
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

P.S.: Провери пак и дали след dpkg -i кернела и initr.img са описани правилно в grub.conf или в menu.list


Титла: kernel
Публикувано от: dilyan в Aug 30, 2004, 22:48
не знам за Дебиан, но на СуСЕ го правя така:
mkinitrd -k vmlinuz_novia -i initrd_novia
и съм нямал проблеми


Титла: kernel
Публикувано от: sdr в Aug 31, 2004, 08:39
Аз като тъп слакер да запитам - аджеба вие не си ли настройвате кернела преди да го компилирате? Ако не - защо изобщо си губуте времето карайте си с stock, ако да - за чий .... не си изберете root фс-а да се компилира статично в кернела и да забравите за глупостите с initrd?

Единственото положение при което ще ви трябва наистина init.rd е ако се опитвате да направите boot върху непозната машина...ако е така - бива - троши си главата...

Remember: KISS - Keep It Simple - Stupid!


Титла: kernel
Публикувано от: dilyan в Aug 31, 2004, 13:57
малка поправка тип уточнение към поста по-горе. Ако си с ReiserFS си трябва initrd, независимо как/къде и по какъв начин си компилирал съпорта за файловата система. Това го пише и в reiser и в SuSE Readme-тата. Ако някои знае как става и го е правил без initrd моля нека напише статия по въпроса.
поздрави


Титла: kernel
Публикувано от: sdr в Aug 31, 2004, 14:26
Аз друго освен ReiserFS не ползвам, a initrd направих веднъж просто за ташак - тръгна няма проблеми но ми се струва глупаво - все едно да се почешеш зад врата с крак - по някога се налага но аз предпочитам да го направя "както го е милсли Господ" с ръчица...

някъде из /usr/src/linux/.config:

CONFIG_REISERFS_FS=y


Титла: kernel
Публикувано от: n_antonov в Aug 31, 2004, 14:37
Цитат (dilyan @ Авг. 31 2004,16:57)
малка поправка тип уточнение към поста по-горе. Ако си с ReiserFS си трябва initrd, независимо как/къде и по какъв начин си компилирал съпорта за файловата система. Това го пише и в reiser и в SuSE Readme-тата. Ако някои знае как става и го е правил без initrd моля нека напише статия по въпроса.
поздрави

Хм, няма проблем да си ползваш reiserfs за root-дял и без initrd, стига разбира се да си компилирал поддръжката статично. Възможно е това, което е пишело, да е просто стара информация.


Титла: kernel
Публикувано от: Hapkoc в Aug 31, 2004, 14:51
И аз също така си мисля, че няма проблем ако е компилирана поддръжката статично. И също така не виждам причина да не компилираш статично поддръжката за root файловата си система.


Титла: kernel
Публикувано от: july в Aug 31, 2004, 17:01
тъкмо щях да поствам lilo.conf щото там няма нищо за initrd, а всичките (без swap) linux дялове са reiserfs...

a long time ago, когато mandrake 7 беше прясна:) експериментирах с пре-реалииз на райзера... пишеше че може и да не боотне, и ме посъветва да си направя и boot дял, (ext2), е направих си, ама си боотва от тогава от resierfs без да се притеснява...


Титла: kernel
Публикувано от: tuxi в Aug 31, 2004, 18:48
Каквото и да правя ядрото не се зарежда и това си е:angry:  :angry:  :angry:

Някой може ли да ми даде един линк с много ама много подробна информация как линукс стартира какво му трябва и какво не!!! (от боот лоадъра до стартирането на login)


Титла: kernel
Публикувано от: july в Sep 01, 2004, 10:15
http://www.ibiblio.org/mdw/HOWTO/BootPrompt-HOWTO.html

http://www.ibiblio.org/mdw/HOWTO/Linux-i386-Boot-Code-HOWTO/index.html

http://web.rsise.anu.edu.au/~okeefe/p2b/

http://www.linux.org/docs....-2.html


колко е голямо ядрото? питам, защото аз претърпявал неуспех с зареждане на голямо ядро...


Титла: kernel
Публикувано от: tuxi в Sep 01, 2004, 10:35
vmlinuz-2.6.8 -> 1.3MB
ext2 i ext3 съм ги сложил в ядрото. Не съм ги компилирал като модули


Титла: kernel
Публикувано от: july в Sep 01, 2004, 11:06
ако имаш подръка по-малко (около 600к) провай с него без други промени, ако нямаш си компилирай, като което може го сложи като модули


Титла: kernel
Публикувано от: july в Sep 01, 2004, 11:17
това също може да ти е интересно
http://www.linuxjournal.com/article.php?sid=2239


Титла: kernel
Публикувано от: tuxi в Sep 01, 2004, 17:41
мерси за линковете сега ги почвам


Титла: kernel
Публикувано от: tuxi в Sep 16, 2004, 11:09
най накрая заредих новото ядро 2.6.8
ето как става за всички които още се мъчат с него:
1. make xconfig (настройка на ядрото от Никола Антонов http://linux-bg.org/cgi-bin....742097)
2. make dep bzImage modules modules_install
3. cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.8
4. cp /usr/src/linux/System.map /boot/System.map-2.6.8
5. mkinitrd -o /boot/initrd-2.6.8.img /lib/modules/2.6.8/
6. ln -s /boot/vmlinuz-2.6.8 /boot/vmlinuz
7. ln -s /boot/System.map-2.6.8 /boot/System.map
8. ln -s /boot/initrd-2.6.8.img /boot/initrd
9. настройка на grub (/boot/grub/menu.lst)
#####################################
title           Debian new kernel
root            (hd0,2)
kernel          /boot/vmlinuz root=/dev/hda3 ro
initrd          /boot/initrd
savedefault
boot
######################################
където трябва да промените (hd0,2) и /dev/hda3 да отговарят на root партишъна
10. shutdown -r now

Успех!!!


Титла: kernel
Публикувано от: n_antonov в Sep 16, 2004, 11:55
Браво, но процедурата може значително да се опрости.

Настройката на grub е излишна, защото има команда update-grub;)

Създаването на initrd също е излишно, ако си компилирал модула за root-файловата система и някои други критични модули статично.