Subject: 1.3: "Missing operating system"
To: None <port-i386@NetBSD.ORG, rhialto@polder.ubc.kun.nl>
From: Olaf Seibert <rhialto@polder.ubc.kun.nl>
List: port-i386
Date: 02/07/1998 01:04:05
I just installed 1.3 on a test pc with a SCSI disk connected to an
Adaptec 1542 controller. 

NetBSD detects 2756 cyl, 8 head, 94 sec, 512 bytes/sect x 2074880 sectors.

Sysinst objected to this (more than 64 sectors) and REQUIRED me to
enter some other geometry. However, the geometry as reported by the
BIOS (according to sysinst) was identical. So sysinst would not accept
the values it suggested I should use. Irritation #1.

So I invented some new geometry: 1024 x 16 x 47, keeping the same number
of sectors/cylinder for convenience.

Then sysinst discovered that my geometry did not account for all sectors.
It offered to use a fake geometry and I chose the one that gave me most
sectors (661 x 16 x 47).

When it became time to reboot, I got the message "Missing operating system".
It seems this comes from the boot code in the MBR.

So, sysinst rendered my test system unbootable. Fortunately I could
still boot from the boot loader on floppy. I tried different starting
positions of my NetBSD partition with fddisk, moved the start of c and d
partitions from 47 to 0, repeatedly installbooted - nothing worked. I
even re-installed completely without a fake geometry. No go.

And why does sysinst insist in skipping the first track, putting the a
partition at offset 47? (I suspect this is part of the problem).  This
happens even though I specified that I wanted to use the entire disk for
NetBSD.  1.2 lived happily at offset 0.  Sysinst even refuses to let me
edit the c and d partitions, and editing just the a partition to offset
0 just ruins the disk. Sigh.

My standard option to get all sectors of the disk is to claim it is
one cylinder larger than it is, and be careful to allocate no more
sectors than actually available. This seems much better to me than these
fake geomeries which usually don't match the disk anyway. This option is
also not possible using sysinst.

Another irritation: why does sysinst INSIST on pinging a gateway and
name server? They may not always be necessary, especially not if you're
installing from a machine on the local subnet.

Anyway, here is the latest fdisk and disklabel info. I see nothing wrong
with it, but this does not boot.

******* Working on device /dev/rsd0d *******
Warning: BIOS sector numbering starts with sector 1
parameters extracted from in-core disklabel are:
cylinders=2756 heads=8 sectors/track=94 (752 sectors/cylinder)

Figures below won't work with BIOS for partitions not in cylinder 1
parameters to be used for BIOS calculations are:
cylinders=2756 heads=16 sectors/track=47 (752 sectors/cylinder)

Information from DOS bootblock is:
0: sysid 0 (unused)
    start 0, size 0 (0 MB), flag 0x0
	beg: cylinder    0, head   0, sector  1
	end: cylinder    0, head   0, sector  0
1: sysid 0 (unused)
    start 0, size 0 (0 MB), flag 0x0
	beg: cylinder    0, head   0, sector  1
	end: cylinder    0, head   0, sector  0
2: sysid 0 (unused)
    start 0, size 0 (0 MB), flag 0x0
	beg: cylinder    0, head   0, sector  1
	end: cylinder    0, head   0, sector  0
3: sysid 165 (NetBSD or FreeBSD or 386BSD)
    start 47, size 770001 (375 MB), flag 0x80
	beg: cylinder    0, head   1, sector  1
	end: cylinder 1023, head  15, sector 47

# /dev/rsd0d:
type: SCSI
disk: mydisk
label: 
flags:
bytes/sector: 512
sectors/track: 94
tracks/cylinder: 8
sectors/cylinder: 752
cylinders: 2756
total sectors: 2072512
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# milliseconds
track-to-track seek: 0	# milliseconds
drivedata: 0 

8 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  a:    75200       47      4.2BSD     1024  8192    16   # (Cyl.    0*- 100)
  b:   150353    75247        swap                        # (Cyl.  100*- 299*)
  c:  2072465       47      unused        0     0         # (Cyl.    0*- 2755*)
  d:  2072512        0      unused        0     0         # (Cyl.    0 - 2755)
  e:    75200   225600      4.2BSD     1024  8192    16   # (Cyl.  300 - 399)
  f:    75200   300800      4.2BSD     1024  8192    16   # (Cyl.  400 - 499)
  g:  1696512   376000      4.2BSD     1024  8192    16   # (Cyl.  500 - 2755)

-Olaf.
--
___ Olaf 'Rhialto' Seibert      D787B44DFC896063 4CBB95A5BD1DAA96 
\X/ It's not easy having a good time    rhialto@polder.ubc.kun.nl