(c)  Copyright 1989 Commodore-Amiga, Inc.   All rights reserved.
The information contained herein is subject to change without notice, and 
is provided "as is" without warranty of any kind, either expressed or implied.  
The entire risk as to the use of this information is assumed by the user.




                           Setting Up Your Hard
                          Disk for Workbench 1.3
                                 Part I

                             by Bill Koester
 


Adopting a Standard
-------------------

As a V1.3 Workbench tester I had to update my hard drives many times to keep
up with the latest pre-release version of Workbench.  I found that hard 
disk set-up can be a tedious job.  In this article I will suggest some 
standard ways of partitioning the hard disks and setting up the system 
software to make this chore less difficult.  Part II will cover the 
installation of commercial applications and PD software on Amiga hard disks.


The Basics
----------

For both the 2090 and 2090A auto-boot controller, the basic set up procedure 
is the same.  The first step is to set up the hardware.  Plug in your 2090 or 
2090A controller, run the cables to your drive and apply power.  Remember to
set the drive unit number to 1. 

Next, boot the 2000 with a copy of 1.3 Workbench.  When Workbench has booted
insert the 2090(A) software disk, open the disk icon, and double-click on the 
HDInstall program.  HDInstall will work some magic by adding some entries 
to your mountlist file, adding the HDisk.device to your expansion drawer 
and then asking you if you want to procede with prepping your drive.

Press Y and prep will run.  You should have the documentation for your 
particular hard drive handy.  Prep will ask you what type of drive
you have ST506, SCSI or user defined.  Give the appropriate response. 

I recommend you make two partitions on your hard disk.  Follow the 2090 
manual for prepping your first partition.  When prep asks you what the 
last cylinder used by the first partition is, answer 9.  This will make a
small 50-150K partition for dh0:.  You should make the dh0: partiton small 
so that you can use the rest of your drive as a Fast Filing System partition.
FFS is a replacement file handler that provides superior hard disk 
performance under AmigaDOS.

Prep ends by telling you to re-boot the Amiga.  If prep appears to hang, you
probably have a hardware problem.  Check your cable connections or try 
re-seating the 2090 in the expansion slot.  You can also try re-seating the
chips on the 2090 board.

If prep asks you to re-boot, your hardware is OK.  Re-boot by holding down
CTRL and the two Amiga keys at the same time.  Leave your copy of Workbench 
1.3 in the boot drive.




After the system has re-booted, you can format the dh0: partition by giving 
the format command at the CLI prompt:

   format drive dh0: name DH0 noicons

The old filing system partition, dh0:, is now ready for use.

The next step is to setup the rest of the harddrive as an FFS partition.
Edit your devs:mountlist file and search for the FAST: entry.  This entry
should show the correct number of heads for your hard drive.  The name to use 
is up to you.  I use FHx: for fast filing system drives.

Next, edit the first and last cylinder fields.  The first cylinder of your 
fast partition should be 10 if you set up dh0: to end at 9 as suggested above.
The last cylinder of the fast partition should be set to the last cylinder 
your drive can support, or one less than that if you selected auto head 
parking.  Save the new mountlist and return to the CLI.  Now type the command:

   mount fh0:

to mount the fast partition and format it with:

   format drive fh0: name FH0 ffs noicons

For more detail on the prepping, mounting and formatting procedures see 
your 2090 or 2090A hard disk controller manual.




Adding System Software to Your Hard Drive
-----------------------------------------

Now that the hardware is all set up, you can start adding files.  Insert the 
Extras 1.3 MASTER disk and enter the command:

   Copy df0: fh0: all

then insert the Workbench 1.3 MASTER (not the boot disk you just made) and
type the same line.

   Copy df0: fh0: all

Now all your Amiga system software is on the fast filing system partition
where you can access it with maximum speed.  The next step is to edit the
startup-sequence of your boot disk.  The idea here is to quickly transfer 
control from the boot floppy to the fast partition in order to minimize
boot time.  Edit the startup-sequence on your boot disk so that it looks 
exactly like this but without the comments:


   c:SetPatch >NIL:        ;patch system functions
   Sys:System/FastMemFirst ; move C00000 memory to last in list
   BindDrivers             ; This makes the hard drive available
   mount fh0:              ; mount our FFS partition
   assign sys: fh0:        ; Transfer all logical assignments to fh0:
   assign c: sys:c
   assign l: sys:l
   assign s: sys:s
   assign devs: sys:devs
   assign libs: sys:libs
   assign fonts: sys:fonts
   execute s:startup-sequence ; Since S: now points to fh0:s , you can execute
                              ; s:startup-sequence here and the system will
                              ; act as if it was booted from fh0:.

Now the real test: re-boot the system with the new boot floppy you have
created.  The system will appear to boot from fh0:.  If you have the 2090A
controller, the boot sequence is a little different.


The 2090A and Auto-Boot Controllers
-----------------------------------

With the 2090A controller, you can auto-boot from hard disk.  The only problem
is that the auto-boot protocol passes control to the first partition on the 
hard disk dh0:, but you want to boot from fh0: the fast partition.  You can 
solve this problem by using the same technique used above to pass startup 
control from floppy to hard disk.  To do this, make the following six 
directories in the root of dh0:

   S        DEVS
   L        LIBS
   C        FONTS

From your boot disk copy the following files to dh0:

   C:       assign         cd
            setpatch       execute
            mount          run

   system/  FastMemFirst

   l:       FastFileSystem 
            Disk-Validator

   libs:    icon.library   diskfont.library
            info.library   version.library

   devs:    mountlist      system-configuration

   s:       startup-sequence

The startup-sequence should be the same as the one listed above.  Using 
this method, your auto-boot hard disk will come up quickly and 
automatically pass control to the large fast filing system partition. 



Upgrading from the 2090 to the 2090A
------------------------------------

I have my floppy boot disk set up to transfer control direct from df0: to 
fh0:.  In addition, I have a small dh0: partition which will also transfer
control direct to fh0:.  If you do this, then upgrading to an auto-boot 
controller is as easy as plugging it in and throwing away the boot floppy 
since dh0: will already be set up.  This method also lets you keep an extra
copy of the fh0: mounting information on the hard disk so you don't have 
to worry about some floppy that can be lost or go bad.

Here are the startup-sequences to use to make your system work with both the
2090 and 2090A auto-boot controller:

   DF0:S/Startup-Sequence

    c:SetPatch >NIL:        ;patch system functions
    Sys:System/FastMemFirst ; move C00000 memory to last in list
    BindDrivers             ; This makes the hard drive available
    mount fh0:              ; This mounts the fast partition.
    assign sys: fh0:        ; Transfer all logical assignments to fh0:
    assign c: sys:c
    assign l: sys:l
    assign s: sys:s
    assign devs: sys:devs
    assign libs: sys:libs
    assign fonts: sys:fonts
    execute s:startup-sequence ; Since S: now points to dh0:s you can execute
                               ; s:startup-sequence and the Amiga will act as
                               ; if it was booted from dh0:.

   dh0:S/Startup-sequence

    c:SetPatch >NIL:        ; patch system functions (Can be run twice)
    Sys:System/FastMemFirst ; move C00000 memory to last in list
                            ; We are on the harddrive so binddrivers is not
                            ; needed.
    mount fh0:              ; mount our FFS partition
                            ; Mount fh0: from dh0:devs/mountlist and not
                            ; df0:devs/mountlist. This keeps the partition
                            ; information on the harddrive where it won't
                            ; get lost.
    assign sys: fh0:        ; Transfer all logical assignments to fh0:
    assign c: sys:c
    assign l: sys:l
    assign s: sys:s
    assign devs: sys:devs
    assign libs: sys:libs
    assign fonts: sys:fonts
    execute s:startup-sequence ; Since S: now points to fh0:s, control passes
                               ; to the startup-sequence script on fh0:





Isolating Non-System Software
-----------------------------

In the next issue, I will go into detail about setting up application software
on hard drive systems.  Until then, follow this simple rule: isolate your
non-system software.  Here are my suggestions on how to do this.

First, make a directory called SYS:user and put your software in this 
directory ONLY.  Second, add this line to the startup-sequence on fh0: before 
the LoadWB command:

   execute sys:user/user.startup-sequence

Put all your paths and assigns in the file user.startup-sequence as well as 
anything else that only needs to be run once.  Since paths are saved at 
LoadWB time, the user.startup-sequence must be executed before LoadWB or the 
path changes will not be permanent in other CLI windows.

Finally, you should add the following line to your s:shell-startup file on
fh0:

   execute sys:user/user.shell-startup

Put any aliases or shell startup commands in user.shell-startup but remember 
that this will be executed EACH time a shell is opened.

The idea here is to isolate NON-SYSTEM software in its own directory. If
the software requires paths or logical assignments, make these in the
user.startup-sequence and user.shell-startup files.  With this setup, you
can safely copy new system software to sys: without worrying about 
overwriting custom startup-sequences or mountlists.  

If you need a custom mountlist, put it in the user directory and use the FROM 
option to the mount command.  When adding software to the system, pretend 
that the system boots from fh0: and install the software there.  Device 
drivers can be put in fh0:expansion and binddrivers will find them when 
fh0:s/startup-sequence is executed.

By following these suggestions, installation of V1.3 Workbench and other
system upgrades in the future will be easy.  In the next issue, I will cover
installing application software on your hard disk in more detail.
