Click to See Complete Forum and Search --> : Strange booting result


impert
09-29-2010, 09:07 AM
Hi all,

I've just managed to boot a linux distro with a kernel which doesn't belong to it. Is this a freak?

Last night I wanted to boot a recently installed Ubuntu maverick using a Grub (0.97) cd. I was a bit surprised to see Pardus boot (it's on the next partition.)

What really surprised me was, when investigating why I couldn't get sound, was that I'm running Pardus with the Maverick kernel.
cam@cwpc ~ $ ls /boot
grub initramfs-2.6.31.11-130 kernel-2.6.30.9-128 latest-initramfs-rt
initramfs-2.6.29.6_23-1-rt initramfs-2.6.31.13-131 kernel-2.6.31.11-130 latest-kernel
initramfs-2.6.30.1-123 kernel-2.6.29.6_23-1-rt kernel-2.6.31.13-131 latest-kernel-rt
initramfs-2.6.30.9-128 kernel-2.6.30.1-123 latest-initramfs memtest
cam@cwpc ~ $ uname -a
Linux cwpc 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
cam@cwpc ~ $ cat /etc/lsb-release
DISTRIB_ID="Pardus"
DISTRIB_RELEASE="2009.2"
DISTRIB_CODENAME="Geronticus eremita"
cam@cwpc ~ $ cat /etc/mtab
/dev/sda22 / ext4 rw,noatime,user_xattr 0 0
sysfs /sys sysfs rw 0 0
proc /proc proc rw,noexec,nosuid 0 0
debugfs /sys/kernel/debug debugfs rw 0 0
tmpfs /dev/shm tmpfs rw,noexec,nosuid,nodev 0 0
/dev/sda4 /SDA4 ext3 rw,noatime 0 0
cam@cwpc ~ $
As can be seen from the mtab, the Pardus partition, sda22, is mounted, but not sda23 (Maverick). So presumably the kernel is running entirely in RAM - but how did it get there without mounting sda23?
I _suppose_ I typed :
root (hd0,22)
kernel /boot/vmlinuz-2.6.35-generic ro root=/dev/sda22
and not root=/dev/sda23
But how did it manage to boot and run, and even run well? (The sound hiccough may well be ancient, incidentally, I can't remember.)

JohnT
09-29-2010, 11:04 PM
Try BootInfoScript (http://sourceforge.net/projects/bootinfoscript/) to see what's going on.

saikee
09-30-2010, 03:18 AM
It is every Linux user's God given right to be able to boot a Linux B using a kernel from Linux A. Naturally mismatches can happen and some components may not work and need to be fixed. A kernel belong to the same family usually flares better.

impert
09-30-2010, 12:16 PM
Thanks for the replies.

@ JohnT: Yes, I have BootInfoScript - but I already knew what is in the /boot folders, and what is in fstab and menu.lst, so I didn't use it. And I don't quite see how it could explain what happened - it's a sort of a snapshot, isn't it?

@ Saikee: Linux never stops amazing me.
I imagine that once grub had kicked the kernel in Maverick into life, the kernel then mounted /dev/sda22 (Pardus) read-only at first, then fsck-ed and mounted whatever it found in the Pardus fstab, and continued on its merry way loading devices, drivers, and all the other good stuff. In other words, there's no further call to the kernel once it's loaded except perhaps calls such as `uname -r` in scripts. Does this sound right?

It is every Linux user's God given right to be able to boot a Linux B using a kernel from Linux A. There's something noble about that, but is it useful?
Anyway, it shows that you never stop learning with Linux, particularly with multi-booting.