Re: Lilo booting whitout vmlinuz ??

From: Nico Kadel-Garcia (nkadel_at_comcast.net)
Date: 01/12/04


Date: Sun, 11 Jan 2004 21:12:28 -0500


"Leon." <noemail@noemail.noemail.com> wrote in message
news:3ffab7c2$1@news.rivernet.com.au...
>
> "Andreas Janssen" <andreas.janssen@bigfoot.com> wrote in message
> news:bte94q$u4j$04$1@news.t-online.com...
> > Hello
> >
> > Corrado Labinaz (<corradolab@virgilio.it>) wrote:
> >
> > > I've installed Mandrake 9.1 on a VMWare virtual machine.
> > >
> > > Yesterday, while playing with /boot, I deleted the kernel
> > > (vmlinuz-2.4.21-0.13mdk), beliving it was an older version, while it
> > > was the current one (vmlinuz -> vmlinuz-2.4.21-0.13mdk).
> > > I did the same with config, initrd.img and System.map...
> > >
> > > A ls -l later I realized I did a really stupid thing and screwed up my
> > > whole installation. I rebooted sure I had to reinstall/repair from
> > > Mandrake CD, but, instead, my system booted just fine.
> > >
> > > Can somebody explain this?
> > > Is the kernel stored elsewhere after invoking /sbin/lilo?
> > > Or am I just lucky the deleted kernel disk sectors have not been
> > > overwritten yet?
> >
> > You are lucky. Lilo does not access the kernel image through the file
> > system. As deleting the file does not remove it, lilo probably can
> > still find it,
>
>
> BTW, the location of where the kernel is , is stored in the file
/boot/map.
>
> So lilo doesnt actually read the filesystem - it just reads the sectors
> directly to read /boot/map, and then from /boot/map it can find the
sectors
> that store the kernel.
>
> and yep, rm'ing the image didnt overwrite the sectors of the kernel image
> file.
> So the kernel image as described by /boot/map was still there.

Heh. I ran into this once with an OS image being installed on a hard drive
using "dd". The OS image builder had not actually been doing LILO, he'd been
installing things on top of his dd'ed image, so he hadn't noticed that the
new kernels didn't actually work.

That... took a while to clean up when I figured out what was going on.