LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (http://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   Kernel Panic - Root Disks - install.1 install.2 (http://www.linuxquestions.org/questions/slackware-installation-40/kernel-panic-root-disks-install-1-install-2-a-185057/)

bonecrusher 05-23-2004 11:05 PM

Kernel Panic - Root Disks - install.1 install.2 (SATA KERNEL)
 

I have been working on getting a working slackware copy going for some time now on a Asus P4P800 Deluxe Mobo for SATA Intel controller and WD drive. Tonight I got the kernel working (2.6.4), so I put it on floppy with the root device set to /dev/fd0 .
Using rdev to make the bootdisk default to /dev/fd0 corrupted the bootdisk so I had to change the "makebootdisk" script variable to "/dev/fd0" to get it to set up a correct root device.
Anyway, I got all this done. My kernel boots. It recognizes the sata drive! (*Big Sigh of relief!*). And as it should it says please Enter Root disk in Floppy Drive.
I do this and I get a "Kernel Panic: Unable to mount root device!"
UGGGG!

I have tried numerous disks. I have tried turning on other features in the kernel (Like other Filesystems). Does anyone know what would stop a install.1 disk from loading up? Is there something specific the install.(#) disks need to run?

I appreciate ANY responses, believe me! I have been working at this quite awhile now and know I am on the tip of the iceberg as it were. Please help if you can!

Sincerely,

BC

motub 05-24-2004 03:25 AM

Sorry, I'm confused.
Quote:

These are root-install disks for Slackware 9.1.

If you are unable to boot the Slackware installation CD directly, you'll
need create these floppy disks in order to load the installer. In the past,
there's only been one rootdisk floppy called "color.gz", but now there are
2 floppy images (install.1 and install.2), and you'll need both of them.

------------------------snip-----------------------------------------------

install.1, install.2: These are the Slackware installation disks, used
to install Slackware Linux to its own partition.
In neither this readme, nor anywhere in the Slackware Essentials Book, nor the Slackware Install Help pages, is there any mention of needing to have a kernel on the floppy (unless you're using the experimental UMSDOS install floppy), or that you should need anything extra at all to load the installer from the install.1 and install.2 floppies.

So my question is: are you trying to create install disks, or boot disks? The nice thing about Slack is that when something doesn't work, you can immediately start looking directly for what you did wrong, as Slackware works 99.9% of the time.

And if you're trying to make boot disks, you're using the wrong floppies (you have no use for install.1 and install.2-- or are you trying to reinstall because your bootdisk doesn't work?).

Or are you trying to install Slack and then insert the new floppy when requested to specify which kernel you want to install?

What I see here is that since you have a working kernel from an installed Slack on the boot disk, the root disk is not going to be on install.1 or install.2, because there is no root system on those disks -- or at least not the root system that your boot floppy is looking for; that of an installed system.

I'm not clear on why you're using a separate boot disk at all (as far as I understood, install.1 would be the boot disk, and install.2 would likely be the root disk); certainly not one with a 2.6.4 kernel compiled on it (since you would compile a kernel much later in the installation process).

Are you unable to boot from CD? That seems unlikely with that motherboard. Is there some reason you're not installing from CD? Or even using the Smart Boot Manager image that is available from the site where you downloaded install.1 and install.2:
Quote:

And finally, there is a very small image containing the Smart Boot Manager:

sbootmgr.dsk This nifty little tool allows selecting various devices to boot
from a menu, and even allows booting a CD-ROM in machines where
the BIOS doesn't support it (or it's supposed to support it, but
it just doesn't work). If you have trouble booting the
Slackware CD-ROM, you might try writing this image to a floppy,
booting it, and then selecting your CD-ROM drive as the boot
device.

The SBM installer is available as a Slackware package (called
"btmgr") in the extra/ packages collection.
Could you explain your goals a bit further? Maybe I'm dim, but I'm not getting what you're doing here at all.

bonecrusher 05-24-2004 09:24 AM

ABOVE MSG
 
MOTUB:
Please read this link to further describe my situation. I am sorry for the confusion. I have Slack installed on a P2 in the other room and am using it to build new kernels. I forgot to mention that fact. But do read this link:
My Original Message.

I tried again last night to recompile again twice. I made sure ext2 was enabled for the floppy drive FS. Still nothing. I am getting that kernel panic msg.
Let me know if I should give any other info on my 'condition'

To clarify a little more:

1) I have a newly built computer w/o Slackware installed on it.
2) I want to install Slackware 9.1 on it.
3) I can't run the install from CD because the Kernel freezes up when booting (I Think it has the wrong Sata driver on - as it finds the SATA drive but then locks up.
4) I had been told (by lots of ppl) I need to make a custom kernel/boot disk and then boot with it.
5) I did this on my other computer that has Slackware 9.1 on it.
6) After my custom bootdisk boots up I assumed I would need to enter the install.1 disk (because I want to run setup and because I don't have Linux on any other partition.) I am using the old method for installiong Slack. (Back when you had to use floppy as the install method. (bare.i/color.gz - ahh the good old days...ha) ) Then enter the CD Rom after all that setup is run.
7) It freezes after loading install.1 in approximately 8 seconds. "Kernel Panic: Root File System Not Found On /dev/fd0" --> Well that isn't the direct quote but it is close enough.

