Home | History | Annotate | Line # | Download | only in acorn32
prep.RISCOS revision 1.4
      1 	$NetBSD: prep.RISCOS,v 1.4 2002/02/16 00:57:47 wiz Exp $
      2 
      3 These instructions are specific to NetBSD/acorn32 on Acorn RISCOS platforms
      4 (RiscPC/A7000/A7000+/NC's).
      5 
      6 0 Before you start
      7 
      8 Read this document and any other accompanying documentation
      9 completely before continuing.
     10 
     11 1 Requirements
     12 
     13 1.1 Hardware
     14 
     15 Refer to the NetBSD installation notes for a list of supported hardware.
     16 
     17 1.2 Software
     18 
     19 You will need the following RiscOS software:
     20 
     21 	A program that will unpack sparchives. We recommend that you
     22 	get David Pilling's !SparkPlug. A self-extracting version of this
     23 	can be found at David Pilling's W3 site
     24 	(http://www.pilling.demon.co.uk/free.html).
     25 
     26 	A program that can uncompress gzip files, because the current bootloader
     27 	can't read gzip'ed kernels (yet!).
     28 
     29 		The included command line gzip program
     30 		installation/misc/gzip_ff8 (!) which is a mirror a version
     31 		that Laurent Domisse has patched to work on SA. This is
     32 		also available from:
     33         	http://www.users.dircon.co.uk/~arcangel/files/index.html
     34 		Just set the type of the file to `ff8'.
     35 
     36 		SparkFS from David Pilling (commercial) (v1.28 for
     37 		SA-110).
     38 
     39 		!Gzip from HENSA (micros.hensa.ac.uk); is it still alive
     40 		though?
     41 
     42 	A program to report your disk's geometry:
     43 
     44 		Not really needed, you can simply boot the installation
     45 		kernel and look for the geometry in the boot messages.
     46 
     47 		Sergio Monesi's fsck suite (a good thing to have around
     48 		anyway). Available from:
     49 		http://cdc8g5.cdc.polimi.it/~pel0015/fsck.html
     50 
     51 		!Zap (The read disk facility). Available from HENSA.
     52 
     53 	The partition software/formatter for your desired installation
     54 	target:
     55 
     56 		IDE disks on motherboard interface: !HForm
     57 		IDE disks on Simtec interface: UNKNOWN
     58 		IDE disks on ICS interface: UNKNOWN
     59 		IDE disks on RapIDE interface: UNKNOWN
     60 		Acorn SCSI cards: ScsiDM
     61 		Power-tec SCSI cards: !PowerMgr
     62 		Cumana SCSI-2: !SCSIMgr
     63 		oak SCSI-1 card: UNKNOWN
     64 		MCS Connect32 SCSI: UNKNOWN
     65 		Morley SCSI: UNKNOWN
     66 
     67 Additionally you will require the following :
     68 
     69 	An installation kernel for your platform:
     70 
     71 		RiscPC/A7000(+)/NC's  : INSTALL kernel
     72 
     73 	The Bootloader and RiscOS tools: BtNetBSD.tar.gz or BtNetBSD.zip
     74 	as found in the installation/misc directory. (This should be
     75 	pre-extracted if you're installing from CD-ROM).
     76 
     77 	The NetBSD/acorn32 distribution sets (Will be on the CD-ROM, or
     78 	available from your nearest NetBSD ftp site).
     79 
     80 	A hardcopy of this document, along with a hardcopy of the
     81 	NetBSD installation instructions "INSTALL").
     82 
     83 2 Preparing your hard disk
     84 
     85 Terms:
     86 
     87 Device:		The actual physical hard disk
     88 Partition:	A section of a device.
     89 File system:	A structured partition that is able to hold files.
     90 Disc:		A RiscOS file system in a partition. There can be
     91 		more than one Disc per Device.
     92 
     93 You will have to decide which device you wish to install NetBSD on.
     94 You will also have to decide whether you want to split the device
     95 between one or more RiscOS discs and NetBSD or dedicate a whole
     96 device for NetBSD.
     97 
     98 In making this decision you should consider the possibility that if
     99 NetBSD is incorrectly configured on a shared device then your shared
    100 data is at risk.
    101 
    102 It is still recommended that if you decide to dedicate a device to
    103 NetBSD that you set aside a small RISC OS partition at the beginning
    104 of the device. This is a useful place to store the RiscOS side of
    105 NetBSD, and will make the use of UnixFS easier to configure. If you
    106 do decide to create a minimal RiscOS partition at the beginning of
    107 the device, a size of 10-20 MB is recommended (some partitioning
    108 software has problems with partitions smaller than this).
    109 
    110 The point is that you will have to repartition your device to make
    111 room for a separate partition after the RISC OS one for NetBSD. This
    112 means backing up your device, re-partitioning it and then copying all
    113 the data back afterwards. We recommend that you only copy the needed
    114 data back and put off installing the rest until you have NetBSD up
    115 and running. This way you will save yourself a lot of work if
    116 something goes wrong and you have to start all over again.
    117 
    118 2.1 Sharing your device
    119 
    120 2.1.1 Acorn IDE
    121 
    122 Use !HForm for this interface. This is a program that is delivered
    123 with your computer and is located in the Utilities directory on your
    124 hard disk.
    125 
    126 With this software you only have the possibility of using one
    127 partition for RISC OS, so you have to set the rest aside for NetBSD.
    128 
    129 Use this procedure to set up your device:
    130 
    131 	Start !HForm by double-clicking on its icon.
    132 
    133 	Choose the "custom" or "other" option when prompted (usually
    134 	the last).
    135 
    136 	Use the default values for the geometry but do not enter the
    137 	full number of cylinders. Just enter the number you want to
    138 	use for RISC OS. Make a note of this number.
    139 
    140 	Continue to accept the default answers until you're asked
    141 	whether you want to format or initialize, choose initialize.
    142 
    143 	Go to the section about running bb_riscbsd.
    144 
    145 2.1.2 Cumana SCSI-2 card
    146 
    147 It is recommended that you use a newer version of !SCSIMgr (newer
    148 than v1.55) since this will be easier to use when you want to leave
    149 part of the device unused by RISC OS. You should check for the latest
    150 version of this software at the following URL:
    151 http://www.cumana.demon.co.uk
    152 
    153 You need to create one or more RISC OS partitions, and you do it in
    154 in the following way:
    155 	Run !SCSIMgr by double-clicking on it.
    156 
    157 	Select the device you wish to repartition.
    158 
    159 	Click on the clear icon in the partitions subwindow.
    160 
    161 	This will give you a dialogue box where you can specify the
    162 	size of the RISC OS partitions. Do not select all since you
    163 	want to use part of it for NetBSD.
    164 
    165 	Enter the amount of the device you wish to reserve for
    166 	RiscOS. This will be the whole device size less the amount
    167 	you want to reserve for NetBSD. Make a note of this number.
    168 
    169 	If you like, split the RISC OS portion of the device into
    170 	several partition (you should only "see" the RiscOS portion).
    171 
    172 	Click on Execute when you are happy with the partitions. This
    173 	will create your partitions, and wipe your device.
    174 
    175 	Go to the section about running bb_riscbsd.
    176 
    177 2.1.3 Alsystems Power-tec SCSI-2 card
    178 
    179 You must use the !PowerMgr program to partition the device.
    180 
    181 The RISC OS partitions should be called RiscOs:, and the NetBSD one
    182 should be called Empty:.
    183 
    184 Here is the procedure you should use:
    185 	Start !PowerMgr by double-clicking on its icon.
    186 
    187 	Click on advanced in the main window
    188 
    189 	Click on Define/create partitions
    190 		Click on the device you want to set up for NetBSD.
    191 
    192 		Set up the RISC OS partitions as RiscOs: and the
    193 		remaining one as Empty:.
    194 
    195 		Click on each figure and press RETURN.
    196 
    197 		Click on partition drive.
    198 
    199 		Click on yes to warning as you really want to wipe
    200 		the device.
    201 
    202 		Click on yes to proceed, this will lead you to the
    203 		partition init.
    204 
    205 	Partition init
    206 		Set a tick on all RiscOs: partitions, give them a name
    207 		and set LFAU to auto.
    208 
    209 		Unset the tick on your Empty: partition.
    210 
    211 		Click on Inititialize selected partitions.
    212 
    213 		Click on yes to proceed init as you want to wipe the
    214 		selected partitions.
    215 
    216 		Click on yes to proceed to configure.
    217 
    218 	Configure
    219 		Here you should set up the RISC OS partitions as you
    220 		like them. Normally the default will be ok.
    221 
    222 		Click on configure. This will configure your computer
    223 		and give you access to the Discs.
    224 
    225 	You *Must Not* run bb_riscbsd.
    226 
    227 2.1.4 Acorn SCSI card
    228 
    229 You can only have one RISC OS partition with this card. The rest has
    230 to be set aside for NetBSD.
    231 
    232 This card does not have a friendly WIMP-based interface on the SCSI
    233 management program, but the command line version is very good. You
    234 should run this in a task window (press CTRL-F12):
    235 	dir <location_of_scsidm>
    236 
    237 	scsidm
    238 
    239 You will get the following prompt:
    240 scsidm>
    241 
    242 Now you should enter the following commands:
    243 	probe		(to see which devices are available)
    244 
    245 	device <no>	(replace <no> with the no of your device)
    246 
    247 	section		(to divide the device between RISC OS and
    248 			NetBSD)
    249 		Answer yes to the question:
    250 			Include RISCiX partitions?
    251 
    252 		Enter the size of the RISC OS area in blocks
    253 		(sectors)
    254 
    255 		SCSIDM will round this up to the nearest cylinder
    256 		boundary.
    257 
    258 		Answer yes to the question:
    259 			Do you really want to section device <no>?
    260 
    261 		This will section the device into two partitions.
    262 
    263 	quit
    264 
    265 	Go to the section on running bb_riscbsd.
    266 
    267 2.1.5 Other interfaces
    268 
    269 It may not be possible to partition devices on other interface. If
    270 you are using a different interface you have 2 options:
    271 	Try to work out how to partition devices on it
    272 
    273 	Use the entire device for NetBSD
    274 
    275 2.2 Using a whole device for NetBSD
    276 
    277 As a safety precaution NetBSD/acorn32 looks for a filecore bootblock
    278 at the beginning of any device it labels. If it finds one and it
    279 looks as though it is in use then NetBSD/acorn32 will not touch it.
    280 
    281 Because of this, if you've ever used your device for RiscOS, you will
    282 need to invalidate this bootblock.
    283 
    284 To do this you need to:
    285 	Be absolutely sure you want to do this.
    286 
    287 	Run bb_trash and follow the instructions.
    288 
    289 Ensure that this device is now not configured for RiscOS.
    290 
    291 You are now ready to boot NetBSD and continue the installation.
    292 
    293 3 Running bb_riscbsd
    294 
    295 When you run this program, you will first be asked whether you are
    296 installing to an ADFS drive or a SCSI drive. You can just press A or
    297 S respectively. (The bb_riscbsd program assumes that you are using a
    298 non-Acorn SCSI card, so if you are using an Acorn card, then you may
    299 have to edit this program and replace CSI_DiscOp with SCSIFS_DiscOp.)
    300 
    301 Then you will be asked which disc you want to install NetBSD on. This
    302 *must* be the first disc on the device. bb_riscbsd will now
    303 scrutinize the device and see how it has been laid out.
    304 
    305 It will then tell you how much of the device is occupied by RiscOS in
    306 cylinders, and you will then be asked for the NetBSD starting
    307 cylinder. Normally you should just enter the number given to you
    308 since the RISC OS starting cylinder is 0 and therefore the last
    309 cylinder in use is one less than the figure given. If no figure is
    310 displayed, then your partitioning software failed to fill in the
    311 bootblock completely (it doesn't have to do this for you but most do)
    312 or you selected the wrong device. If you are convinced that this is
    313 the correct device then you must calculate a cylinder offset using
    314 the numbers noted down during partitioning (if it is not a whole
    315 number *always* round up, you might waste a little of the device but
    316 it'll be safer).
    317 
    318 Make a note of this number.
    319 
    320 bb_riscbsd will make a backup of the original bootblock, but it
    321 can be non-trivial to put it back.
    322 
    323 4 Booting
    324 
    325 Now that your device is ready for the installation you need to
    326 unpack the bootloader archive (bootloader.arc, if you're installing
    327 from CD-ROM then this should be unpacked already), copy it to your
    328 hard disk and run the bootloader (!BtRiscBSD).
    329 
    330 4.1 Configuring !BtRiscBSD before installation
    331 
    332 !BtRiscBSD should come configured ready for installation.
    333 
    334 4.2 Running !BtRiscBSD
    335 
    336 Double click on the !BtRiscBSD icon and then on the iconbar icon to
    337 open the Configuration window.
    338 
    339 Drag the kernel for your platform to the kernel name box and hit boot.
    340 
    341 NetBSD should now start to boot, install NetBSD as per the NetBSD
    342 installation notes.
    343 
    344 4.3 Configuring !BtRiscBSD after installation
    345 
    346 Run !BtRiscBSD as before and bring up the configuration window.
    347 
    348 Set the kernel as UnixFS:$.netbsd and set the native boot option (if
    349 the boot fails use a copy of the installed kernel (/netbsd) from
    350 RiscOS.
    351 
    352 Set "Root device", "swap device" to the partitions you used for the
    353 installation.
    354 
    355 Set multi user mode.
    356 
    357 Ensure the RAMDISK is set to 0.
    358 
    359 Click Save.
    360 
    361 Click Boot.
    362 
    363 5 Advanced stuff
    364 
    365 5.1 Using UnixFS to copy the sets.
    366 
    367 Once the required sets are installed and you can boot from your
    368 newly installed NetBSD setup, you can use UnixFS to copy the
    369 remaining sets from RiscOS to NetBSD.
    370 
    371 In order to be able to use unixfs to transfer the sets you must have
    372 a certain setup.
    373 
    374 1) You must have the RiscOS disc that corresponds to the NetBSD
    375    device configured (e.g., *con. IDEdiscs 2) even if it has no RiscOS
    376    section.
    377 2) If you have RISC OS 3.5 without the new FileCore, then you must
    378    also have the NetBSD file system *completely* below the 511 MB
    379    boundary of the device.
    380 3) You must know the SWI base of the <filesys>_DiscOp SWI. Here
    381    <filesys> is SCSIFS, SCSI or ADFS depending upon which controller
    382    type you have you NetBSD device on.
    383    Some common ones:
    384    	Power-tec SCSI-2 card:	&40980
    385 	RapIDE:			&4BBC0
    386 
    387    There are small obey files for some interfaces supplied with UnixFS.
    388 4) Have given the directory you want to write into write permission for
    389    everyone. This should have been done above. For example to make
    390    /usr/distrib world writable type (as root):
    391 	chmod 1777 /usr/distrib
    392 
    393 To mount a Unix partition:
    394 
    395 1) Double-click on the unixfs_res module to load it.
    396 2) Run a unixfs_mount command to mount the partition.
    397 3) Open the root directory by double-clicking on the openroot file.
    398 4) Open the distrib directory and just copy the sets to this.
    399 5) Shut down unixfs by double-clicking on the kill_unixfs file.
    400    THIS STEP IS VERY IMPORTANT as it works like dismount on MS-DOS floppies.
    401 
    402 The difficult step here is step number 2). If you are using an
    403 ADFS IDE disc, then you can just double-click on one of the
    404 following obey files (always choose the RiscOS disc number that
    405 corresponds to the *first* disc on the NetBSD device):
    406 - MountHD4a (ADFS::4 drive, not disc, root file system)
    407 - MountHD4e (ADFS::4 drive, not disc, /usr file system)
    408 - MountHD5a (ADFS::5 drive, not disc, root file system)
    409 - MountHD5e (ADFS::5 drive, not disc, /usr file system)
    410 
    411 If you are not using an ADFS IDE device, you need to create such
    412 an obey file yourself. We recommend that you copy one of the
    413 above and change that. These files normally only contain a
    414 unixfs_mount command. If you go to the command line (or a task
    415 window), and you type *help unixfs_mount you will see that the
    416 unixfs_mount command has a very incomprehensible syntax.
    417 
    418 The unixfs_mount command normally only takes one argument. That
    419 is composed of the following:
    420 (discop_swibase + (disc << 3) + partition)
    421 
    422 To mount the root partition of third Power-tec SCSI-2 disc the
    423 following commands can be used in task window (press CTRL-F12) to
    424 find the argument to unixfs_mount:
    425         *basic
    426         PRINT ~(&40980 + (6 << 3) + 0)
    427         QUIT
    428 
    429 The PRINT command calculates the value to use and will in this
    430 context give the value 409B0 which also is in hexadecimal. The
    431 interesting things above are:
    432 - &40980        The SWI base for SCSIFS_DiscOp.
    433 - 6             The disc number in RISC OS.
    434 - 0             The RiscBSD partition no. with a=0, b=1 etc.
    435 - ~             Tell the PRINT command to show the result in hexadecimal.
    436 - <<            Shifts the first number with the second number
    437                 places left.
    438                 In this case, it shifts 6 with 3 places to the left.
    439 - &             Denotes that the number is in hexadecimal.
    440 - ( and )       Used to group the sub-expressions.
    441 
    442 When you have calculated the figure to give to unixfs_mount you
    443 just change it in the copy of the file you made above and run it by
    444 double-clicking on it.
    445 
    446 When you have mounted the unixfs file system, you can open the
    447 directory and copy the sets to it.
    448 Don't forget to copy the file "checksums" too. As its name suggests, it
    449 contains checksums to check if the files are OK.
    450 
    451 When you are finished with the transfer, run the file
    452 kill_unixfs to dismount the unixfs file system.
    453 
    454 Appendix A - Device naming
    455 
    456 
    457 The names of the devices in NetBSD are not at all like the ones
    458 in RISC OS. We will here try to explain the naming scheme used
    459 in NetBSD. This is pretty much the same in all UNIXes, but
    460 there will be some differences. NetBSD is derived from BSD and
    461 differs from the ones that are derived from System V. Most of
    462 the dominant operating systems in the UNIX market today are
    463 based on System V (Sun Solaris, SGI Irix, HP HP-UX 10.xx, Linux
    464 etc.). Some of them are actually hybrids of both.
    465 
    466 The file systems in UNIX use the slash character (/) as the
    467 directory separator. The top (or bottom if you like) directory
    468 is called the root and is denoted by a single slash (/). All
    469 absolute filenames are addressed starting with the root, so the
    470 temporary directory is called /tmp.
    471 
    472 The devices in UNIX are addressed as special files in the
    473 file system, and they all start with /dev, so e.g. the quadrature
    474 mouse is called /dev/quadmouse.
    475 
    476 Also some devices can be addressed in two different ways; as a
    477 raw (character by character) or block device. This is especially
    478 true with discs, and they therefore have two different names.
    479 The raw device is called the same as the block device except
    480 that it has an 'r' in front of the name. E.g. the first internal
    481 hard drive is called /dev/wd0 as a block device, but /dev/rwd0
    482 as a raw device. See also later.
    483 
    484 For now, the only needed devices are the storage devices, so we
    485 will hereby describe the naming convention used for these.
    486 Please note that when you have different partitions on a device,
    487 they will get the same number in NetBSD, but different letters,
    488 whereas in RISC OS they will get different numbers. See the
    489 examples at the end of this section.
    490 
    491 The (block) device names are mostly composed of 4 characters:
    492 1. The type
    493         - w     Winchester drives (i.e. standard ADFS drives)
    494         - s     SCSI drives
    495         - c     CD-ROM drives
    496         - r     RAM drives (obsolete in newer kernels)
    497         - m     Memory drives (only in newer kernels)
    498         - f     Floppy drives
    499 2. A 'd' indicating a disc device
    500 3. The number of the device of that type starting with 0.
    501         - For IDE drives, the master will be 0, and the slave 1.
    502         - For SCSI drives, the target ID will be used to
    503 determine the number. They start on 0 and increase with
    504 each device found. The drive with the lowest target ID will get
    505 0, the second lowest target ID will get 1 etc.
    506 Also, if you have different controllers, all devices on controller
    507 0 (lowest expansion slot) will be added first.
    508         - The CD-ROM drives act the same way as SCSI drives.
    509         - The floppy drive is numbered as in RISC OS.
    510         - At present you can only have one RAM drive, so it is 0.
    511 4. The name of the partition. There are eight of these (along with
    512    common allocations):
    513         - a     The root partition
    514         - b     The swap partition
    515         - c     The whole disc
    516         - d     Scratch (what are these?)
    517         - e     The first additional partition.
    518                 i.e. if you have only /usr, then this will be /usr
    519                 if you have both /var and /usr this will be /var
    520         - f     The section additional partition.
    521                 i.e. if you have /var and /usr, this will be /usr
    522         - g     ????
    523         - h     Previously the /usr partition?
    524 
    525 If you only have one partition on the drive this can normally be
    526 accessed with either partition a (root partition) or c (whole
    527 disc). This has not been verified to work.
    528 
    529 A couple of examples of how to map RISC OS names to NetBSD ones
    530 (the partition names have been left out):
    531 ADFS::0                         fd0
    532 ADFS::1                         fd1
    533 ADFS::4                         wd0
    534 ADFS::5 (same drive as :4)      wd0
    535 ADFS::5 (other drive than :4)   wd1
    536 SCSI::4                         sd0
    537 SCSI::5 (same drive as :4)      sd0
    538 SCSI::5 (other drive than :4)   sd1
    539 
    540 So, if you have one ADFS IDE drive, and want to install NetBSD
    541 at the after ADFS::5, you should still use wd0. If on the other
    542 hand, ADFS::5 is a second drive, then you will have to use wd1.
    543 
    544 Appendix B - Acknowledgments
    545 
    546 This document was based upon the document
    547 "Installing RiscBSD 1.2-Release"
    548 (C) 1996 The RiscBSD Documentation Project
    549 
    550 That has the following acknowledgement:
    551 
    552 This manual has been written from scratch based on version 1.2
    553 of the installation manual that Mark Brinicombe wrote.
    554 
    555 It was mainly written by Kjetil B. Thomassen
    556 (kjetil (a] thomassen.priv.no) with contributions from:
    557 Neil Hoggarth (neil.hoggarth (a] physiol.ox.ac.uk)
    558 Markus Baeurle (emw4maba (a] gp.fht-esslingen.de)
    559 Jasper Wallace (jasper (a] ivision.co.uk)
    560 Mark Brinicombe (amb (a] physig.ph.kcl.ac.uk)
    561 Scott Stevens (s.k.stevens (a] ic.ac.uk)
    562 and a lot more people posting to the RiscBSD mailing list.
    563