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