PS I noticed ppl with similiar problems with those install.1 and .2 disks. I searched for those msg again but can't seem to find them right now.
I just tried to load up the rescue.dsk, even. (Just to see if it would find a root FS on it.) No luck.


Thanks again so much!

Regards,
BC

gnashley 05-25-2004 02:29 AM

Hello Bonecrusher. i was having a bit of a problem yesterday with rootdisks(rescue.dsk) and couldn't get a working floppy using dd. Once I used rawrite all was okay. I also was working on generating a similar boot floppy using makebootdisk.
You might try using the mount label at the boot: prompt
mount root=/dev/fd0 ro
Will your boot floppy successsfully boot and mount the file system where you compiled it?
Another idea is to use mkrescue to create a bootable iso with your kernel. This will support very large kernels! Or search for how to create your own installation CD. basically you just copy your kernel over the bare.i image in the Slackware packages directory and then make a new iso. There are directions for this also on the install CD.

Just to clarify for motub- The slackware 'setup' installation routines are available 3 ways.
1. On the installation CD.
2. In the floppy images install.1 and install.2
3. In the file install.zip
The install routines are part of a special root filesystem which is mounted after booting. When you boot from CD you don't see this happening. On machines that won't boot from CD then one must start by using a boot disk and then inserting floppies install.1 and install.2 to get the root file system. It's about 5.5MB of rescue disk plus install routines. Unlike most distros the Slackware install routines are a full running linux system. The install routines are also available in install.zip which is an umsdos implementation of the same root filesystem which runs from within a FAT filesystem.
Slackware has boot disks available with compiled-in support for many kinds of devices but does not have a kernel for SATA.

motub 05-25-2004 03:26 AM

Yes, gnashley, I understood that from the Slackware page, although I never had to install Slack from floppies.

The thing that I didn't understand is how the custom boot floppy was supposed to know to look for the custom root system specifically on the install.1 floppy.

I get it that the custom boot floppy knows to look for the root system on a floppy, but it would seem to me that the root system on install.1 (or .2, whichever is supposed to be the root disk) would have particular "keys" (for want of a better word) that you'd have to "hook" to the boot floppy in some way, in order for the boot floppy to accept that the root filesystem it should be looking for was the one on that particular floppy.

Since it is not willing to accept this (that's the whole error in a nutshell, the boot floppy does not believe that the root filesystem on the install.* disk is the one it wants), it seems to me that there is possibly an error in the method used to create the boot disk (which I also now get; the issue is that the standard kernel used in installation wouldn't be able to see the SATA hard drives in order to install to them, right?), or the methodology to start the install when using a custom boot disk with the installer floppies might be incorrect.

