Das Geheimnis der von
grub-mkconfig gefundenen/nicht gefundenen Kernels war etwas schwer aufzuklären, aber ich glaube, ich hab's jetzt entdeckt.
Wenn ich das, was in einer
unveränderten Datei
/etc/grub.d/10_linux drin steht, mal durchwühle, kommt irgendwann Folgendes zum Vorschein:
Code: Alles auswählen
machine=`uname -m`
case "x$machine" in
xi?86 | xx86_64)
list=
for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
done ;;
*)
list=
for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
done ;;
esac
Dort sieht man, dass für Rechner, die mit einem Kernel für 32-Bit-i386-Architektur oder "x86_64" (64-Bit i686) gestartet wurden, nur nach Kernels gesucht wird, deren Dateinamen mit "vmlinux-", "vmlinuz-" oder "kernel-" beginnen und die in / oder
/boot drin sind. Ein Posting von fischig eine "Seite" vorher, in der "funktionierende" und "nicht funktionierende" Kernels angegeben sind, zeigt, dass die selbst erstellten, nicht funktionierenden Kernels kein Minuszeichen hinter "vmlinux" oder "vmlinuz" haben. Ein einfaches Umbenennen dürfte schon reichen, damit
grub-mkconfig den Kram plötzlich und (un?)erwartet findet.
Hab' ich dann natürlich auch gleich mal ausprobiert. Einen Kernel-Selbstbau namens
/boot/bzImage findet
grub-mkconfig bei mir nicht, eine 1:1-Kopie namens
/boot/vmlinuz-kacke dagegen schon. Die so gebaute
grub.cfg zeigt, dass er dann beim Booten melden würde: "Loading Linux kacke".
(Ich komm' vom Lande, da kann man sich an solchen Scherzen noch aufgeilen.)
Ich möchte an dieser Stelle nochmal dafür plädieren, eher
nicht selbst die
grub.cfg von Hand zu editieren. Es steht dick und fett da drin, dass man das nicht soll, und auch, warum nicht:
Wenn dann endlich mal einer von grubs "Helfern" (
grub-mkconfig o.ä.) gestartet wird, schmeißt der nämlich die mühsam erstellte
grub.cfg gleich auf den Müll, und weg ist die mühevoll geschriebene eigene
grub.cfg! Besser, man bastelt seine eigenen Einträge erst mal brav in
/etc/grub.d/40_custom.cfg (oder wie diese "custom"-Datei genau heißen mag) und lässt grubs "Helfer" dann ihren Job machen - dann werden die Dinger von denen brav in die
grub.cfg eingebaut, und was man so frickelt, geht auch nicht so leicht verloren.