Click to See Complete Forum and Search --> : Mandrake 10.0 and SATA


winston82
08-14-2004, 04:27 AM
I'm trying to install mandrake 10.0 on a single SATA HDD. However, once I get past the language selection screen i get the error;
"No valid devices were found on which to install filesystems..."
I know the drive to be working as I have WinXP running on it.
I have been trawling the net for an answer but nothing I find seems to work, can someone help please? Or point me in the right direction? Bear in mind I'm a Linux newbie... :D

Thanks

GA-7N400Pro2 Mobo
ST3120026AS 120Gb SATA HDD
SiI 3512 SATAlink controller
----
512Mb DDR 400
ATI 9600XT 256Mb

saikee
08-14-2004, 05:07 AM
Avoiding complication I uses an ATA disk to install mine. When feeding my SATA in later Mandrake names it as hda. My existing ATA disk has been named hde. This is the exact opposite to othere distros although Suse 9.1 also does it.

All my 6 Linux came with 2.6 kernel can read my SATA. The ones that fail have 2.4 kernel.

I couldn't be of help on the installation because I bypassed it.

winston82
08-14-2004, 06:21 AM
Thanks for the help, but I only have the one SATA disk, and buying a second ATA isn't really an option, as I'm a poor student :(

Does anyone know how i can get mandrake installed on the SATA without a second drive?

EDIT: What kernel ver. is mandrake 10.0? And can I upgrade it without having linux installed?

JayMan8081
08-14-2004, 07:50 AM
Mandrake 10 includes the 2.6 kernel. It gets installed by default unless you choose to install any packages from the LSB (Linux Standard Base?) package group.

stumbles
08-14-2004, 09:36 AM
Originally posted by winston82


Thanks

GA-7N400Pro2 Mobo
ST3120026AS 120Gb SATA HDD
SiI 3512 SATAlink controller
----
512Mb DDR 400
ATI 9600XT 256Mb

During the install before you get that error, pressing IIRC Ctrl+Alt+F1 or might be F2 will put you at a command prompt.

Once there type lsmod, you should see a module called sata_sil. I'm reasonably sure that's the kernel module needed for you SATA controller. If it is not present then type modprobe sata_sil. If you get an error about module not found then replace the underscore with a hyphen. Then press Ctrl+Alt+F7 to get back to the install screen.

winston82
08-14-2004, 10:12 PM
Thanks for the tip stumbles. I did exactly what you said and was very excited when I saw mandrake load the libata driver and a few other from the Ctrl+Alt+F2 screen. However, when I returned to the installation I still recieved the same error as above!
Arrgh!
Does anyone know anything else I could try?

stumbles
08-14-2004, 10:29 PM
Originally posted by winston82
Thanks for the tip stumbles. I did exactly what you said and was very excited when I saw mandrake load the libata driver and a few other from the Ctrl+Alt+F2 screen. However, when I returned to the installation I still recieved the same error as above!
Arrgh!
Does anyone know anything else I could try?

Was libata the only driver it loaded? What were the others when you did lsmod.

winston82
08-14-2004, 10:45 PM
Ok, after I run;

>modprobe sata-sil

I get;

>running: /usr/bin/ismod_ /tmp/libata.ko
>running: /usr/bin/ismod_ /tmp/sata_sil.ko

Do these implement themselves? Because when I go back to the driver list that mandrake gives me they are not on it. And when I proceed I get the error;

"No valid devices were found on which to install filesystems..."

Sorry for being such a n00b guys, but I really wanna get Linux working...

Thanks again.

stumbles
08-14-2004, 11:50 PM
Originally posted by winston82

I get;

>running: /usr/bin/ismod_ /tmp/libata.ko
>running: /usr/bin/ismod_ /tmp/sata_sil.ko

Do these implement themselves?

Yes, modprobe installs the module given it into the kernel. After you run modprobe what does lsmod show?

Because when I go back to the driver list that mandrake gives me they are not on it.

You mean lsmod does not show them?

Sorry for being such a n00b guys, but I really wanna get Linux working...

Thanks again.

It's alright. That's the purpose of Justlinux.

winston82
08-15-2004, 04:58 AM
After I run the modules with modprobe they do show up in lsmod.

But when I go back to the main screen, linux asks me if i have any extra drivers to install. If I say yes its shows me a big list of them, but libata and sata_sil aren't on it.

And I'm still getting the error....

stumbles
08-15-2004, 09:04 AM
Originally posted by winston82
After I run the modules with modprobe they do show up in lsmod.

But when I go back to the main screen, linux asks me if i have any extra drivers to install. If I say yes its shows me a big list of them, but libata and sata_sil aren't on it.

And I'm still getting the error....

Something doesn't sound right. I don't remember Mandrake asking me for devices after modprobe loads them.

winston82
08-15-2004, 09:53 AM
Sorry, hope I can explain it...

When I run Mandrakes install, after the lnguage slection I hit Ctrl+Alt+F2 and run modprobe. Thats all good.

Then I hit Ctrl+Alt+F7 and go b to the installation. Mandrake tells me the device drivers it has automatically detected, and asks me if I have any others.

If I go 'no' it takes me to the error.

If I go 'yes' it shows me a list of drivers to pick from, (and sata_sil and libata aren't on it) none of which work and I get the error.

Hope this can help...

stumbles
08-15-2004, 10:31 AM
Originally posted by winston82

If I go 'yes' it shows me a list of drivers to pick from, (and sata_sil and libata aren't on it) none of which work and I get the error.

Hope this can help...


Well, that part is right. It shouldn't show those two are they are now loaded. That list shows you ones that are not loaded.

When you are at the command prompt, where you did the modprobe, try the command dmesg. That will show you a bunch of things about what the boot up saw. Your looking for any errors that were reported.

Also look for things related to /dev/hda or possibly /dev/sda. Depending on the number of drives in the box, you will also see /dev/hdb, hdc, etc.

Another thing to try is at the first screen instead of pressing Enter, press F1 and at the bottom of the screen type linux noapic nolapic

From what I can tell with Google, it should work. If none of the above works. Something tells me the problem is elsewhere.

http://www.computing.net/linux/wwwboard/forum/26122.html

http://www.linuxmafia.com/faq/Hardware/sata.html

winston82
08-15-2004, 11:19 PM
Thanks again stumbles! I got it installed! Now I'm not exactly sure what it was that worked, but after I ran modprobe i told the installer to use the sata_via and sata_promise drivers, just trying anything really, and it worked!

Now I have another problem tho... :(

When I boot mandrake, it eventually stops at the error;

"Kernel panic: VFS: unable to mount root fs on unknown_blocked(8,6)"

What does this mean? It doesn't look pretty thats for sure.

So close, yet so far...

stumbles
08-15-2004, 11:33 PM
Originally posted by winston82
Thanks again stumbles! I got it installed! Now I'm not exactly sure what it was that worked, but after I ran modprobe i told the installer to use the sata_via and sata_promise drivers, just trying anything really, and it worked!

Now I have another problem tho... :(

When I boot mandrake, it eventually stops at the error;

"Kernel panic: VFS: unable to mount root fs on unknown_blocked(8,6)"

What does this mean? It doesn't look pretty thats for sure.

So close, yet so far...

That's good to hear, glad you got it going. Odd though Mandrake not knowing to load those. I suggest you file a bug report with them, http://bugs.mandrakelinux.com/index.php

Your error means the kernel could not find the root partition because you pointed grub or lilo to an unkown drive/partition. That's what the 8,6 means.

So are you using grub or lilo as the bootloader.

fatTrav
08-16-2004, 01:22 AM
Mandrake does all the grub/lilo config itself. I don't think you can alter it during the install.

I'd wager that it can't find the boot device because the generic mandrake kernel does not have his sata stuff enabled and it isn't in the initrd. check out my second post (http://www.justlinux.com/forum/showthread.php?s=&threadid=131917) on this thread as it explains what an initrd is.

The solution would be to compile your own kernel. Easiest way with mandrake is to use drakconf to d/l the kernel sources for the 2.6 kernel it ships with (or perhaps the lastest mandrake modified 2.6 kernel) and copy the config-2.6.3 from /boot into the source directory. Then read the README and go from there. If you don't make any changes, make the changes to add SATA support directly into the kernel, not as modules. Makes no sense to have a module for something you are always going to use.

There are plenty of resources on this bb and elsewhere on how to compile a kernel. If you get stuck, I'd be glad to help you out any way I can.

winston82
08-16-2004, 04:16 AM
Okay guys, I rekon I can tackle re-compiling the kernel, there seems to be heaps of help about it on the web. I do have a few questions tho, sorry if these are pretty obvious but I'm an Uber-Linux-n00b, and I mean Uber...

If my linux install wont boot can I still do the compile? It just seems to hang on "kernel panic." How to i get the shell/command prompt?

Thanks for your patience...

fatTrav
08-16-2004, 04:45 AM
To do a compile you would need a live cd distro, such as knoppix, and work from there. It might be a bit trickey.

Honestly, there has to be a better solution. If the installer picks up the sata and loads the modules, then it *should* add those modules into the initrd. Why it isn't doing that is beyond me right now.

The only other option that I see is to make a new initrd. But that requires a booted, working linux distro as well.

Stumble's fifth post, the second link has a part about "Switch the motherboard BIOS" ... this might be a long shot, but maybe try what that section describes (unless it does not apply in your sitiation).

Something does seem odd here that Mandrake is acting goofy on the install. I'll do a bit of scrounging and see if I find anything. Maybe someone else on this forum will know a trick or solution that is escaping my tired brain right now. I'll post back in a few hours.

stumbles
08-16-2004, 08:06 AM
Originally posted by winston82
Okay guys, I rekon I can tackle re-compiling the kernel, there seems to be heaps of help about it on the web. I do have a few questions tho, sorry if these are pretty obvious but I'm an Uber-Linux-n00b, and I mean Uber...

If my linux install wont boot can I still do the compile? It just seems to hang on "kernel panic." How to i get the shell/command prompt?

Thanks for your patience...

Winston82, a kernel recompile is not needed. Tell me which boot loader you are using.

winston82
08-16-2004, 08:51 AM
I'm using lilo.

saikee
08-16-2004, 09:24 AM
I haven't followed the thread but it seems to me the bootloader has done its work if the kernel can panic.

The Linux has been booted successfully so that the correct kernel is taking charge to sort out the hardware and installing the X Windows. The kernel has no chance to panic if the bootloader hasn't put it in the memory.

stumbles
08-16-2004, 10:10 AM
Originally posted by winston82
I'm using lilo.

Ok, it's been a long while since using lilo so I might be a bit rusty. Anyway.

When the boot gets to the lilo display press Ctrl X. On the lilo display, the kernel name will be highlighted indicating the default kernel it will use. So at the prompt type, highlightedkernelname root=/dev/hda5.

What your doing here is overriding lilo.conf (temporarily) and telling it to look for root elsewhere. If /dev/hda5 does not work then you will have to try changing it to /dev/hda4 or whatever number until you find the correct partition where root actually lives.

Once you get back into the system. Launch an editor of your choice as root and edit /etc/lilo.conf and there will be an entry for the kernelname you booted called root= and change the /dev/hdasomenumber to /dev/hdathenumberthatworked. Save that then run the command lilo.

fatTrav
08-16-2004, 02:26 PM
If lilo starts the kernel boot process and you see things like
.....Bios Check Successful and other stuff, then the bootloader is setup fine. It's the kernel trying to mount the root partition but since the sata drivers aren't loaded it can't find it.

But then I'd also think if it can find the kernel then it should be able to find / as long as it wsa properly specified. I've yet to see Mandrake screw up an install like this and not setup the bootloader properly. It's almost hard to believe

:confused:

stumbles
08-16-2004, 03:09 PM
Originally posted by fatTrav
If lilo starts the kernel boot process and you see things like
.....Bios Check Successful and other stuff, then the bootloader is setup fine. It's the kernel trying to mount the root partition but since the sata drivers aren't loaded it can't find it.

But then I'd also think if it can find the kernel then it should be able to find / as long as it wsa properly specified. I've yet to see Mandrake screw up an install like this and not setup the bootloader properly. It's almost hard to believe

:confused:

Yes I agree with your setiments about Mandrake and the bootloader, well mostly.

Speculation (at least for me) says he did something wrong, hence;

"Kernel panic: VFS: unable to mount root fs on unknown_blocked(8,6)"

Suggesting to me the wrong drive and partition are specified.

Anyway, hopefully he will report back with progress or lack there of.

winston82
08-16-2004, 09:55 PM
Originally posted by stumbles
Anyway, hopefully he will report back with progress or lack there of.

Okay, I'm not sure if I'm doing something wrong here, but from the lilo boot screen CTRL+X isn't doing anything, nor anyother similar combination.

One thing I might mention, when I installed Mandrake 10.0, the installation process didn't ask me anything about the partitions, eg. size, number etc. I just put this down to Mandrakes renowned 'user-friendliness' but perhaps I should have specified? This is my first Linux install so I don't have much to compare it to...

fatTrav
08-16-2004, 10:06 PM
It should have went to a screen where you pick how you want to partition it (automatic, user input, etc). And then had a screen where you had to verify "you want the following partitions to be created and formatted" -- something like that.

I have a raid and ata on my mobo that i dont use and i can't remember mandrake 10, slack 10, or fedora core 2 NOT detecting them properly.

maybe try installing again? and take some notes on what choices you make, etc. I always do a full install and have it partition things for me. I've had "bad installs" before where everything was fixed after finally getting a good install. Sometimes the media was to blame, though the case at hand suggests otherwise.

stumbles
08-16-2004, 10:19 PM
Originally posted by winston82
Okay, I'm not sure if I'm doing something wrong here, but from the lilo boot screen CTRL+X isn't doing anything, nor anyother similar combination.

One thing I might mention, when I installed Mandrake 10.0, the installation process didn't ask me anything about the partitions, eg. size, number etc. I just put this down to Mandrakes renowned 'user-friendliness' but perhaps I should have specified? This is my first Linux install so I don't have much to compare it to...

If Ctrl+x does not work then that means Lilo is running in graphical mode. At least that is my assumption. I have tried the same on my Mandrake box with lilo in text and graphical modes and that key combination only works in text mode. So perhaps you have found a bug, though I do not know if it is the fault of lilo or something Mandrake has done.

Just a side note. This is a good example of why I much prefer Grub over lilo (not that I am trying to start any arguments of which is better).

Suffice it to say I do not know how to get around that. Sooooo boot from your install CD and choose Upgrade when it asks what type of install you want to do. Eventually it will get to the area where you can choose timezones, etc. Towards the bottom is a choice of bootloaders. If you choose lilo, make sure the device it wants to write the MBR is /dev/hda and that you choose /dev/hdwhatevernumber you got it to boot before.

fatTrav
08-16-2004, 10:23 PM
esc brings up to the lilo prompt, not Ctrl-X as previously stated. Sooo try that and then what stumbles suggested before you do the Upgrade.

(i like lilo, but grub is better.)

stumbles
08-16-2004, 10:40 PM
Originally posted by fatTrav
esc brings up to the lilo prompt, not Ctrl-X as previously stated. Sooo try that and then what stumbles suggested before you do the Upgrade.

(i like lilo, but grub is better.)


I will remember that esc. Ctrl-x does work for lilo in text mode for me.

winston82
08-17-2004, 03:50 AM
Alright, I'm starting to feel a bit stupid now.

My ISP went down for a while so I thought I'ld do a fresh mandrake install, just to be sure I didn't mess anything up the first time. Eveything went sweet, I'm now using GRUB bootloader, but still getting kernel panic.

I press 'c' for prompt, but typing;

>linux root= /dev/hda5(or any drive)

gives me: invalid command(or something similar)

I hit <tab> to see list of commands, so left out linux from the command and just tried;

root= /dev/hda5(and a whole heap others)

but I keep getting;

"error 11: unrecognised device string"

I know its probably something quite stupid and simple that I'm doing wrong, but can anyone tell me what it is?

saikee
08-17-2004, 04:25 AM
winston82,

If you are in Grub prompt the command

configfile (hd0,4)/boot/grub/menu.lst

has never fail me to boot the system in Grub, even it may not be successful. Grub counts from zero and so (hd0,4)=hda5.

If you get a kernel panic due to some files unable to be loaded then have a look at (assuming you now stick with Grub)

/boot/grub/menu.lst ---- this is the Grub boot menu and specifies the kernel location
/dev/fstab ---- files that can be loaded
/dev/mtab ---- files to be loaded

All of them are text files which you can edit with the "vi" editor while in command mode. Files that cannot be loaded in mtab can generate a kernel panic.

If you can see a menu with which you can select different kernels and boot Windows then the bootloader has accomplished its task. From that point onward it is more to do with the kernel and its configuration.

fatTrav
08-17-2004, 01:50 PM
Ok, after the fresh install and you still get errors makes me really think my original assumption was right. The sata drivers aren't being loaded and we need to fix that. I"m not sure which way is the easisest, so I'll post back after some thought.

winston82
08-18-2004, 11:36 PM
Originally posted by saikee

If you are in Grub prompt the command

configfile (hd0,4)/boot/grub/menu.lst

has never fail me to boot the system in Grub, even it may not be successful. Grub counts from zero and so (hd0,4)=hda5.



okay, Grub is booting fine, its after i tell it load linux that i get kernel panic. So maybe it is a problem with the SATA modules??

fatTrav
08-19-2004, 01:33 AM
I'm sure now it is a problem with the sata modules not being in the initrd. How to resolve this, I'm not sure.

This sounds like a plan.
1 Insert the first install disc in. Reboot. Hit the help or options key. This should take you to a text screen with a "boot: " prompt below.

2Type rescue. Then wait a few minutes while Mandrake's rescue mode loads. A menu will come up, you want the console.

3 mount root /mnt/disk --> with root being the partition / resides.

4 modprobe the sata stuff if yuo get any errors or it won't mount. if you don't need to modprobe, do a lsmod and make a note of hte sata modules that are loaded.

4 cd /mnt/disk/boot
If you get this far, we are now in the boot dir on your system.

5 We are going to make a new initrd.
I am gonna assume your filesystem is in ext3
mkinitrd -c -k 2.6.7 -m jbd:ext3:sata_modules -f ext3 -r /dev/hdb3 sata_modules shold be all the modules you had to modprobe separated by a :

6 ls -lah /mnt/disk/boot/initrd to make sure it overwrote any initrd that was present in your boot dir.

7 reboot, and hopefully mandrake will load

winston82
08-20-2004, 11:07 PM
Alright, seems like the Linux Gods really dont like me...

Originally posted by fatTrav
3 mount root /mnt/disk --> with root being the partition / resides.

4 modprobe the sata stuff if yuo get any errors or it won't mount. if you don't need to modprobe, do a lsmod and make a note of hte sata modules that are loaded.


I get to here no problem, so Im at the prompt for the Mandrake 10.0 rescue.

I have to modprobe sata_sil for it to see my harddrive. When I lsparts i get:

sda1 NTFS
sda5 NTFS <-- both my Win XP partitions.
sda6 Ext 2
sda7 Linux Swap
sda8 Ext 2

However trying:

mount root/mnt/disk (swapping root for any of the partitions)

gives me:

"can't find sda6/mnt/disk in etc/fstab or etc/mtab"

I get that error trying to mount any of the partitions.

Any takers?

fatTrav
08-20-2004, 11:10 PM
if / is on sda6 then the command is
mount /dev/sda6 /mnt/disk

sorry, i wasn't clear in my post as to the command.
;)

at least you're makin progress!!

winston82
08-20-2004, 11:41 PM
Thanks for all the help fatTrav! I'm actually enjoying this, learning something new is always good, and i think I've learned quite a lot about Linux so far, considering I havn't even seen a gui yet! :)

But here's my next problem....

Originally posted by fatTrav
4 cd /mnt/disk/boot
If you get this far, we are now in the boot dir on your system.

5 We are going to make a new initrd.
I am gonna assume your filesystem is in ext3
mkinitrd -c -k 2.6.7 -m jbd:ext3:sata_modules -f ext3 -r /dev/hdb3 sata_modules shold be all the modules you had to modprobe separated by a :

Ok, I'm in /mnt/disk/boot on sda6, but when I put;

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

I recieve:

"bash:mkinitrd:command not found"

If i go mk<tab> it gives me what I assume is a complete list of cammands that start with mk, but mkinitrd wasn't on it.

Also, lsparts told me my fs is Ext2, would that be making a difference? When I put in the above code i replaced ext3 with ext2, but i dont think that was the problem.

fatTrav
08-21-2004, 01:03 AM
crap.

"bash:mkinitrd:command not found" means that the shell can't find the command in your path.

if you "echo $PATH" in a terminal, you will see your path displayed. When you type in a command, your shell searches your path for it and executes it if found (and you have proper permissions).

try a "whereis mkinitrd" in hopes of locating it. it should be in /sbin or /usr/sbin (most likely).

if it can't find mkinitrd, then no worry. it might not be on the live-cd/rescue-cd, but it is instaleld during an install.

remember when/where we mounted your root ( / ) ? If root is /dev/sda6 and we mount'ed it at /mnt/disk

chroot /mnt/disk

This sets a new root for your shell. Now we can "cd /boot" and get into your boot dir. Then we can "mkinitrd jbd:ext2:ext3:sata_modules" and hopefully make the initrd.

if root is ext2, add that to your initrd. if ext3, add that. if not sure, add both. it won't hurt.

Maranello
08-25-2004, 05:57 PM
Winston82,

I have exactly the same hardware configuration like you and have had the same problem with installing Mandrake 10.

It took me 3 days to finally get it working. :p

To get past the installation problem, you need to load more than the sata_sil module:

modprobe sata_sil
modprobe sd_mod
modprobe floppy

After doing this, the installation goes perfectly, it doesn't even ask for other drivers.

After successful installation, when I rebooted the computer I got the following error messages:

...
Mounting root filesystem
mount: error 6 mounting ext3 flags defaults
...
pivotroot: pivot_root (sysroot, /sysroot/initrd) failed: 2
...
Kernel panic: No init found. Try passing init= option to kernel

I tried the thing with mkinitrd to load the sata modules, but it didn't work, the kernel didn't even see the initrd.img file.
I finally got it working by compiling and installing a new kernel with SATA support.

This can be a little complicated if you are a total newbie but here are the steps:

1. Boot with the first installation CD, press F1, type rescue
2. Choose "Mount filesystems...". The root filesystem on which you installed Mandrake should be now in /mnt
3. Choose "Console"
4. chroot /mnt. Now you can type MC to enter Midnight Commander which is a file manager that makes everything a lot easier

The next things you have to do are:

Get the latest kernel source file from www.kernel.org
Copy the file to a directory on your linux partition, uncompress
Configure the kernel for your hardware, including the SATA drivers, nVidia nForce drivers, etc.
Compile & Install the kernel.
Reboot and enjoy heheheh... :D

For the last part (compiling the kernel), you will find lots of information about this on the internet.
And maybe there is an easier way, but this worked for me hehehe... :D :p :p

fatTrav
08-25-2004, 06:17 PM
I don't think there is an easier way. Making a new initrd is just as complicated as making a new kernel. And personally, I'd rather compile in the stuff I know I'll need to boot linux (file systems, sata stuff) instead of having an initrd to do that for me.

I think this is a serious defect in Mandrake's installer that it will not create a proper initrd for these sata systems. :mad:

wrc
08-30-2004, 07:33 AM
The best advice I can currently give is that you consider an alternative linux distribution. If you have broadband or a friend who does, download kanotix which is based on knoppix which has excellent hardware detection.

I followed the instructions carefully and landed up with similar problems experienced by winston82. The errors generated during the boot process were not the same.

The reason why I have tried to get Mandrake working is that it is one of the few distributions that support the Bewan ADSL modem.

I tried Mandrake 10.1 beta - it does not recognise modprobing sata_sil - the same problem as 10 (community) - which is disappointing.

Unfortunately, until Mandrake sorts out this problem I would be inclined to keep away from Mandrake.