(no subject)

Ian Smith smithi at nimnet.asn.au
Sat Feb 17 06:44:35 UTC 2007


On Fri, 16 Feb 2007, Cecil wrote:

 > Thanks for all the comments but I must not be doing something right!
 > Here's outline of the install process. 

 > 1. Partition a single 40GB harddrive using FDISK and make the FreeBSD
 > partition Active

 > 2. Set the second partition as DOS fat ->> install Win2K in the Dos
 > partition ->> then doing the install I think it formats the DOS
 > partition to fat32 and overwrites the MBR for FreeBSD

I've always had success putting a DOS 'partition' as the first slice
(ad0s1).  In the old days (FreeBSD 2 & 3) this helped establish the
drive geometry for FreeBSD, and while this is no longer relevant, it
assures that any version of DOS/win will see itself as on 'drive C:'

I've not used w2k (yet, but suspect I'll have to soon to upgrade my
Thinkpad T23's BIOS), but have installed various DOS versions and Win98
in the first slice of several boxes without problems.  Since (I gather) 
you still have the freedom to experiment, I suggest trying that.

You're probably lucky if w2k will use fat32 rather than NTFS, in terms
of being able to access it read/write from FreeBSD.  Another option is
using a DOS 'extended' partition as say slice 2, formatted fat32, for
common access from win and FreeBSD (and/or Linux ..) 

 > 3. The Win2K come up without giving a choice of OS to boot into ->>
 > copy boot0 from the FreeBSD disk onto the Win2K C:\bootFBSD and
 > modify the B boot.ini file ->> I reboot and there is recgnized OS to
 > be found

Do you really need to use w2k's boot.ini?  If not, you may do better
just using FreeBSD's boot0 for the MBR, and choosing FreeBSD or w2k
booting from there.  Again, having the DOS slice first should help.

As you say, win(anything) will clobber the MBR, so I usually install it
first after fdisk slicing; then installing FreeBSD and writing the MBR
with the FreeBSD boot manager (boot0) sorts that out.  Or, as you note,
you can sort it out later by booting off the install CDROM.

 > and I have followed these step after that
 > 
 > FreeBSD offers a simple boot manager that is placed in the first sector 
 > of your hard disk. It is called boot0. You can install easily:
 > 
 > - boot FreeBSD
 > - allow to write the first sector:
 > sysctl kern.geom.debugflags=16
 > - install the boot manager
 > boot0cfg -B /dev/ad0
 > - reboot
 > 
 > Now I am still unable to choose between the operating systems.

Can you show the output of:
  # fdisk ad0
  # boot0cfg -v ad0
  # bsdlabel ad0s2  (or wherever your freeBSD slice winds up being)

For example, on a 40GB drive here, which offers to boot 1) DOS (w98se),
2) FreeBSD (5.5-S) or 3) "?" Compaq setup/diags (windows 3 on DOS 6!)

paqi# fdisk ad0
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=77520 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=77520 heads=16 sectors/track=63 (1008 blks/cyl)

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 12 (0x0c),(DOS or Windows 95 with 32 bit FAT (LBA))
    start 30240, size 8346240 (4075 Meg), flag 0
        beg: cyl 2/ head 0/ sector 1;
        end: cyl 553/ head 239/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 8376480, size 50319360 (24570 Meg), flag 80 (active)
        beg: cyl 554/ head 0/ sector 1;
        end: cyl 1023/ head 239/ sector 63
The data for partition 3 is:
sysid 18 (0x12),(Compaq diagnostics)
    start 63, size 15057 (7 Meg), flag 0
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 0/ head 239/ sector 63
The data for partition 4 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 58695840, size 19444320 (9494 Meg), flag 0
        beg: cyl 1023/ head 255/ sector 63;
        end: cyl 1023/ head 239/ sector 63

paqi# boot0cfg -v ad0
#   flag     start chs   type       end chs       offset         size
1   0x00      2:  0: 1   0x0c    553:239:63        30240      8346240
2   0x80    554:  0: 1   0xa5   1023:239:63      8376480     50319360
3   0x00      0:  1: 1   0x12      0:239:63           63        15057
4   0x00   1023:255:63   0xa5   1023:239:63     58695840     19444320

version=1.0  drive=0x80  mask=0x7  ticks=182
options=packet,update,nosetdrv
default_selection=F2 (Slice 2)

paqi# bsdlabel ad0s2
# /dev/ad0s2:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:   524288        0    4.2BSD        0     0     0
  b:   786432   524288      swap
  c: 50319360        0    unused        0     0         # "raw" part, don't edit
  d:   524288  1310720    4.2BSD        0     0     0
  e: 48484352  1835008    4.2BSD        0     0     0

paqi# bsdlabel ad0s4
# /dev/ad0s4:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 19444320        0    unused        0     0         # "raw" part, don't edit
  d:   262144        0    4.2BSD     2048 16384 16392
  e:   524288   262144    4.2BSD     2048 16384 32776
  f: 18657888   786432    4.2BSD     2048 16384 28552

Take little notice of the fdisk/boot0cfg CHS values, they're bogus for
FreeBSD (though not DOS!); they're accessed in 'packet' (INT 0x13) mode.

Cheers, Ian



More information about the freebsd-mobile mailing list