Date: Wed, 6 Jan 1999 13:09:43 -0800 (PST) From: Julian Elischer <julian@whistle.com> To: Robert Nordier <rnordier@nordier.com> Cc: Andreas Braukmann <braukmann@tse-online.de>, current@FreeBSD.ORG Subject: Re: Trouble booting from WinNT with new boot loader Message-ID: <Pine.BSF.3.95.990106130207.2734G-100000@current1.whistle.com> In-Reply-To: <199901062055.WAA02578@ceia.nordier.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is exactly why at whistle we use the 2nd block of the first
disk to store this stuff. (see 'nextboot(8)')
the bootblocks on da0 load a default from da0-block1,
which specify:
da(1,........
I am thinking of adding code to actually make the 2nd block require to be
in it's own slice type (not 165) so that it is marked as being in-use
rather than using a 'free' block like we do now..
I've added a 4th slice below that shows what it would look like....
what do you think?
julian
On Wed, 6 Jan 1999, Robert Nordier wrote:
> Andreas Braukmann wrote:
>
> > I'm having a quite similar problem, but I have to suppose that the
> > num_ide-thingie won't help.
> > My home-system purely scsi-based with two disks (2 x IBM DDRS 9 GB);
> > the disks are partitioned^h^h^h^h^h^h^h^h^h^h^hsliced like this:
> >
> >
> > :: paert# fdisk da0
> > :: ******* Working on device /dev/rda0 *******
> > [...]
> > :: Media sector size is 512
> > :: Warning: BIOS sector numbering starts with sector 1
> > :: Information from DOS bootblock is:
> > :: The data for partition 1 is:
> > :: sysid 6,(Primary 'big' DOS (> 32MB))
> > :: start 63, size 1060227 (517 Meg), flag 80 (active)
> > :: beg: cyl 0/ sector 1/ head 1;
> > :: end: cyl 65/ sector 63/ head 254
> > :: The data for partition 2 is:
> > :: sysid 5,(Extended DOS)
> > :: start 1060290, size 7405965 (3616 Meg), flag 0
> > :: beg: cyl 66/ sector 1/ head 0;
> > :: end: cyl 526/ sector 63/ head 254
> > :: The data for partition 3 is:
> > :: sysid 165,(FreeBSD/NetBSD/386BSD)
> > :: start 8466255, size 9381960 (4581 Meg), flag 0
> > :: beg: cyl 527/ sector 1/ head 0;
> > :: end: cyl 1023/ sector 63/ head 254
The data for partition 3 is:
sysid 201,(FreeBSD bootspec)
start 1, size 1 (0 Meg), flag 0
beg: cyl 0/ sector 2/ head 0;
end: cyl 0/ sector 2/ head 0
> >
> > :: paert# fdisk da1
> > :: ******* Working on device /dev/rda1 *******
> > [...}
> > :: Media sector size is 512
> > :: Warning: BIOS sector numbering starts with sector 1
> > :: Information from DOS bootblock is:
> > :: The data for partition 1 is:
> > :: sysid 165,(FreeBSD/NetBSD/386BSD)
> > :: start 63, size 12578832 (6142 Meg), flag 80 (active)
> > :: beg: cyl 0/ sector 1/ head 1;
> > :: end: cyl 782/ sector 63/ head 254
> > :: The data for partition 2 is:
> > :: sysid 5,(Extended DOS)
> > :: start 12578895, size 3871665 (1890 Meg), flag 0
> > :: beg: cyl 783/ sector 1/ head 0;
> > :: end: cyl 1023/ sector 63/ head 254
> >
> > ... and partitioned as:: paert# disklabel da0
> > :: # size offset fstype [fsize bsize bps/cpg]
> > :: b: 786432 2097152 swap # (Cyl. 130*- 179*)
> > :: c: 9381960 0 unused 0 0 # (Cyl. 0 - 583)
> > :: e: 2097152 0 4.2BSD 0 0 0 # (Cyl. 0 - 130*)
> > :: f: 6498376 2883584 4.2BSD 0 0 0 # (Cyl. 179*- 583*)
> >
> >
> > :: paert# disklabel da1
> > :: # size offset fstype [fsize bsize bps/cpg]
> > :: a: 524288 0 4.2BSD 0 0 0 # (Cyl. 0 - 32*)
> > :: b: 786432 524288 swap # (Cyl. 32*- 81*)
> > :: c: 12578832 0 unused 0 0 # (Cyl. 0 - 782*)
> > :: e: 2097152 1310720 4.2BSD 0 0 0 # (Cyl. 81*- 212*)
> > :: f: 2097152 3407872 4.2BSD 0 0 0 # (Cyl. 212*- 342*)
> > :: g: 7073808 5505024 4.2BSD 0 0 0 # (Cyl. 342*- 782*)
> >
> >
> > I'm used to boot the system by the NT BootLoader (since fbsdboot chokes
> > on vm86 ...). The (freebsd) root filesystem lives on da1s1a.
> > Both bsd-slices are disklabeled to the new blocks, too.
> >
> > I made an entry in the NT boot.ini for the new fbsd bootblock and
> > the system boots. ... But the new boot block gives the warning
> > 'no ufs' first. It seems to me, that the boot-code just tries to make
> > use of the first partitions in the first found freebsd-slice (da0s3)
> > for going on. (e.g. looking for /boot/* )
> > Since the da0s3b partition is a swap-partition, .... this approach
> > has to fail ...
>
> The obvious approach seems to be to boot da1, but I assume you can't
> tell NT BootLoader to do that.
>
> The trouble with a setup like this is that it's not compatible with
> default bootblock behavior, and there's also no place to put a
> /boot.config to change that behavior.
>
> You could patch /sys/boot/i386/boot2/boot2.c to look for everything
> on da1, I guess. But the basic problem seems to be that you're
> trying to boot from an unbootable disk. (If the root filesystem
> is on da1, you need to boot da1 not da0.)
>
> --
> Robert Nordier
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.990106130207.2734G-100000>
