Rebuilt Linux Kernel doesn't work

Rebuilt Linux Kernel doesn't work

Post by Kenneth Bruns » Sat, 10 Jul 1993 05:00:33



System:
        Gateway 486DX2-66MHz 16Mb
        Adaptex 1542c - 500 MB Seagate drive with 3.5 floppy on IDE port
        ATI Ultra Pro Plus video board
        Microsoft Mouse & 101 Anykey Keyboard
        SoundBlaster Pro
        Colorado Tape Backup
        Modem

OS:
        DOS 6.0 - 200 MB partition
        linux 1.2 SLS Distribution - 300 MB partition

Here's my problem.  I rebuilt the kernel with new drivers (added new Ultrastor  
driver for 34f for a friend and told it to use all drivers available) and new  
mouse (serial instead of bus).  I took the Image produced and put it in my root  
directory (as Image2).  I then went into my lilo config and made a new image  
definition for this Image (nlinux); and reconfigred lilo.  After a few syncs  
and a reboot, I got the LILO prompt and told it to boot nlinux.  Everything  
seems to go well until it tries to mount the root device and I get the  
following message:
Kernel Panic: VFS: Unable to mount root dev

I also tried placing the zImage on a floppy and booting from it; I get the same  
kernel panic message.  

Have I done something wrong in my kernel configuration?  Any ideas on why the  
new kernel cannot mount the root device (the old kernel works fine still)?  Any  
ideas on how to fix this?  I've been thinking about doing a complete reinstall  
after first going in and editing the a# directory contents to change the  
drivers but I'd rather not (since I do have a working linux).  Any information  
and suggestions would be more than welcome and, as a matter of fact, are much  
wanted.  Thanks in advance.

--
        Kenneth Brunsen

        "Paladin  -  With Faith, there is always Hope."

        "Wait a minute...was it the red, or blue wire..."

        "And if I refuse...
           If you refuse, You die, she dies, everybody dies.
         Sounded reasonable to me."

 
 
 

Rebuilt Linux Kernel doesn't work

Post by Just GNU i » Sun, 11 Jul 1993 10:35:45



Quote:Brunsen) writes:

> System:
>    Gateway 486DX2-66MHz 16Mb
>    Adaptex 1542c - 500 MB Seagate drive with 3.5 floppy on IDE port
>    ATI Ultra Pro Plus video board
>    Microsoft Mouse & 101 Anykey Keyboard
>    SoundBlaster Pro
>    Colorado Tape Backup
>    Modem

> OS:
>    DOS 6.0 - 200 MB partition
>    linux 1.2 SLS Distribution - 300 MB partition

Grrr.... show off. Oh well, at least it's a Gateway. ;)

[stuff deleted]

Quote:> following message:
> Kernel Panic: VFS: Unable to mount root dev

> I also tried placing the zImage on a floppy and booting from it; I get the same  
> kernel panic message.  

> Have I done something wrong in my kernel configuration?  Any ideas on why the  
> new kernel cannot mount the root device (the old kernel works fine still)?  Any  

I'm sure the FAQ maintainers are groaning and beating their heads against a
wall out there, but we'll just ignore them for now. The kernel will complain
about not being able to mountthe root filesystem for three reasons (well, three
main reasons):

1) It doesn't have the correct disk driver compiled in
   (example: trying to use a kernel without SCSI drivers on a SCSI disk)

2) It doesn't have the correct filesystem support compiled in
    (example: your root filesystem is ext2, but the kernel only has the
     minix code in it)

3) You haven't told it what disk/partition the root filesystem is on

Problem 3 is fixed in one of three ways:

1) Before you compile the kernel, remember to edit the top level Makefile
   and make ROOT_DEV point to the right place. It usually just says
   ROOT_DEV = CURRENT, which will only work if your root partition and the
   partition on which you are building the kernel are one and the same.
   I prefer to hard code it regardless: for me it's ROOT_DEV = /dev/hda1
   For you, it should probably be ROOT_DEV = /dev/sda2

