LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
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 12-03-2006, 01:24 PM   #1
Venefyxatu
LQ Newbie
 
Registered: May 2005
Location: Belgium
Distribution: Gentoo
Posts: 18

Rep: Reputation: 0
Kernel 2.6 and SATA : kernel panic


Hi,

I've just replaced my old PATA harddrive with a brand-new SATA one, but unfortunately I can't seem to get my 2.6 kernel to boot.
So I'm hoping that if I give a detailed enough description of my problem, one of you Slackers can point out what I've been overlooking

On a related note : I didn't see any recent threads about this, so I figured I'd create my own instead of resurrecting an ancient, mostly-relevant one.

Here goes :

The system

Motherboard : MSI K8N Neo4 (nForce4 chipset, SATA/150 controller)
CPU : AMD Athlon64 3200+
RAM : 1 GB
Harddrive : Seagate 320GB SATA/300 (reduced to 150MB/s with the jumper)
fdisk -l partitions as displayed when booting to the standard 2.4 kernel

Code:
/dev/sda1   *           1        1912    15358108+   7  HPFS/NTFS
/dev/sda2            1913        4462    20482875    7  HPFS/NTFS
/dev/sda3            4463        4587     1004062+  83  Linux
/dev/sda4            4588       38913   275723595    5  Extended
/dev/sda5            4588        4712     1004031   82  Linux swap
/dev/sda6            4713        7203    20008926   83  Linux
/dev/sda7            7204        9694    20008926   83  Linux
/dev/sda8            9695       14675    40009851   83  Linux
/dev/sda9           14676       19656    40009851   83  Linux
/dev/sda10          19657       24637    40009851   83  Linux
/dev/sda11          24638       27187    20480000    b  W95 FAT32
sda1 is WinXP
sda2 is Windows Vista
sda3 is Slackware /
The rest is storage, /home, /etc, and so on
All linux partitions use ReiserFS

The problem

I could install Slackware 11 without problems from the DVD, the default 2.4 kernel works just fine. Obviously, since I previously had a working self-compiled 2.6 kernel I wanted to upgrade again. So I whip out my stored sources and configuration file, update it to include SATA support (in the SCSI section!), compile (with the help of the Digital Hermit guide and the Slackware kernel compilation guides found on this forum) and ... it doesn't work.

When booting into my new 2.6 kernel, I get the following error :



Code:
VFS: Cannot open root device "803" or unknown-block(8,3)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,3)

I tried:
- Working with an initial RAM disk, even though I made sure to compile EXT2, ReiserFS and SATA as static code, NOT as modules. This resulted in a different error. Besides, it should be possible without

- Following several posts on the internet, I added an "append = " option to lilo.conf :
Code:
image = /boot/bzImage-2.6.17.1
  root = /dev/sda3
  label = Linux
  append = "root=/dev/sda3"    # normally commented out
  read-only
This resulted in a slightly different error :

Code:
VFS: Cannot open root device "sda3" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
I discovered that unknown-block(8,3) means that linux doesn't know what to do with the filesystem on the root partition, whereas unknown-block(0,0) means it can't find the partition at all. Hence, not an improvement

- In the kernel configuration, I tried using the deprecated SATA drivers (under ATA/IDE), tried using them together with the SATA drivers under SCSI. All to no avail. Obviously

- in lilo.conf, I tried setting root = /dev/hde3 (assuming that hda through hdd are for the PATA channels). Alas, no success.

- probably other stuff I can't remember right now - I've been at it all weekend

Perhaps it's worth mentioning that, on the first screen when booting, before I get to the LILO menu, my harddrive is recognised under the header "Detecting IDE drives ..." as "Third Master" No clue whether this is normal for SATA drives

My guess is that, for some reason, the 2.6 kernel doesn't see the harddrive as sda. That makes the questions "Why not?" and "As what does it see the harddrive then?" rise in my head ...

Any pointers as to what I'm overlooking would be greatly appreciated!
Also, if more info is needed I'll be happy to provide it.




Finally, for completeness' sake : some (hopefully relevant) sections of my .config file :
Code:
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set

<snip>

#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
CONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_AHCI is not set
# CONFIG_SCSI_SATA_SVW is not set
# CONFIG_SCSI_ATA_PIIX is not set
# CONFIG_SCSI_SATA_MV is not set
CONFIG_SCSI_SATA_NV=y
# CONFIG_SCSI_PDC_ADMA is not set
# CONFIG_SCSI_SATA_QSTOR is not set
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_SX4 is not set
# CONFIG_SCSI_SATA_SIL is not set
# CONFIG_SCSI_SATA_SIL24 is not set
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

Last edited by Venefyxatu; 12-03-2006 at 01:37 PM.
 
