kernel forditás után hibák tömkelege

Fórumok

2.6.18.1 es kernelt fordítottam le sarge alá. Minden rendben ment, lefordult az image, kernel modulok és fel is instalálódtak, legalábbis ezt írta ki. Liló is beállította az új kernelt.
Viszont újrainditás után "/dev/console" konzol hibaüzenet jelenik meg és nem találja a modulok könyvtárát sem. Mit rontottam el? Kernel a hangkárty miatt kell "high definition audio" karesz támogatása végett. Így fordítottam ala wiki:
-source /usr/src-be
-tar -xzvf linux-2.18.1.tar.gz
-cd linux-2.18.1
make clean
make xconfig
make bzImage
make modules; make modules_install

Végül a létrejött bzImage másolása /boot-ba, lilo beállítása, reboot

A hibaüzenetek:
-modprobe Fatal: Could not load /lib/modules/2.6.18.1/modules.dep: No such file or directory

-devfs: not mounted
-pivot_root: No such file or directory
-/sbin/init/: 432 cannot open /dev/console
-Kernel panic

Hozzászólások

Szia.
Valoszinuleg nem forgattad bele a modulokat a kernel imagebe.
mkinitrd -o /boot/initrd.img-2.6.18 2.6.18

Hat ha modul, akkor annak nem sok keresnivaloja van az image-ben.
Probald ki a depmod parancs utan az lsmod parancsot.
Ha nem ir semmit, akkor gaz van. Ha elkezdi sorolni a betoltott
modulokat, akkor javul a helyzet. Ha nincs betoltve egy sem,
akkor is probalkozhatsz a modprobe modul_neve paranccsal.
Szoval, benezel a /lib/modules konyvtarba, azon belul is abba,
amelyiket forditottal es megnezed, egyaltalan vannak-e modulok.
Aztan azok kozul megporobalsz egyet betolteni, csak a vegerol a
.ko vegzodest hagyd le.

Najo, es az lsmod? Az listazza a betoltott modulokat. A modprobe betolti

modprobe modul_nev
lsmod

De ki is probalhatod, ha az lsmod szerint vannak betoltott modulok.
Valassz egy olyat, ami nincs betoltve, legyen xyz.ko a neve.
modprobe xyz
lsmod | grep xyz

Ha betoltotte, akkor kiirja. Ha nem, akkor nem.

UPDATE: most latom, be sem bootol, szoval a fenti felejtos.
Valami olyat raktal modulba, ami felejtos. Nem tudom, a
virtualis konzolok tamogatasat lehet-e make config-nal
modulba rakni, de ha igen, akkor inkabb forditsd kernelbe.
Es elso korben hagyd az initrd-t, ami kell a boothoz (fs, disk device, stb)
menjen kernelbe, mas pedig modulba.

Initrd-t vedd ki, valószínűleg az a baja.(nem irtad, de a pivot_root -ból az következik, hogy egy régebbi kernel initrd image-ét tölti be)

Ha meg úgyis debian, akkor készítsünk szép deb csomagot és ezzel elkerüljük a kerneltelepítés során elkövethető hibák egy részét:
make menuconfig/xconfig után
make-kpkg --bzimage --revision=1.0 kernel_image
(van még sok szép kapcsoló, de először ez is elég)
a létrejött deb csomagot meg csak dpkg -i paranccsal telepíted, majd reboot
(persze még szebb, ha van az általunk késztett deb csomagokra hivatkozás a source.list-ben)

Bye, Fifi

Fordítani akartam 1 kernelt (2.6.X.X).Meg is történt a fordítás de nem ment.
A hiba a következő:
VFS: cannot open root device "hda7" or unknow-device (0,0)
Please append a correct "root=" boot options
Kernel-Panic: Vfs: Unable to mount root fs on unknow-device (0,0)

A hda7 a root partícióm és Ext3 a fájlrendszer.A kernelbe bele van fordítva fixen az Ext2 és az Ext3 is.
Grub-ot használok,a beállítása a köv.:

title Debian GNU/Linux, kernel 2.6.8.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.8.1 root=/dev/hda7 ro
savedefault
boot

próbáltam 2.6.8.1 -es kernelt és 2.6.18.1 -est is de ugyanaz.
A debian devd-n (sarge 3.1) fent volt egy kész kernel csomag (2.6.8-2-686-smp)
ez nem ír ilyen hibát, és az eredeti 2.4-es kernele sem írt ilyet.
légyszi segítsetek!

úgy tudtam hogy "/dev/sda" a scsi szközök neve.
a gépembe pedig PATA vinyó van.
a többi kernel is a /dev/hda - t használja.
és 2.6.8.1 el is ugyan az az üzenet.
amikor a müködő kernel beboot-ol akkor kiir valami cramfs kifejezést ott ahol az újrafordított kernel megakad.
Néztem a .config fájlt hogy nem ez lehet-e a baj,de az is fixen bele van fordítva.

Ma leforgattam a 2.6.21.3 as kernelt a SID-emhez, de valami nem stimmel. Ugyanugy csinaltam mindent mint eddig.
- make menuconfig
- fakeroot make-kpkkg ...
- gpkg -i ...
- mkinitrd /boot/...
aztan a grubban felvenni az lst-ben az initrd -t.
Boot utan ilyet tol:


modprobe:FATAL: Could not load /lib/modules/2.6.21.3emul/modules.dep: No such a file or directory

umount: devfs: not mounted
pivot_root: No such a file or directory
/sbin/init: 432: cannot open dev/console:No such a file
Kernel panic - not syncing : Attemped to kill init!

A filesystemhez minden be van forgatva a kernelbe, tehat ez elvileg nem lehet a baj, ha csak nem valtozott meg valami gyokeresen ebben a kernelben.

Itt a kernelconfig
-----------------
Mindenre tudok magyarázatot találni, legfeljebb nem stimmel.

Hello!

Nem értem ,hogy miért erőlteti mindenki ezt az initrd készítést. Én ha csak tehetem jó messzire elkerülöm az olyan kerneleket ahol initrd-t is kell csinálni. Elképesztő egyszerűen ki lehet kerülni csak a használt file rendszert és az alaplap chipsetjét fixen kell a kernelbe fordítani és már is nem kell initrd. Persze ez csak akkor igaz ,ha az ember olyan hardverekkel rendelkezik aminek nem kell a kernel betöltése elött is már használatban lenni.

Üdv.