26.12.2016 23:10, Carlos E. R. пишет: ...
cer@Telcontar:~> l /boot/vmlinu* -rw-r--r-- 1 root root 6868986 Dec 9 23:39 /boot/vmlinux-4.4.36-8-default.gz lrwxrwxrwx 1 root root 24 Dec 26 14:38 /boot/vmlinuz -> vmlinuz-4.4.36-8-default -rw-r--r-- 1 root root 2026208 Jan 28 2009 /boot/vmlinuz-2.6.25.20-0.1-cer -rw-r--r-- 1 root root 5877960 Dec 10 00:22 /boot/vmlinuz-4.4.36-8-default lrwxrwxrwx 1 root root 25 Jan 31 2010 /boot/vmlinuz-cer -> vmlinuz-2.6.25.20-0.1-cer lrwxrwxrwx 1 root root 35 Jan 31 2010 /boot/vmlinuz-cer.old -> /boot/vmlinuz-2.6.22.13-0.3-cer.old cer@Telcontar:~>
...
The /&&/%$ thing is booting "vmlinuz-cer", which is vmlinuz-2.6.25.20-0.1-cer and dated 2010! And 32 bit!
So it was unsupported binary format after all :)
Now, how do I tell grub2 to boot the correct kernel by default?
You can tell which kernel should be default, but then it will also stick even after update. You cannot tell it to skip some kernel.
Why did it pick that one, is it a bug?
It depends on your definition of a bug. grub default scripts sort kernel names in descending order and pick up the first one as default assuming it has the highest version. It works as long as names are uniform. In your case "cer" sorts before numerical and so is considered "the most recent".
Of course, I can delete that old kernel, but will it then pick the right one?
If you delete this symlink vmlinuz-2.6.xxx should sort after vmlinuz-4.4.xxx and so not chosen as default.