Old 12-03-2006, 02:17 PM   #2
itz2000
Member
 
Registered: Jul 2005
Distribution: Fedora fc4, fc7, Mandrake 10.1, mandriva06, suse 9.1, Slackware 10.2, 11.0, 12.0,1,2 (Current)]
Posts: 732

Rep: Reputation: 30
change root to /dev/sda
not /dev/sda3!!!!!
 
Old 12-03-2006, 02:31 PM   #3
Venefyxatu
LQ Newbie
 
Registered: May 2005
Location: Belgium
Distribution: Gentoo
Posts: 18

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by itz2000
change root to /dev/sda
not /dev/sda3!!!!!
That changes the error to

Code:
VFS: Cannot open root device "800" or unknown-block(8,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,0)
Which makes the error message more clear to me -- the last number is the partition number of the harddrive it's trying to boot from

I do have

Code:
boot = /dev/sda
set near the top of lilo.conf

I believe that option is what sets the device to boot from, whereas the "root = " option sets what partition to boot from.


Glad to see quick reactions
 
Old 12-03-2006, 04:17 PM   #4
mhansen
LQ Newbie
 
Registered: Nov 2006
Distribution: Debian Etch
Posts: 22

Rep: Reputation: 15
I had this problem too.

I finally ended up using the 2.6.17.13 source in /extra/source/, along with the generic config file provided with it, and it works. I haven't had time to go thru the config file to see what I was missing, but I'll get to it someday.



Regards,
Mike


P.S. I know this doesn't tell you "why", but at least one day one of us will get a chance to look thru the config file to figure it out.
 
Old 12-04-2006, 10:23 AM   #5
Venefyxatu
LQ Newbie
 
Registered: May 2005
Location: Belgium
Distribution: Gentoo
Posts: 18

Original Poster
Rep: Reputation: 0
Thanks - I'll see if I can get started on that tomorrow evening (which is when I'll first see my computer again - I miss 'er! ). If I figure it out, I'll post the result.

In the meantime : does anyone know of a way to find out how my harddrive is detected when booting to 2.6? (instead of sda)
 
Old 12-04-2006, 10:24 AM   #6
itz2000
Member
 
Registered: Jul 2005
Distribution: Fedora fc4, fc7, Mandrake 10.1, mandriva06, suse 9.1, Slackware 10.2, 11.0, 12.0,1,2 (Current)]
Posts: 732

Rep: Reputation: 30
append = "root=/dev/sda"
 
Old 12-05-2006, 09:02 AM   #7
gegechris99
Senior Member
 
Registered: Oct 2005
Location: France
Distribution: Slackware 15.0 64bit
Posts: 1,151
Blog Entries: 5

Rep: Reputation: 385Reputation: 385Reputation: 385Reputation: 385
In addition to your filesystem, you must also compile your motherboard chipset in the kernel in static mode and not in modules.

I'm at work now so I can't direct you to the place in the kernel, but you should find it.
 
Old 12-05-2006, 09:50 AM   #8
tuxrules
Senior Member
 
Registered: Jun 2004
Location: Chicago
Distribution: Slackware64 -current
Posts: 1,158

Rep: Reputation: 62
Quote:
Originally Posted by gegechris99
In addition to your filesystem, you must also compile your motherboard chipset in the kernel in static mode and not in modules.
Not sure if that is true, you can keep your fs and chipset as modules and make initrd to boot with the kernel.

To the OP, I have the same (SATA) chipset with Abit motherboard. Have you included the nvidia sata support in the kernel (built-in or modules)? As long as I remember, the option is under Low-Level SCSI drivers. With the 2.6.19 kernel, it has changed a bit. What you can do is make a initrd for your particular kernel. I have my root fs on a PATA drive but I also use a SATA drive and i need it to be mounted at bootup so I've made a initrd with the needed modules.

Here's how I make initrd (for my system). You can change it to suit yours. Since the chipset is NVIDIA, the modules remain the same. While this may not be the direct answer you are looking, making initrd with needed modules may do the trick.

Code:
mkinitrd -c -m scsi_mod:sg:sd_mod:libata:sata_nv -r /dev/hda3 -k 2.6.19 -o /boot/initrd-2.6.19.img
Or you can include everything in the kernel as gegechris99 suggested.

Tux,
 
Old 12-05-2006, 02:23 PM   #9
gegechris99
Senior Member
 
Registered: Oct 2005
Location: France
Distribution: Slackware 15.0 64bit
Posts: 1,151
Blog Entries: 5

Rep: Reputation: 385Reputation: 385Reputation: 385Reputation: 385
tuxrules said:

Quote:
Not sure if that is true, you can keep your fs and chipset as modules and make initrd to boot with the kernel.
You're correct. I just wanted to provide a clue about the possible error (e.g. check your chipset configuration in the kernel)

