LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices



Reply
 
Search this Thread
Old 01-08-2007, 06:29 PM   #1
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slack(64|32)_v(13.37|14.0), debian6, ubuntu
Posts: 632

Rep: Reputation: 36
Kernel Panic: VFS: unable to mount root on 08:08, on first boot right after slack...


good evening everyone,
i am rather tired after 12hours of countless tries to install slackware 10.2 on a pc that has winXP and used to have slackware too.

the problem is that as soon as i finish the installation and i reboot, lilo pops up nicely (last try i even attempted to let lilo configure itself on its own, i only checked that it would put itself in the MBR - master boot record), and gives me the options to boot windows or linux, if i choose linux somebit later on, boot stops and i get an error.

Kernel Panic: VFS: unable to mount root at /dev/sda8 or 08:08. please attempt to input another 'root=' option....

truth is this is my 3rd slackware 10.2 installation and my 2nd one of this specific machine, so i felt confident i could solve it. at this point however (After 12h) i think i really need some help.

here are the facts:
the system has a SATA drive and so i start the installation with sata.i . i do fdisk /dev/sda so i see the 3 ntfs particions sda1, sda5, sda6 and the linux swap sda7 and the linux sda8 partitions. i had already made a linux particion with partition magic from winxp. so no need to change smth with fdisk, i run setup and do it correctly i believe.. once it asks me what kernel to use i tell it to skip the step and keep the DEFAULT (is that right? i think it keeps sata.i ... right?)

then packages installations and finally liloconfig. i choose expert mode, place the boot file in MBR - i think at this point it asks about the location and says it has figured the location /dev/sda as being the correct one and that i i want i can change it), begin the lilo file (no addit. params.), add a linux partition (/dev/sda8), add a win partition, install lilo, and finally reboot.

so lilo pops up and i choose linux... and you know the rest... where do you think i've done fault?
nass
 
Old 01-08-2007, 07:36 PM   #2
chrisortiz
Member
 
Registered: Nov 2005
Distribution: Slackware, and of course the super delux uber knoppix universal live recovery cd
Posts: 429

Rep: Reputation: 30
hmm sounds like its trying to mount the root partition without having the sata modules. Here is a guide patrick wrote for just your problem.

Quote:

Slackware initrd mini HOWTO
by Patrick Volkerding, volkerdi@slackware.com
Sat Sep 3 22:20:13 PDT 2005

This document describes how to create and install an initrd, which may be
required to use the 2.6 kernel. Also see "man mkinitrd".

1. What is an initrd?
2. Why to I need an initrd?
3. How do I build the initrd?
4. Now that I've built an initrd, how do I use it?


1. What is an initrd?

Initrd stands for "initial ramdisk". An initial ramdisk is a very small
Linux filesystem that is loaded into RAM and mounted as the kernel boots,
and before the main root filesystem is mounted.

2. Why do I need an initrd?

The usual reason to use an initrd is because you need to load kernel
modules before mounting the root partition. Usually these modules are
required to support the filesystem used by the root partition (ext3,
reiserfs, xfs), or perhaps the controller that the hard drive is attached
to (SCSI, RAID, etc). Essentially, there are so many different options
available in modern Linux kernels that it isn't practical to try to ship
many different kernels to try to cover everyone's needs. It's a lot more
flexible to ship a generic kernel and a set of kernel modules for it. The
generic 2.6 kernel in Slackware supports the ext2 filesystem (which is
used by the initrd), and also supports most IDE controllers (much like the
old bare.i kernel). So, if you have an IDE based system that uses the
ext2 filesystem, then you will not need to use an initrd to boot.
Otherwise, read on.

3. How do I build the initrd?

The easiest way to make the initrd is to use the mkinitrd script included
in Slackware's mkinitrd package. We'll walk through the process of
upgrading to the 2.6.13 Linux kernel using the packages found in
Slackware's testing/packages/linux-2.6.13/ directory.

First, make sure the kernel, kernel modules, and mkinitrd package are
installed (the current version numbers might be a little different, so
this is just an example):

installpkg kernel-generic-2.6.13-i486-1.tgz
installpkg kernel-modules-2.6.13-i486-1.tgz
installpkg mkinitrd-1.0.1-i486-1.tgz

