Subject: Re: Installboot: OS revision not supported
To: None <leo@ahwau.ahold.nl>
From: Udo Erdelhoff <ue@nathan.ruhr.de>
List: port-atari
Date: 11/01/1996 12:29:28
Hi Leo,
> As you are going to do this anyway, would you write down how it works and
> send it to me? I will incorporate it in the docs. Saves me a useless
> re-partitioning run....
you don't have to re-partition the disk to find out it works. The
cancel button in that dialog box works fine. This dialog box is a
part of the partition setup. Your data will not be in danger if you
don't tell HDX to do it. Time for a comprise: I'll write how a user
can set the range of the extended partition and you find a good
place for this piece of text:

[Introduction]
NetBSD can be started in two ways: With the loadbsd program on the
boot floppy or with a special boot block stored on your root disk.
Obviously, the bootblock is the more elegant way. Unfortunately,
there are some monsters lurking in the dark:

[Some technical explanations]
Every hard disc has a "root sector" that contains information
about the size of the hard disc and the partitions on the hard
disc. The root sector can only contain the neccessary data for
four partitions. Nobody thought that this limitation would
cause any problems. After all, 640 KByte should be enough.
As hard discs grew, it was neccessary to define more than
four partitions. In order to be more or less compatible
with the old format, a new type of partition entry was
defined: XGM partions.
An XGM partition is a "look over there" sign: Another root
sector can be found at the start of the XGM partition. This
root sector contains the remaining real partitions.
And this is the big mystery: Partitions defined in the
root sector of the hard disc are called "primary partitions",
partitions defined in the root sector of an XGM partition
are called "extended partitions".

The bootblock will only work if the first NBD partition is a 
primary partition. This is not a limitation of NetBSD but a
limitation of TOS/AHDI: You can only boot from primary
partitions.

[Finally...]
If you are creating your partitions with HDX, you'll have to
be very careful to fulfill this rule. HDX has some very strange
ideas when it comes to extended partitions. Fortunately,
you can edit this stuff: The "Edit partition scheme of
the unit" dialog box has a button label "expert". This
button is inactive unless you have defined more than four
partitions. Click on it *after* you have defined the
sizes of the partitions.

A new dialog box appears on the screen. The left side contains
two blocks of partitions: The upper block always contains the
first four partitions, the lower block contains the last three
partitions. If you have defined less than 7 partitions, some
fields of the lower block will contain the string "unused".
Some of the partitions will be displayed in reverse video:
These are the extended partitions.
The right side contains six possible ranges for the extended
partitions. It is not possible to define your own range, you
will have to use one of the schemes offered by HDX. To quote
from Ghostbusters: Choose and die.
The default scheme used by HDX is the first scheme: Extended
partitions start with the second partition and end with the
second to last <correct term? Leo?> partition. If you have
defined 7 partitions, partitions #2 to #5 will be extended
partitions, while partitions #1, #6 and #7 will be primary
partitions. 
You can move the extended partition range by clicking on
one of the buttons on the right side of the dialog box.
Try to find one where your first NetBSD partition is a
primary partition. Golden rules:
If the disk contains no GEMDOS partitions, don't use AHDI.
If the disk contains one GEMDOS partition, make it partition
#1 and start the extended partition range at partition #3.
Use partition #2 as root partition.
If the disk contains two GEMDOS partitions, use partitions #1
and #2 for GEMDOS, partition #3 for root. Start the extended
partition range with partition #4.
If your disks contains three or more GEMDOS partitions, you
are in trouble. Try using partitions #1 and #2 as the first
two GEMDOS partitions. Use partition #3 as the first NetBSD
partition. Start the extended partition range with partition
#4. Put the other NetBSD partitions at the start of the
extended partition range. Good luck, you'll need it.
[end text]

> This firmly points at problems with your TT-ram!
I don't really know what's going on here. I have tried the test
program you gave me. If I boot my system from the kernel floppy
with loadbsd -b netbsd, the kernel reports
real  mem = 20971520 (2560 pages)
avail mem = 18546688 (2264 pages)

The results are somewhat strange: I compiled the program with -static
(I didn't want to risk /usr if the system crashes). If I try to test 0-16
MByte, the program does not find any errors. Any value > 16 leads to an
immediate core dump (malloc return value is ignored).
I rebooted with ST-RAM only and compiled the program without -static.
Reboot with TT-RAM, mount /usr. Test 16 MBytes: No problems. Any
value above that: segmentation fault. All test were done in single
user mode.
In my desparation, I tried to enter multiuser mode. It worked. I
started the memory tester: 16 Megabytes, no problem. Any value
above it: segmentation fault (core dumped).
I'm currently running a continous test. So far, no problems...

> If CBHD is only a driver and accepts the partitioning you made with HDX,
> NetBSD won't have any trouble with it. This is because as soon as the kernel
> is loaded, it completely takes over your TT.
Hmm, CBHD is supposed to be a drop-in replacement for AHDI...
<fx: Queen "Who wants to live forever?">
I'll try it...

/s/Udo
-- 
Udo Erdelhoff						ue@nathan.ruhr.de
"Ready?" "Why do your people always ask if someone is ready before
you're going to do something massively unwise?" "Tradition."
Babylon 5: War Without End