I had a similar "Kernel panic - not syncing: VFS: Unable ..." but for my IDE HD and the solution was to compile both fs and chipset in static mode.
 
Old 12-05-2006, 03:40 PM   #10
Venefyxatu
LQ Newbie
 
Registered: May 2005
Location: Belgium
Distribution: Gentoo
Posts: 18

Original Poster
Rep: Reputation: 0
I had an hour or two to play around again; this is what it resulted in so far :

itz2000 : I hadn't thought of leaving out the 3 yet. As it turns out, that doesn't help either :/

gechris99 : I try to err on the side of static when doubting between module and static (because I know myself and will undoubtedly cause more trouble if I don't ). Double checked just to make sure, though

As for chipset : I included SCSI Device support -> SCSI low-level drivers -> SATA support -> NVIDIA SATA support (statically )
Is that the one you mean, or am I overlooking an "nVidia nForce4" option somewhere?
I did find NVIDIA nForce/nForce2 chipset support under Character Devices -> /dev/agpgart, but since I have a PCI-E system I believe I don't need this?

tuxrules : using a ramdisk seems like an extra, usually unnecessary, step to me, which is why I tried to avoid it so far (I'm no expert though - greater minds than mine must've thought it useful if it's included ). If it'll get things up and running, however, I'm all for it

I tried compiling SCSI, SATA and ReiserFS support as modules (SCSI Device support -> SCSI disk support / SCSI generic support / SCSI low-level drivers -> SATA support / NVIDIA SATA support) and then making an initial ramdisk for those, nabbing and twisting your example line for my evil purpo ... ehh ... situation.

When booting to it, though, I'm back at the same error I had before :

Code:
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem0.
mount: Mounting sda3 on /mnt failed: No such device
ERROR: mount returned error code 1. Trouble ahead.
mount: Mounting sda3 on /mnt failed: Invalid argument
mount: Mounting sda3 on /mnt failed: Invalid argument
/boot/initrd.gz: exiting
pivot_root: pivot_root: Device or resource busy
Freeing unused kernel memory: 164k freed
#

It looks as though the "sda" device isn't being created? Think I saw a post on this somewhere - I'll have to investigate that


Thanks for the ideas!

Update : Following mhansen's suggestion, I compiled the 2.6.17.13 kernel from /extra/source with the provided config file and ... it works \o/
Took a hell of a lot longer to compile too, but at least now I can be 100% sure it's something I'm not including in my kernel. Now, to figure out what ... :P

Last edited by Venefyxatu; 12-06-2006 at 01:55 PM.
 
Old 12-06-2006, 04:30 PM   #11
mhansen
LQ Newbie
 
Registered: Nov 2006
Distribution: Debian Etch
Posts: 22

Rep: Reputation: 15
Quote:
Originally Posted by Venefyxatu
Thanks for the ideas!

Update : Following mhansen's suggestion, I compiled the 2.6.17.13 kernel from /extra/source with the provided config file and ... it works \o/
Took a hell of a lot longer to compile too, but at least now I can be 100% sure it's something I'm not including in my kernel. Now, to figure out what ... :P
Glad to hear it! BTW, if you figure out what it is, please clue me in. I"ll do the same for you!


Regards,
Mike

Last edited by mhansen; 12-06-2006 at 04:31 PM.
 
Old 12-26-2006, 03:28 PM   #12
jpmenicucci
LQ Newbie
 
Registered: Dec 2006
Distribution: Slackware
Posts: 1

Rep: Reputation: 0
Kernel 2.6 and SATA : kernel panic

Quote:
Originally Posted by Venefyxatu
Update : Following mhansen's suggestion, I compiled the 2.6.17.13 kernel from /extra/source with the provided config file and ... it works \o/
Took a hell of a lot longer to compile too, but at least now I can be 100% sure it's something I'm not including in my kernel. Now, to figure out what ... :P
The SATA driver was missing ! In kernel 2.6.17.13 some of the SATA drivers seem to be somewhat ... experimental and disappear from the menuconfig options list whenever you inadvertently uncheck the first option "Prompt for development and/or incomplete code/drivers" ! In kernel 2.6.19.1 the SATA drivers are moved to a new specific "Serial ATA (prod) and Parallel ATA (experimental) drivers" section so it's easier not to lose the necessary one (depending on your motherboard/chipset). Thanks for putting me on the right track with the above thread !
 
Old 12-29-2006, 07:00 PM   #13
MFC
Member
 
Registered: Mar 2005
Posts: 31

Rep: Reputation: 15
I dont know if its overkill to make a post/reply here but I'll give it a shot.

I have had the same problem with the 2.6.19.1 kernel and tried to boot with the new image I compiled.

I get the following
Code:
...
VFS: cannot open root device "802" on unknown-block(8,2)
Please append a correct "root=" boot option.
Kernel panic
...
I have truly tried in vain finding the solution that works for me. I might add that I have compiled
all the stuff I might possibly need, forinstance generic SCSI-drivers, chipset-drivers and all the
filesystemsupport I need (ext3 for rootdevice).

I am lost. I have tried everything I found on this forum and also what I could find on Google.

My setup is the following
Code:
/dev/sda1        swap             swap        defaults         0   0
/dev/sda2        /                ext3        defaults         1   1
/dev/sdb1        /mnt/backup      ntfs        ro               1   0
# /dev/cdrom       /mnt/cdrom       auto        noauto,owner,ro  0   0
/dev/hdd         /mnt/dvd         auto        noatuo,owner,ro  0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
Any help that leads to a kernel that boots is appreciated!
 
Old 12-29-2006, 07:51 PM   #14
MFC
Member
 
Registered: Mar 2005
Posts: 31

Rep: Reputation: 15
Quote:
Originally Posted by MFC
I dont know if its overkill to make a post/reply here but I'll give it a shot.

I have had the same problem with the 2.6.19.1 kernel and tried to boot with the new image I compiled.

I get the following
Code:
...
VFS: cannot open root device "802" on unknown-block(8,2)
Please append a correct "root=" boot option.
Kernel panic
...
I have truly tried in vain finding the solution that works for me. I might add that I have compiled
all the stuff I might possibly need, forinstance generic SCSI-drivers, chipset-drivers and all the
filesystemsupport I need (ext3 for rootdevice).

I am lost. I have tried everything I found on this forum and also what I could find on Google.

My setup is the following
Code:
/dev/sda1        swap             swap        defaults         0   0
/dev/sda2        /                ext3        defaults         1   1
/dev/sdb1        /mnt/backup      ntfs        ro               1   0
# /dev/cdrom       /mnt/cdrom       auto        noauto,owner,ro  0   0
/dev/hdd         /mnt/dvd         auto        noatuo,owner,ro  0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
Any help that leads to a kernel that boots is appreciated!
THIS IS SOLVED!

Thanks to ikeapimp and the post:
http://www.linuxquestions.org/questi...08#post2555808

I suspected that the drivers for the SATA device didnt load (although I didnt write it in case it might limit the type of responses I would get ;-) )
I ran an 'lspci' and got
Code:
...
IDE interface: ATI Technologies Inc ATI 4379 Serial ATA Controller
...
Out of curiosity I ran "linux ATI 4379 Serial ATA" (without quotationmarks) in google and got a very good tip to what my problem was from the following source:
http://linuxmafia.com/faq/Hardware/sata.html

it says the following (in case the site should die)
Quote:
Problem: Serial ATA (also known as S-ATA or SATA) chipsets are rapidly replacing legacy "parallel ATA" (PATA, i.e., regular ATA/133) chipsets — but many Linux installers' kernels don't yet support many Serial ATA chipsets. If yours isn't supported, you have an installation obstacle.
I figured since google found it there should be something about my S-ATA device and there was:

Quote:
(link) ATI 4379 — fakeraid. This turns out to be an integrated version of the Silicon Image 3112.
This information enabled me to select the following in the kernel menuconfig:
DEVICE DRIVERS
-> SERIAL ATA (prod) AND PARALLELL ATA (experimental) DRIVERS
-> < * > ATA DEVICE SUPPORT
< * > Silicon Image SATA support
< * > Silicon Image 3124/3132 SATA support

This finaly solved my problem!

I hope I find this thread in case I forget, and I sincerely hope it helps anybody else as your posts have helped me!

Thanx for the help!
 
Old 08-23-2007, 01:08 AM   #15
adityavpratap
Member
 
Registered: Dec 2004
Location: Hyderabad, India
Distribution: Slackware 13, Ubuntu 12.04
Posts: 440

Rep: Reputation: 32
Hi MFC,
Thanks to your suggestion, I was able to set right the same problem I was having with ATI Seril ATA while trying to use kernel 2.6.22 on my Slackware 11.0.
Thanks once again.
 
  


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-New SATA Harddrive securitybreach Slackware 6 08-07-2006 03:37 AM
kernel panic on SATA paranoyakX Debian 5 07-07-2006 01:45 PM
Kernel panic - SATA support in 2.6 and slackware vmt1 Slackware 7 12-01-2005 01:55 PM
sata.i + amd64 = kernel panic madbrain Slackware - Installation 9 02-09-2005 07:35 PM
SATA kernel panic N3K0KUN Slackware 1 02-25-2004 12:22 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 08:32 PM.

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
Open Source Consulting | Domain Registration