.\" $NetBSD: prep,v 1.13 2009/04/23 01:56:48 snj Exp $
.
.Ss2 Preparing your hard disk for the NetBSD installation.
Note that you will be modifying your hard drives and if you mess something
up here you could lose everything on all the drives that you work with.
It is therefore advised that you:
.(bullet
Write down your current configurations.
Do this by writing down all partition info (especially their sizes).
.It
.Em Back up the partitions you are keeping.
.bullet)
.Pp
If
.Nx
has to share the disk with another operating system, you can
either take care of partitioning your harddisk before installing
.Nx
or delay this until the installer requests you to do it.
If you decide to do it now, please create space for at least
.Pa /
(root) and swap partitions.
Whatever you decide, take note of the paragraphs below!
You need this info to create bootable disks.
.Pp
.(tag Warning:
.It Em Warning:
The AHDI partitioning function erases all partitions on your harddisk
even if they are not changed!
We know this is rather stupid, but don't say we didn't warn you.
.tag)
.Pp
If you want to use an AHDI partitioning scheme and you want to be able to
boot directly into
.Nx ,
there are some constraints on the partition layout.
.Pp
As you might know, every hard disk has a
.Sq root sector
that contains information about the size of the hard disk and the partitions
on the hard disk.
The root sector can only contain the necessary data for four partitions.
Nobody thought that this limitation would cause any problems.
After all, 640 KByte should be enough.
As hard disks grew, it was necessary 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 partitions.
.Pp
An XGM partition is a
.Sq 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 disk are called
.Sq "primary partitions" ,
partitions defined in the root sector of an XGM partition are called
.Sq "extended partitions" .
.Pp
The bootblock will only work if the first NBD partition is a primary
partition.
This is not a limitation of
.Nx
but a limitation of
.Tn TOS Ns / Ns AHDI:
You can only boot from primary partitions.
.Pp
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
.Dq "Edit partition scheme of the unit"
dialog box has a button labeled
.Dq "expert" .
This button is inactive unless you have defined more than four partitions.
Click on it
.Em after
you have defined the sizes of the partitions.
.Pp
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
.Dq "unused" .
Some of the partitions will be displayed in reverse video: These are the
extended partitions.
.Pp
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 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.
.Pp
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
.Nx
partition is a primary partition.
Golden rules:
.(bullet
If the disk contains no
.Tn GEMDOS
partitions, don't use AHDI.
Let
.Nx
handle it alone.
.It
If the disk contains one
.Tn GEMDOS
partition, make it partition #1 and
start the extended partition range at partition #3.
This allows you
to boot from both the
.Tn GEMDOS
and the
.Nx
partitions.
.It
If the disk contains two
.Tn GEMDOS
partitions, use partitions #1 and #2
for
.Tn GEMDOS ,
partition #3 for NetBSD-root.
Start the extended partition range with partition #4.
.It
If your disks contains three or more
.Tn GEMDOS
partitions, you are in trouble.
Try using partitions #1 and #2 as the first two
.Tn GEMDOS
partitions.
Use partition #3 as the first
.Nx
partition.
Start the extended partition range with partition #4.
Put the other
.Nx
extended partition range.
.bullet)
.Pp
.Ss2 Booting the installer on an existing system
If you already have
.Nx
installed, it is easy.
Just boot into single user mode on your current system, or use the
.Ic shutdown now
command to shutdown to single-user mode.
Then copy the installer using
.Ic dd :
.Pp
.Dl Ic "dd if=sysinst.fs of=/dev/rsd0b"
.Pp
where
.Li /dev/rsd0b
should be the device path of the swap partition your system
is configured to use.
Once the file is copied, reboot back to the booter
and use the '-b' option to make the kernel prompt for a root device.
Now enter the swap device as your root device to start the installer.
.Pp
.Ss2 Booting the installer on new systems.
If your system has more than 6MB RAM, you can skip directly to the section
about
.Ic loadbsd.ttp,
since the amount of RAM is enough to load the installer into.
.Pp
For new new installations on small memory systems, things are a bit more
complicated.
The easiest way is to mark an AHDI partition as id 'SWP'.
You can either accomplish this with HDdriver or use the
.Ic chg_pid.ttp
program supplied on the bootfloppy.
To use the fifth partition of your
first drive to a swap partition, do the following:
.Pp
.Dl Ic "chg_pid -w 0 4 SWP"
.Pp
As you can see, both the drive and the partition numbers are zero
based.
.Pp
When a swap partition has been created, you can transfer the installer using
the
.Ic file2swp.ttp
command, which is also on the bootfloppy.
This program copies a (gzipped) file
to the first AHDI partition with id 'SWP' on the designated disk.
To copy sysinst.fs to your first SCSI disk, use:
.Pp
.Dl Ic "file2swp -w -f sysinst.fs s0"
.Pp
Note that
.Ic file2swp
automatically detects a gzipped file, there is no need for a .gz extension.
.Ss2 Using loadbsd.ttp
To start the installer, you first need to load a
.Nx
kernel.
This can be done in a couple ways, both of which currently require
.Tn GEMDOS .
You need either the bootfloppy provided in the
distribution or you can copy the
.Ic loadbsd.ttp
program and
kernel to a boot floppy disk (1.44 MB needed) or put them on a
.Tn TOS
partition.
Select the loadbsd program and it will ask for parameters, supply:
.Sq Ic "-b netbsd"
(or whatever name you copied the kernel to).
You can, of course, also run it from the shell command-line in
.Tn MiNT :
.Pp
.Dl Ic "loadbsd -b a:/netbsd"
.Pp
You should see the screen clear and some information about
your system as the kernel configures the hardware.
Then you will be prompted for a root device.
If you copied the installer to a swap partition, as explained above,
you have to enter the swap partition as the boot device.
When you used your first SCSI disk, this will be
.Ic sd0b.
On the first IDE drive it would be
.Ic wd0b.
.Pp
If you didn't copy the installer to swap, you need to use the RAMdisk, so
remove the
.Tn GEMDOS
kernel boot floppy from the drive if present and insert the
.Nx
install floppy 1.
Now enter the name of the boot device depending on the floppy type you have
inserted. Use:
.(bullet
.Ic md0a
for the old installer (1MB filesystem) on 720KB floppies.
.It
.Ic md1a
for the sysinst installer on 720KB floppies.
.It
.Ic md2a
for the sysinst installer on 1.44MB floppies.
.bullet)
The kernel will load the install file system into RAMdisk.
While the kernel is loading, it will show a
.Sq \&.
for each track loaded.
After loading 80 tracks, it will ask you to insert the next floppy.
At this time, insert the
.Nx
install floppy 2 and press any key.
The kernel continues loading another 40 tracks before it continues to boot.