Nachdem wir Linux auf einem Notebook installiert haben, wollten wir den Kernel neu kompilieren (wegen APM). Allerdings kann man diesen neuen Kernel nicht booten. Es kommt die Fehlermeldung: „Kernel panic: cant mount root“ oder so ähnlich. Jedenfalls ist auffaellig, das er wenn man den normalen Kernel bootet, bevor er das root fs mountet, das reiserfs-modul und das ide-scsi-modul lädt, was ja nur sinn macht. beim eigenen Kernel macht er das aber nicht. nun mal detailliert:
SuSE 8.1
kernel mit make menuconfig konfiguriert
dann make dep clean modules modules_install bzImage
dann die System.map nach /boot/System.map.neu kopiert
dann das bzImage nach /boot/vmlinuz.neu kopiert
nun ein mkinitrd -k /boot/vmlinuz.neu -i /boot/initrd.neu
-> meldet das er die reiserfs.o und ide-scsi.o einbindet (findet sie auch)
diesen Splash-screen
dann in der menu.lst von grub den neuen kernel hinzugefuegt (per copy&paste
des bestehenden kernels + anpassen der namen)
aber er bricht ab. muss man vielleicht noch irgendwas tun ? waere dankbar für hilfe, wo es doch so viele linux experten hier gibt
Nachdem wir Linux auf einem Notebook installiert haben,
Aha, auf einem Notebook also…
wollten wir den Kernel neu kompilieren (wegen APM). Allerdings
kann man diesen neuen Kernel nicht booten. Es kommt die
Fehlermeldung: „Kernel panic: cant mount root“ oder so
ähnlich. Jedenfalls ist auffaellig, das er wenn man den
normalen Kernel bootet, bevor er das root fs mountet, das
reiserfs-modul und das ide-scsi-modul lädt, was ja nur sinn
macht. beim eigenen Kernel macht er das aber nicht. nun mal
detailliert:
SuSE 8.1
IIRC hat SuSE mal den Kernel gepatcht, so dass Du in /proc/config.gz eine gezipte .config findest, die Du mit
gzip -cd /proc/config.gz \> .config
im source directory des Kernels als Basis fuer Deine Konfiguration nehmen koenntest. Du solltest dafuer an dieser Stelle ein
make oldconfig
einfuegen.
kernel mit make menuconfig konfiguriert
dann make dep clean modules modules_install bzImage
dann die System.map nach /boot/System.map.neu kopiert
dann das bzImage nach /boot/vmlinuz.neu kopiert
nun ein mkinitrd -k /boot/vmlinuz.neu -i /boot/initrd.neu
-> meldet das er die reiserfs.o und ide-scsi.o einbindet
(findet sie auch)
Ich werd im Leben nie den Sinn der initrd begreifen (zumindest nicht bei einer Installation). Welchen tieferen Grund hat es, dass Du Treiber nicht direkt in den Kernel stopfst?
diesen Splash-screen
dann in der menu.lst von grub den neuen kernel hinzugefuegt
(per copy&paste
des bestehenden kernels + anpassen der namen)
aber er bricht ab. muss man vielleicht noch irgendwas tun ?
waere dankbar für hilfe, wo es doch so viele linux experten
hier gibt
Unter welche Geheimhaltungsstufe fallen Deine /boot/grub/grub.conf, /etc/fstab sowie die Ausgabe von fdisk -l $BOOTDEV?
Hmm…war ein Gericom mit AMD XP 2000+ , falls dir das etwas hilft.
IIRC hat SuSE mal den Kernel gepatcht, so dass Du in
/proc/config.gz eine gezipte .config findest, die Du mit
gzip -cd /proc/config.gz > .config
im source
directory des Kernels als Basis fuer Deine Konfiguration
nehmen koenntest. Du solltest dafuer an dieser Stelle ein
make oldconfig
einfuegen.
koennte man mal probieren, mal schauen ob es was aendert.
Ich werd im Leben nie den Sinn der initrd begreifen (zumindest
nicht bei einer Installation). Welchen tieferen Grund
hat es, dass Du Treiber nicht direkt in den Kernel stopfst?
das ist mir egal, ob das initrd seine daseinsberechtigung hat
oder nicht, aber es sollte ja funktionieren, tut es beim standard
kernel ja auch. wenn ich die reiserfs mit in den kernel nehmen, kommt
der gleiche fehler.
Unter welche Geheimhaltungsstufe fallen Deine
/boot/grub/grub.conf, /etc/fstab sowie die Ausgabe von fdisk
-l $BOOTDEV?
sehr zynisch . die grub.conf gibbet nicht, die anderen sachen koennte
ich spaeter posten.