Change into the /boot directory:

cd /boot

Now you'll want to run "mkinitrd". I'm using reiserfs for my root
filesystem, and since it's an IDE system the reiserfs module will be
the only one I need to load:

mkinitrd -c -k 2.6.13 -m reiserfs

This should do two things. First, it will create a directory
/boot/initrd-tree containing the initrd's filesystem. Then it will
create an initrd (/boot/initrd.gz) from this tree. If you wanted to,
you could make some additional changes in /boot/initrd-tree/ and
then run mkinitrd again without options to rebuild the image. That's
optional, though, and only advanced users will need to think about that.

Here's another example: Build an initrd image using Linux 2.6.13
kernel modules for a system with an ext3 root partition on /dev/hdb3.
Note that you need both the jbd and ext3 modules to use ext3:

mkinitrd -c -k 2.6.13 -m jbd:ext3 -f ext3 -r /dev/hdb3


4. Now that I've built an initrd, how do I use it?

Now that you've got an initrd (/boot/initrd.gz), you'll want to load
it along with the kernel at boot time. If you use LILO for your boot
loader you'll need to edit /etc/lilo.conf and add a line to load the
initrd. Here's an example section of lilo.conf showing how this is
done:

# Linux bootable partition config begins
image = /boot/vmlinuz-generic-2.6.13
initrd = /boot/initrd.gz
root = /dev/hda6
label = Lnx2613
read-only
# Linux bootable partition config ends

The initrd is loaded by the "initrd = /boot/initrd.gz" line.
Just add the line right below the line for the kernel image you use.
Save the file, and then run LILO again ('lilo' at the command line).
You'll need to run lilo every time you edit lilo.conf or rebuild the
initrd.

Other bootloaders such as syslinux also support the use of an initrd.
See the documentation for those programs for details on using an
initrd with them.


---------

Have fun!
 
Old 01-08-2007, 07:36 PM   #3
drkstr
Senior Member
 
Registered: Feb 2006
Location: Seattle, WA: USA
Distribution: Slackware 11.0
Posts: 1,191

