SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
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.
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.
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)
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.
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.
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!
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 !
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.
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.
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!
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.