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