Having not done this, though, I'm only guessing.... is the meaning of the 2 floppies that you boot from install.1, and then insert install.2, which loads the root filesystem and the installer? This is how other multi-diskette rescue floppies generally work, the first is the boot disk (loads DOS or whatever), then the second disk loads the rescue program.

So isn't install.2 the one that should be inserted when the boot disk asks for a floppy? Bonecrusher refers to install.1, when it seems to me that the custom boot disk is replacing install.1.

I thought that maybe a fresh pair of eyes might be useful, so maybe it would help clarify the issue if you explained more about how these diskettes are supposed to interact, as that might highlight either what has been done incorrectly, or what is flat-out-broken.

bonecrusher 05-25-2004 10:09 AM

Quote:

Originally posted by gnashley
Hello Bonecrusher. i was having a bit of a problem yesterday with rootdisks(rescue.dsk) and couldn't get a working floppy using dd. Once I used rawrite all was okay. I also was working on generating a similar boot floppy using makebootdisk.
You might try using the mount label at the boot: prompt
mount root=/dev/fd0 ro



I tried this. Nope :(


Will your boot floppy successsfully boot and mount the file system where you compiled it?


I am in the process of testing this....


Another idea is to use mkrescue to create a bootable iso with your kernel. This will support very large kernels! Or search for how to create your own installation CD. basically you just copy your kernel over the bare.i image in the Slackware packages directory and then make a new iso. There are directions for this also on the install CD.

Just to clarify for motub- The slackware 'setup' installation routines are available 3 ways.
1. On the installation CD.
2. In the floppy images install.1 and install.2
3. In the file install.zip
The install routines are part of a special root filesystem which is mounted after booting. When you boot from CD you don't see this happening. On machines that won't boot from CD then one must start by using a boot disk and then inserting floppies install.1 and install.2 to get the root file system. It's about 5.5MB of rescue disk plus install routines. Unlike most distros the Slackware install routines are a full running linux system. The install routines are also available in install.zip which is an umsdos implementation of the same root filesystem which runs from within a FAT filesystem.
Slackware has boot disks available with compiled-in support for many kinds of devices but does not have a kernel for SATA.


Just to let MOTUB know,

I tried to boot the install.1 (from bootup without anything else loaded...) disk just for s**ts and grins and it just sat there and kept spinning. Didn't load anything at all. I am trying to test a few other things today. Hopefully I will have a break-thru.

As you mentioned Gnashley:

I could make an iso cd. I am thinking more and more that that is going to be my final course of action. I just have a pet peeve when I can't get somethig to work that should work fine.... ;)

I do see your point, Motub, though- it does seem that there would be some sort of option for a special boot disk/floppy kernel that is made specifically for the root disk/CD setup. I don't know what to change or do to make this happen though. I do tend to think it is still just a problem with my kernel not being able to recognize the root file system for some reason. I may try compiling the straight bare.i kernel and running install.1+2 after it boots just to see if those install.1 and .2 work at all with the default kernel. <-- (Of course I will have to do this on my P2 IDE box.) If that works, then I will know *for sure*? that it is something within my kernel only. (Not the boot disk/floppy kernels other files...(eg makebootdisk or make bzdisk) )
Well, hopefully this makes some sense about what I am trying to do now.

hmmmm... well back to work! (and another re-compile.)

-BC


PS:
Here is a link I found which I need to still read more closely and look thru. Some of the links it refers to seem to be outdated, but all in all it has given me a few ideas.

gnashley 05-25-2004 10:44 AM

Yeah, I was looking at that the other day and downloaded the SATA boot floppy image for 2.4.25. but i have no SATA drives to test it.
the kernel doesn't need any special 'hook' for install.1 and install.2. it just needs to find folders named bin and etc and lib or a folder on a FAT named --linux.--- with the other subfolders. The kernel will mount compressed file systems, etc as long as it has support for the device compiled in.
You could try creating a small FAT partition and unzip install.zip on it. The use your boot disk to boot that.
Or, try the SATA 2.4.25 bootdisk from the linked page you gave and start the install routine, but have it install your kernel. Or finish the install and then add your 2.6.x kernel

motub 05-25-2004 12:00 PM

Quote:

Originally posted by bonecrusher
Just to let MOTUB know,

I tried to boot the install.1 (from bootup without anything else loaded...) disk just for s**ts and grins and it just sat there and kept spinning. Didn't load anything at all.

OK, am I dim, or does this mean that the whole problem is that there's something wrong with install.1 in the first place? Or is that the effect of the SATA issue?

Quote:

Originally posted by gnashley
the kernel doesn't need any special 'hook' for install.1 and install.2. it just needs to find folders named bin and etc and lib or a folder on a FAT named --linux.--- with the other subfolders.
Do "we" ;) have the ability to look at the contents of install.1 and install.2? Do either of these diskettes contain these folders?

