LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Kernel Panic - root not found (https://www.linuxquestions.org/questions/linux-newbie-8/kernel-panic-root-not-found-235249/)

pjpeter 09-25-2004 11:01 PM

Kernel Panic - root not found
 
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 2.6.7.1), 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:

"boot=/dev/hda3
root=/dev/hda3
compact
install=/boot/boot.b
map=/boot/map
vga=normal
delay=20
image=/vmlinuz
label = Linux
read-only
"

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.
#
boot=/dev/hda

# Specifies the device that should be mounted as root. (`/')
#
root=/dev/hda3

# 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.
#
# compact

# 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
#
#install=menu

# Specifies the location of the map file
#
map=/boot/map

# 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)'.
#
# password=tatercounter2000

# Specifies the number of deciseconds (0.1 seconds) LILO should
# wait before booting the first image.
#
delay=200

# 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'.
#
# message=/boot/bootmess.txt
# prompt
# delay=100
# timeout=100

# Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
#
# vga=ask
# vga=9
#
vga=normal

# 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.
#
# append=""

# If you used a serial console to install Debian, this option should be
# enabled by default.
# serial=

#
# Boot up Linux by default.
#
default=WindowsXP
timeout = 200
prompt

image=/vmlinuz
label=Linux
read-only
# restricted
# alias=1

initrd=/initrd.img

image=/vmlinuz.old
label=LinuxOLD
read-only
optional
# restricted
# alias=2

initrd=/initrd.img.old


# 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.
#
# other=/dev/hda4
# label=HURD'

other=/dev/hda1
label=WindowsXP
"

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,
Thanks,
Peter

pjpeter 09-25-2004 11:36 PM

One other thing I should mention. I have no idea what the heck happened to my /intrid/ files. They just disappeared on me after that first boot. I backed up my boot dir, and several other files but not that directory thinking it would not be affected by the new kernel install.

Anyone?
Peter

pjpeter 09-26-2004 11:21 AM

I hear this is a somewhat common problem, some ppl have said they had to make a giant intridimg to fix it, but I'm not sure. I've tried the compile 3 times each time adding more and more Y options in the Filesystems section.

Anyone have any ideas on fixing this?

Peter

pjpeter 10-01-2004 03:46 PM

Posts been up here for a week still waiting for a helpful reply, does anyone at all have anything to say on this?

Peter

comprookie2000 10-01-2004 04:09 PM

I had the same thing happen,two things to check,make sure you load support for your filesystem into the kernel and not as modules,by default they are M.Next thing that took me a while to find,check under drives that support is configured into the kernel and not M,It is M by default now,didn't use to be,for some reason the new kernels are different,and you don,t need initrd if support is compiled into the kernel and not as modules,hope this helps,need anything that I was not clear on just ask.

pjpeter 10-01-2004 09:04 PM

Thanks a lot man, that was just the ticket. I had all the FIlesystems setup as I said before, but not the IDE drives. I finally found them in the ATA structure and found it almost all set to M. When I originally ran the config program I did it in Dialog mode and it didn't give access to many of the options and just set them as M as default. I found though that many of the options did not have the ability to set it to Y, but only M. But, when I checked the first two boxes I then noticed a later option changed from just having the ability to go to M to actually being able to set it to Y. Here is what it said below the standard info:

"Do not compile this driver as a module if your root file system
(the one containing the directory /) is located on the IDE disk."

But that attention note ONLY appears if you have selected the previous options as Y instead of M. If you didn't, this doesn't appear and you don't know. So I really think that should be changed.

Thanks again : ),
Peter

comprookie2000 10-02-2004 04:15 AM

I know,I was pulling my hair out,recompiling over and over,searching all over the place,what I don't understand is how the kernel-image I got from apt booted fine and I used that config as a starting point and only changed a few things and it just would not boot so I even tried by making a initrd and same thing until I found the drive stuff.

pjpeter 10-02-2004 10:01 AM

I got the kernel source (or was it the image?) 2.6.8 from the site and I did the questionarre about what to setup. About 6 times, because no one told me about XConfig or MenuConfig I did it all in Dialog mode and I'm so used with CTRL+C being copy...lol...I hate that key now. But it doesn't let you choose somethings because it figures it should be like the old settings - my original Debian install I had had these as Modules by default and thats what it needed the initrid I suppose. But still, I mean I could never have fixed this with Dialog mode so that's pretty bad.

But XConfig worked great for me now, I have the 2.6.8 Kernel installed and my vid card went from 2fps to 60+ : )happy : ).


All times are GMT -5. The time now is 02:56 PM.