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