I'm very curious, as I'll probably be upgrading to SATA in the relatively near future, and if I'm going to have major issues moving/upgrading/changing my distro, I might as well find out now :) .

bonecrusher 05-25-2004 07:03 PM

No your not dim Motub, just don't no much about floppy installs as most ppl don't it would seem--these days. I have a feeling that the install.1 and .2 really were never tested all that thoroughly, but on the other hand I feel that they should work. (They just aren't bootable as we have been telling you all along..) No big deal. Like I mentioned and I think Gnashley mentioned, you have to boot up your 'boot' disk (hence the name) first. Ha. I probably sound like a jackass now. Well, my point is, the original course of action is still correct, I just need to figure out what is going wrong in my kernel. I only tryed to boot the install.1 disk because you made me do a double take when you said that! Ha. Would have been nice if it would boot. No go though.

I did have a new development this afternoon. I noticed I didn't have ext2 compiled into the kernel I am running 'makebootdisk' on. I don't know that this mattered, (Well it did when I tried to make a Lilo boot disk.) but after I recompiled my kernel on the non-sata box (the one running my makebootdisks) and actually made a new boot disk with it, I got a new error (whooopee!) It said something like 'ext2 file system error' and said try not running Init. (I would have had to write it down which I didn't.) At first I thought that I was getting somewhere and my mistake had been corrected with the new recompile. I think what actually happened was that the install(root).1 disk had an error on it. I say this because I couldn't reproduce this with any of my other root disks I have laying around. It only does it on that one.

I also d/loaded Jolly Rodgers 'sata.i' boot disk and raw wrote it. (To get it use he link above in the 2nd to last post to 'isolinux.org') It booted up but looked basically like the one that loads on slack 9.1 ( I get sata disk discovery, but a lock up after this:)

"hdg: attached ide-disk driver"

And the big freeze after that.

(This is what it does if I boot with the slack 9.1 ISO)

Oh well. Nice try anyway. I really thought that one might work!

BTW Motub: I would recommend SATA (even with all the trouble I am having.) My drive is the fastest I have ever had. I am extremely happy about it. I am also sure these bugs with the sata controillers will be worked out soon (If you can call them bugs..more like inexperience on my part...)


Well, time to tinker some more.

Till later-

bc

bonecrusher 05-25-2004 07:08 PM

Quote:

Originally posted by gnashley
Yeah, I was looking at that the other day and downloaded the SATA boot floppy image for 2.4.25. but i have no SATA drives to test it.
the kernel doesn't need any special 'hook' for install.1 and install.2. it just needs to find folders named bin and etc and lib or a folder on a FAT named --linux.--- with the other subfolders. The kernel will mount compressed file systems, etc as long as it has support for the device compiled in.


And what should I compile into the kernel for this to happen? Maybe this is why it's not mounting root floppy??? :confused:


You could try creating a small FAT partition and unzip install.zip on it. The use your boot disk to boot that.
Or, try the SATA 2.4.25 bootdisk from the linked page you gave and start the install routine, but have it install your kernel. Or finish the install and then add your 2.6.x kernel


gnashley 05-26-2004 01:06 AM

You nee ext2fs compiled into the kernel because the file system on the install.x floppies is ext2. Iwas trying again last night. I'm using a stock Zipslack kernel 2.4.25 but can't get it to mount the rescue floppy(same problem as with install.x)
Bonecrusher, if you have re-compiled try running rdev first.
rdev /path/to/new/kernel/vmlinuz /dev/fd0
Then run makebootdisk.
You can mount and see the floppy images like this:
First rename install.1
mv /root/install.1 /root/install.gz
then uncompress the file
gunzip /root/install.gz
This will leave a file called install
now do this:
mkdir /mnt/loop
mount -o loop /root/install /mnt/loop
cd /mnt/loop
and you'll see the file system

bonecrusher 05-26-2004 10:01 AM

Cool.
 
Quote:

Originally posted by gnashley
You nee ext2fs compiled into the kernel because the file system on the install.x floppies is ext2. Iwas

Yeah I fig'd that out recently. But I don't think that was my problem. As the boot disk is written in fat format (syslinux). So Like I said I thought at first I had solved the problem, but nope.

trying again last night. I'm using a stock Zipslack kernel 2.4.25 but can't get it to mount the rescue floppy(same problem as with install.x)
Bonecrusher, if you have re-compiled try running rdev first.
rdev /path/to/new/kernel/vmlinuz /dev/fd0


I thought you run rdev like this:
rdev (device your writing to ( /dev/fd0 )) (file system your mounting the root device on ( /dev/fd0 ))
And I should run rdev before I run makebootdisk? I thought makebootdisk runs rdev on the floppy so wouldn't that overwrite any other info?
I also thought that I had to use bzImage, because when I try and run makebootdisk on vmlinuz it says it can't open kernel or some such. It allows me to write it, just can't mount the kernel when I actually boot the disk. When I use makebootdisk on bzImage, though, it boots the kernel just fine.

Then run makebootdisk.
You can mount and see the floppy images like this:
First rename install.1
mv /root/install.1 /root/install.gz
then uncompress the file
gunzip /root/install.gz
This will leave a file called install
now do this:
mkdir /mnt/loop
mount -o loop /root/install /mnt/loop
cd /mnt/loop
and you'll see the file system

Thats cool. I was wondering how to get a look at those disk...


I'll write more later,

bc

gnashley 05-26-2004 03:17 PM

Huge AHA! I found the answer.
run makebootdisk as usual
then mount the floppy
mount /dev/fd0 /mnt/floppy
then this fixes it so it will boot a root floppy such as rescue.gz or install.1(which asks for install.2):
rdev -R /mnt7floppy/vmlinuz 0
rdev -r /mnt/floppy/vmlinuz 49152
rdev -v /mnt/floppy/vmlinuz -1
rdev /mnt/floppy/vmlinuz /dev/fd0
That's it!
This will create a regular Custom boot floppy which shows and defaults to mount the partition where it was made from, but which will also work for other HD partitions with 'mount'. But, these floppies also have the hidden 'ramdisk' boot parameter which will then ask for the root floppy. just type 'ramdisk' by itself at the boot prompt and it will ask for the root floppy after loading then kernel.
Hope this finally fixes your problem. I got mine working using a ZipSlack kernel which is larger than the other Slackware kernels- 1405K
This will work for kernels up to about 1417K.

On another note about mount -o loop:
If you want to look at aboot floppy image follow the same directions except dont gunzip the image file (bare.i, etc) just mount it. This is because the boot image is bzipped. the BIOS reads it this way. the kernel then expects a file system and doesn't mind if it's gzipped and will transparently decompress it. But we must manually decompress it to mount and see it. the loop 'device' takes care of the bzip compression of the boot image. Live CD distros usually use the cloop device for handling highly compressed root file systems.

bonecrusher 05-27-2004 01:40 AM

Quote:

Originally posted by gnashley
Huge AHA! I found the answer.
run makebootdisk as usual
then mount the floppy
mount /dev/fd0 /mnt/floppy
then this fixes it so it will boot a root floppy such as rescue.gz or install.1(which asks for install.2):
rdev -R /mnt7floppy/vmlinuz 0
rdev -r /mnt/floppy/vmlinuz 49152
rdev -v /mnt/floppy/vmlinuz -1
rdev /mnt/floppy/vmlinuz /dev/fd0
That's it!
This will create a regular Custom boot floppy which shows and defaults to mount the partition where it was made from, but which will also work for other HD partitions with 'mount'. But, these floppies also have the hidden 'ramdisk' boot parameter which will then ask for the root floppy. just type 'ramdisk' by itself at the boot prompt and it will ask for the root floppy after loading then kernel.
Hope this finally fixes your problem. I got mine working using a ZipSlack kernel which is larger than the other Slackware kernels- 1405K
This will work for kernels up to about 1417K.


Yes I figured out it was a ramdisk problem today, and must have read the same thing you did. (/usr/src/linux/Documentation/ramdisk.txt) My problem with using rdev /dev/fd0 /dev/fd0 is that it will always corrupts my makebootdisk. I am not sure why it is doing this, but it does it every time.
After reading most of the ramdisk text file I came away with the impression that you run rdev on raw ext2? boot disks and use syslinux on fat fs's. I was trying to read up on syslinux loader today, too. I have played around with it some, but it doesn't seem to want to work right...at all.
Maybe seeing as how you mounted the floppy fiirst before rdev'ing it, this will fix the problem of corruption? I'll check your method out in the morning.

On another note about mount -o loop:
If you want to look at aboot floppy image follow the same directions except dont gunzip the image file (bare.i, etc) just mount it. This is because the boot image is bzipped. the BIOS reads it this way. the kernel then expects a file system and doesn't mind if it's gzipped and will transparently decompress it. But we must manually decompress it to mount and see it. the loop 'device' takes care of the bzip compression of the boot image. Live CD distros usually use the cloop device for handling highly compressed root file systems.

Still haven't given this a try, I had my hands full today just trying to get Slack installed. It is now installed on my Asus, though! What a relief! (I got ahold of a 2.4.22 kernel from someone. -> ich5.i) and it works fine although it was a patched kernel just put on top of the bare.i kernel.

Wish I could figure out how to get (my kernel) to default to ramdisk (like on the bare.i kernel) I do have a nice new kernel I made, though. I will call it sata_all.i when I get this ramdisk thing sorted out. It works like a charm! (And loads any form of sata you have....) Hopefully you can take a look at the bare.i image and check out what I was looking at. Check out the syslinux.cfg file (bare.i 's) and compare it to the one makebootdisk makes. It is using /dev/fd0u1440 (I think that it - as I don't have it written down or priinted). ANyway i think that must only work with kernel 2.4.x (or earlier?) because it sure doesn't like my kernel on top of that bootloader. Well check it if you can and you'll see what I mean.

Thanks for the info!
(I'll try your method in the morning..but I still wanna know how to get it to default to a ramdisk boot (Like a regular install boot disk,(arent I the picky one? :) ---> yes and now we know there is a distinction. Install disk use initrd or ramdisk while a makebootdisk defaults to 'normal' loading)

and the tired one....... need some ZzZzzZzzzzz now... ;)



-bc

gnashley 05-27-2004 03:05 AM

You can change the deafult easily. just change the prompting and shange the default line to like it is in the bare.i syslinux.cfg file.
Look in the Slackware tree for a couple of scripts named make-all_bootdisks and makedisk. makedisk has the commands I showed you and the standard Slackware boot disk prompting and default. Don't run it directly but 'rob' the commands.


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