Rep: Reputation: 45
Some SATA drives just simply will not detect correctly. I belive this is due to kind of "driver" (because I don't know the real term) type issue with the BIOS and the SATA controler. You might want to try different kernels and see what happens. Some times the SATA drive will show up as a SCSI.

Another thing to consider is the file system of the root partition. I don't think you mentioned what it is formated as. Is it a standard ext2 or ext3?

Best regards,
...drkstr
 
Old 01-09-2007, 05:41 AM   #4
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slack(64|32)_v(13.37|14.0), debian6, ubuntu
Posts: 632

Original Poster
Rep: Reputation: 36
thank you both for the replies,
but really the problem here is that i can't boot to linux at all...
if i can't mount the root straight after the installation then i don't have any linux system to work on and tamper with the kernel. the fault must have been made during the installation and so it was.

apparently when the installation asked me which kernel to load i went and explicitly re-choose sata.i
that made it... phew!
thanks again
 
Old 01-09-2007, 10:55 AM   #5
drkstr
Senior Member
 
Registered: Feb 2006
Location: Seattle, WA: USA
Distribution: Slackware 11.0
Posts: 1,191

Rep: Reputation: 45
Ah. I thought you chose sata.i to begin with, but I missed the part where you said you skipped the kernel selection. Glad you got it working!

Quote:
if i can't mount the root straight after the installation then i don't have any linux system to work on and tamper with the kernel. the fault must have been made during the installation and so it was.
For future reference, the boot CD can be used as a recovery utility. Just fire it up, and when you get to the prompt:

Code:
mkdir /mnt/slack
mount /dev/sda1 -t auto /mnt/slack
chroot /mnt/slack
source /etc/profile #optional, but nicer looking
There is also a way to actually boot your system from the kernel on the CD, but I've never done it that way before. I think if you read the welcome text, it says how.

Best regards,
...drkstr
 
Old 01-10-2007, 09:26 AM   #6
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 11,451
Blog Entries: 4

Rep: Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505Reputation: 1505
Quote:
Originally Posted by nass
good evening everyone,
<snip>
here are the facts:
the system has a SATA drive and so i start the installation with sata.i . i do fdisk /dev/sda so i see the 3 ntfs particions sda1, sda5, sda6 and the linux swap sda7 and the linux sda8 partitions. i had already made a linux particion with partition magic from winxp. so no need to change smth with fdisk, i run setup and do it correctly i believe.. once it asks me what kernel to use i tell it to skip the step and keep the DEFAULT (is that right? i think it keeps sata.i ... right?)
<snip>
so lilo pops up and i choose linux... and you know the rest... where do you think i've done fault?
nass

Hi,

When you come to the kernel selection, try to select the kernel you wish to use. You will get the option to select from the cdrom and you should select the one you desire to use.

The error you get is that the root filesystem is not there. As others have pointed out you need to have the filesystem available at boot for the kernel. You could use the install cd1 to boot then mount your installation then chroot to it. Then create your initrd as per the /boot/README.initrd file. You could do a search on LQ as this has been covered a lot.
 
Old 01-15-2007, 04:01 PM   #7
bioe007
Member
 
Registered: Apr 2006
Location: lynnwood, wa - usa
Distribution: archlinux
Posts: 654

Rep: Reputation: 30
Quote:
Originally Posted by drkstr
... to actually boot your system from the kernel on the CD...
to boot your HD from the slack CD just:
Code:
boot:sata.i root=/dev/sdaN # N = your root partition
I had this same/similar problem. Slack install did two things during my install, for some reason the generic kernel demanded a floppy drive to boot from, and 2nd all my fstab entries were listed as 'hda'.

You can either keep booting from the CD until you get it sorted out or boot from the CD once then copy /kernels/sata.i/bzImage to your /boot directory and update/run lilo.conf. With the fstab problem I could boot the generic sata.i kernel (?), but could not boot my own sata kernel.

I changed my fstab and lilo.conf to /dev/sdaN and it worked with my kernel.

Interestingly enough hdparam -i /dev/sda told me the mode was 'unknown' using sata.i , now I try to run:

Code:
root@hargrave:/home/perry# hdparm -i /dev/sda

/dev/sda:
 HDIO_GET_IDENTITY failed: Inappropriate ioctl for device
Code:
root@hargrave:/home/perry# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       FUJITSU MHV2080BH
        Serial Number:      NW09T6225NR3
        Firmware Revision:  00850028
Standards:
        Used: Reserved
        Supported: 7 6 5 4
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:   16514064
        LBA    user addressable sectors:  156301488
        LBA48  user addressable sectors:  156301488
        device size with M = 1024*1024:       76319 MBytes
        device size with M = 1000*1000:       80026 MBytes (80 GB)
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 8
        Advanced power management level: 128 (0x80)
        Recommended acoustic management value: 254, current value: 254
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=240ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    DOWNLOAD_MICROCODE
           *    Advanced Power Management feature set
                SET_MAX security extension
           *    Automatic Acoustic Management feature set
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    WRITE_{DMA|MULTIPLE}_FUA_EXT
           *    IDLE_IMMEDIATE with UNLOAD
           *    SATA-I signaling speed (1.5Gb/s)
           *    Native Command Queueing (NCQ)
           *    Host-initiated interface power management
           *    Phy event counters
                DMA Setup Auto-Activate optimization
                Device-initiated interface power management
           *    Software settings preservation
Security:
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
                frozen
        not     expired: security count
        not     supported: enhanced erase
        80min for SECURITY ERASE UNIT.
Checksum: correct
i don't know much about hdparm, but why can't I see the -i option but the -I options shows a ton?

thanks!
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
"Kernel panic: VFS: Unable to mount root fs" - Kernel fails to boot linux Freedom Seeker Linux - General 11 11-12-2006 08:48 PM
Kernel panic: VFS: Unable to mount root fs on 00:00 Evan P. Linux - Enterprise 4 06-14-2005 06:59 PM
Kernel Panic : VFS: Unable to mount Root fs on 08:02 aratos Linux - Distributions 0 09-07-2004 03:38 AM
Kernel panic: VFS: Unable to mount root cmlo Linux - Newbie 3 05-17-2003 08:55 PM
Kernel panic:VFS:unable to mount root fs on 01:03 Marc Linux - Software 2 12-08-2001 10:59 PM


All times are GMT -5. The time now is 11:12 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration