Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 May 1996 12:40:08 -0500
From:      craigh@bugsoft.com (Craig A. Heilman)
To:        questions@freebsd.org
Subject:   Re: PANIC: Cannot mount root
Message-ID:  <v02130506adb52bdd2da5@[205.213.64.30]>

next in thread | raw e-mail | index | archive | help
Hi all,

I'm also having a slight problem getting the default boot sequence (using
BootEasy) to work properly.  I believe it is directly related to this
topic.

System Info
-----------
Magitronic 486DX2-80 (GA-486VS motherboard), 16MB RAM
520MB IDE hard drive (504MB formatted - all DOS, BootEasy installed)
Adaptec AHA-1542CP SCSI controller
Conner 1.08 GB SCSI hard drive (CFP1080S), SCSI ID: 0
    (20MB DOS partition on sd0s1, remaining is FreeBSD on sd0s2)

Boot Sequence 1                    Boot Sequence 2
---------------                    ---------------
F1...dos                           F1...dos
F5...disk 2                        F5...disk 2

Default: F5                        Default: F5

F1...dos                           F1...dos
F2...BSD                           F2...BSD
F5...disk1                         F5...disk1

Default: F2                        Default: F2

Boot:                              Boot:hd(1,a)/kernel
Booting sd(1,a)/kernel 0x100000    Booting sd(0,a)/kernel 0x100000
...                                ...
changing root device to sd1a       successful boot
panic: cannot mount root


As you can see, if I enter hd(1,a)/kernel at the Boot prompt, it finds the
correct root partition, but if I let it default, it incorrectly attempts to
use sd1a as the root partition.  What is the EASIEST way to fix this so it
defaults to the proper partition?

Here's what I tried that DID NOT work:
- changed DOS partition on sd0s1 from primary to extended
- deleted DOS partition on sd0s1 (but didn't reinstall FreeBSD)

In a prior related message (Subject: Re: PANIC: Cannot mount root):

At 09:49 05/05/96, Michael Smith wrote:
>Jeff Genender stands accused of saying:
>>
>> The problem is, I can install FreeBSD without any problem.  I then go to
>> boot (with the floppy) and type in sd(1,a)/kernel (for the second drive)
>> and it does nothing.  I then type in sd(2,a)/kernel and it begins to
>> boot and I then get the famous 'PANIC: Cannot mount root'.  I have tried
>
>The BIOS drive numbers and SCSI minor numbers are out of sync.
>This is addressed in newer bootblocks, but you should be able to boot
>hd(1,a)/kernel without any problems.
>
>If this works, look in /usr/src/sys/i386/boot/biosboot and modify the
>Makefile and boot.c to default to this.

Anyone have step-by-step instructions on how to do this?  Is this the
easiest way to fix this?

In another related message (Subject: Re: PANIC: Cannot mount root):

Terry Lambert said:
>You are tying to boot off a drive not in the BIOS boot chain, since
>I assume your IDE is your boot device.

>You can use the NT boot loader to load the BSD boot blocks (recently
>posted to comp.unix.bsd.freebsd.misc, and posted rather regularly to
>this [-questions] list).
>
>But you will have to modify the BSD boot code, which only recognizes
>the first and second bootable devices (definitely *not* your second
>SCSI drive on your secondary disk controller).
>
>Basically, you need to either recompile with a different "root on sd1a"
>or hack the sys/i386/machdep.c boot device designation.

Any step-by-step instructions on this procedure?  Which procedure is
easiest - modify boot.c or machdep.c?

Thanks much,

Craig

--------------------------------------------------------------------------
*  Craig A. Heilman                        Bugaboo Software              *
*  craigh@bugsoft.com              Software Engineering & Consulting     *
*  (608) 274-2003                       http://www.bugsoft.com/          *
--------------------------------------------------------------------------





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?v02130506adb52bdd2da5>