The error I get on boot up is:
VFS: Cannot open root device "303" or unknown block(3,3)
Please append a correct "root= " boot option
Kernel panic: VFS: Unable to mount root fs on unknown block(3,3)
The thing is I just installed a new kernel (Debian 2.6.8 + ATI Vid drivers upgrading from 22.214.171.124), booted up my system, saw that it still used my old lilo file (apparently make kpdg didn't run lilo after creating the new .conf file). So when I booted up to my old 2.6.7-1 system I went and made a backup of the current lilo.conf file which was:
label = Linux
and I ran lilo to see if it would work. It gave a warning that Compact might have issues with ldb but it seemed to work fine. However, I was too paranoid for my old good, and if I couldn't get into Linux I wanted to be able to get into WinXP (as I am now).
So I went and checked that most of the elements of this lilo.conf file were in my old lilo.conf file and decided to use it instead. Here was the file:
"# /etc/lilo.conf - See: `lilo(8)' and `lilo.conf(5)',
# --------------- `install-mbr(8)', `/usr/share/doc/lilo/',
# and `/usr/share/doc/mbr/'.
# | !! Reminder !! |
# | |
# | Don't forget to run `lilo' after you make changes to this |
# | conffile, `/boot/bootmess.txt' (if you have created it), or |
# | install a new kernel. The computer will most likely fail to |
# | boot if a kernel-image post-install script or you don't |
# | remember to run `lilo'. |
# | |
# Specifies the boot device. This is where Lilo installs its boot
# block. It can be either a partition, or the raw device, in which
# case it installs in the MBR, and will overwrite the current MBR.
# Specifies the device that should be mounted as root. (`/')
# Enable map compaction:
# Tries to merge read requests for adjacent sectors into a single
# read request. This drastically reduces load time and keeps the
# map smaller. Using `compact' is especially recommended when
# booting from a floppy disk. It is disabled here by default
# because it doesn't always work.
# Installs the specified file as the new boot sector
# You have the choice between: text, bmp, and menu
# Look in lilo.conf(5) manpage for details
# Specifies the location of the map file
# You can set a password here, and uncomment the `restricted' lines
# in the image definitions below to make it so that a password must
# be typed to boot anything but a default configuration. If a
# command line is given, other than one specified by an `append'
# statement in `lilo.conf', the password will be required, but a
# standard default boot will not require one.
# This will, for instance, prevent anyone with access to the
# console from booting with something like `Linux init=/bin/sh',
# and thus becoming `root' without proper authorization.
# Note that if you really need this type of security, you will
# likely also want to use `install-mbr' to reconfigure the MBR
# program, as well as set up your BIOS to disallow booting from
# removable disk or CD-ROM, then put a password on getting into the
# BIOS configuration as well. Please RTFM `install-mbr(8)'.
# Specifies the number of deciseconds (0.1 seconds) LILO should
# wait before booting the first image.
# You can put a customized boot message up if you like. If you use
# `prompt', and this computer may need to reboot unattended, you
# must specify a `timeout', or it will sit there forever waiting
# for a keypress. `single-key' goes with the `alias' lines in the
# `image' configurations below. eg: You can press `1' to boot
# `Linux', `2' to boot `LinuxOLD', if you uncomment the `alias'.
# Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
# Kernel command line options that apply to all installed images go
# here. See: The `boot-prompt-HOWTO' and `kernel-parameters.txt' in
# the Linux kernel `Documentation' directory.
# If you used a serial console to install Debian, this option should be
# enabled by default.
# Boot up Linux by default.
timeout = 200
# If you have another OS on this machine to boot, you can uncomment the
# following lines, changing the device name on the `other' line to
# where your other OS' partition is.
It gave me a couple of errors that initrd=/initrd.img and initrd=/initrd.img.old didn't exist when I tried to run lilo, so I removed those 2 lines. Otherwise I left it as is.
So lilo worked, so I rebooted with this config. Unlike the first time I booted, the LinuxOLD option was there this time. I decided to try Windows XP first to see if it would work (I hadn't tried it that day yet). It did, worked like a charm. So I rebooted, and when I got the LILO boot loader I selected Linux.
It started loading and it did so much faster than usual - It took 1 quarter as many periods after the Loading Linux Kernel message right after LILO. But then it quickly came up with the Kernel Panic error I mentioned above. I rebooted into the OLDLinux this time, to get back to my old version. Same thing.
The only thing I changed in between my first boot after installing the new kernel was changing the lilo.conf file. Then I rebooted into Windows, then tried Linux and it failed.
What happened? And more importantly, what can I do to fix it.
Please reply ASAP,