2) Set the root partition in your LILO config file. Here's mine:

boot=/dev/hda         (/dev/sda for you)
compact
install=boot.b
map = map
image = /vmlinux
  label = vmlinux
  root = /dev/hda1    (/dev/sda2 for you)
  vga = normal

   If you don't have the 'root =' line, add it.

3) The rdev command should allow you to patch the correct location of
   your root filesystem into an already compiled Image or zImage. I
   haven't used this option in a while though since I prefer using LILO
   to make bootable floppies. The man page on rdev, or rdev itself should
   tell you what to do.

Note that when booting zImage directly off a floppy, only solutions 1 and 3
will help unless you used LILO to build the bootable floppy. Also note
that LILO will allow you to override the compiled-in location of the root
filesystem if desired.

Hope this helps.

-Bill Paul


 
 
 

1. aha1542, module vs kernel, kernel doesn't work, need kernel

The reason I need it as kernel code is so that I can put /usr on a
seperate 8.2g drive.

When aha1542 is built as a module, it pops up immediately before the
login screen, and everything works as planned.

Remaking the kernel with it set to be kernel code, it starts the bus
scan during the boot, not too long after the ide devices are found, but
then goes into a double loop of resetting the device 2-4 times, then the
whole bus, then repeats the device, all the while saying it can't abort
the call, but evertually it will find the drive at address 0 on the bus
and go on, at which point it repeats this procedure for address one,
each pass thru the loop taking about 5 minutes, finding the quatum 8.2g
at each addreess in turn until it gets to address 4, at which point the
discovery phase eventually finds a Colorado T4000s at address 4, which
is its correct address, then also at 5 & 6.

Then it apparently repeats the loop, asking each device for its capacity
details, and going through this same error recovery time killer, except
that this time it only gets partial answers only, and only at the
correct address for the device.

I let it go through all that, and finally got a login screen and did so,
but was unable to open either device, not even with fdisk /dev/sda.

I've used several of these cards in years past, and have always had to
edit the source to lower the address of its port by 0x100, to the 0x230
area, and to reset the irq from 11 to 10.  Without those changes the
module doesn't init itself, ever, and it has required those changes to
the code in order to function on 3 different motherboards I've run it
on.

But here, I need the direct in the kernel version so I can put /usr on
it.  Put it in the kernel, and it fails miserably, both for 2.2.18,
2.2.19, and 2.4.2.  The 2.4.2 failure surprised me as that code has a
diff that looks to be in excess of 10k from the older code.

So why can't I put aha1542.o into the (apparently any) kernel?
Inquiring minds want to know. (-;

Cheers, Gene
--

        email gene underscore heskett at iolinc dot net
#Amiga based X10 home automation program EZHome, see at:#
 <http://www.iolinc.net/gene_heskett>
This messages reply content, but not any previously quoted material,
is ? 2001 by Gene Heskett, all rights reserved.  Due to recent
changes in M$ lusers TOS, mail from msn.com, msn.net, microsoft.com,
microsoft.net, hotmail.com, and hotmail.net is auto-deleted, unread.
--

2. Network Card help!

3. rebuilt kernel doesn't autoload modules

4. compilation problem

5. Re. bffcreate -X doesn't work Re: bffcreate -X Doesn't Work

6. BIND9/ named zonefile

7. Rebuilt Kernal now insmod ppa doesn't work

8. SCSI CONTROLLER HARDWARE PROBS. HELLLPPP!!!!

9. Possible Bug: Kernel Parameter 'scsihosts' Doesn't Work In 2.4.3?

10. ppp/isdn don't work after world and kernel rebuild

11. PPTP-linux doesn't work with the latest kernels?

12. ReCompiling Kernel on Linux 1.1.18, it doesn't work ;(

13. My Slackware doesn't work with soundcard, & can't compile Kernel