No empty .Rs/.Re
[netbsd-mini2440.git] / distrib / notes / macppc / prep.OPENFIRMWARE
blobf064b27926b9f64dce3eb8fa1ad67fab4b11e368
1 .\"     $NetBSD: prep.OPENFIRMWARE,v 1.12 2009/04/23 01:56:49 snj Exp $
2 .if \*[OF_VERSION_3] \{\
4 .Ss2 Updating your BootROM
6 Open Firmware 3 systems have a rewritable
7 .Dq firmware ,
8 also called the BootROM.
9 When you use an Apple firmware updater, it updates the BootROM.
10 This will
11 .Em not
12 change the version of Open Firmware in your machine \(em it will still be
13 Open Firmware 3.
14 The BootROM is what is first executed when you power on or reset your system.
15 The BootROM then loads Open Firmware, which boots your operating system.
16 .Pp
17 Go to the
18 .Sq "Apple Support Downloads"
19 web site at
20 .Lk http://support.apple.com/downloads/
21 and search for
22 .Sq firmware
23 and install the most recent version for your model. For most G3 and G4
24 models, you will need to run the FirmWare updater from MacOS 9. 
25 .Pp
26 .(Note
27 If you accidentally change the
28 .Ic load-base No or Ic real-base
29 Open Firmware variables and reset your machine you will, in effect,
30 rewrite the BootROM with garbage.  This will permanently damage your machine.
31 We recommend not doing this.
32 .Note)
33 .(Note
34 The most recent BootROMs available (4.1.7 and later) are a little picky
35 about RAM.  Initially, some PowerMacintosh G3 users found that their
36 third-party RAM had been disabled, but the RAM vendors brought their RAM
37 up to spec and it hasn't been much of an issue since then.
38 .Pp
39 There is one report that FirmWare Update 4.1.9 on iMac (Summer 2000) will
40 prevent the CD-ROM and the hard drive from operating together.
41 You may get
42 .Pa "wdc0:0:1: lost interrupt"
43 problems.
44 .Note)
45 .Pp
47 .Ss2 Getting to Open Firmware 3
49 Hold down a special four-key combination when your system boots.
50 .Pp
51 After the chime starts, but before it stops, hold down the four
52 .Key COMMAND-OPTION-O-F
53 keys (the
54 .Key COMMAND
55 key looks like a four-leaf clover or an open apple, and the
56 .Key OPTION
57 key may look like a two-way switch with four straight line segments or say
58 .Key ALT )
59 until you see the Open Firmware command prompt on your screen:
60 .Pp
61 .(disp
62 Apple PowerBook3,1 2.1f1 BootROM built on 01/29/00 at 22:38:07
63 Copyright 1994-2000 Apple Computer, Inc.
64 All Rights Reserved
66 Welcome to Open Firmware.
67 To continue booting, type "mac-boot" and press return.
68 To shut down, type "shut-down" and press return.
69  ok
70 0 \*[Gt]
71 .disp)
72 .Pp
73 Now, set your system to always stop at the Open Firmware prompt.
74 .Pp
75 .(disp
76 .No 0 \*[Gt] Ic "setenv auto-boot? false
77 .disp)
78 .Pp
79 Alternatively, if you are currently running
80 .Tn MacOS X
82 .Tn Darwin ,
83 you can use the 
84 .Ic nvram
85 command to set this variable before rebooting.
86 .(disp
87 .No # Ic nvram auto-boot\e?=false
88 .disp)
89 .Pp
90 You will need to escape the question-mark or enclose the whole
91 .Ic nvram
92 argument in double-quotes to prevent your shell from trying to interpret it.
93 .\}
94 .if \*[OF_VERSION_12] \{\
96 .Ss2 Getting to Open Firmware on Apple Network Servers
98 (Open Firmware 1.1.22)
99 .Pp
100 The version of Open Firmware in the
101 Apple Network Servers can only use a serial console.
102 You must first hook up a serial console
103 (38400 bps, 8 bits, no parity, 1 stop bit, no handshaking) to
104 .Sq "Port 2"
105 (the
106 .Sq Li ttya
107 device in Open Firmware).
109 Hold down a special four-key combination on the keyboard attached to
110 the ADB port on your system (not the serial console) when
111 your system boots.
113 After the chime starts, but before it stops, hold down the four
114 .Key COMMAND-OPTION-O-F
115 keys (the
116 .Key COMMAND
117 key looks like a four-leaf clover or an open apple, and the
118 .Key OPTION
119 key may look like a two-way switch with four straight line segments or say
120 .Key ALT )
121 until you see some introductory text and the Open Firmware
122 command prompt on your serial terminal:
124 .(disp
125 .No 0 \*[Gt]
126 .disp)
128 Your Apple Network Server's screen will remain black.
130 Now, set your system to always stop at the Open Firmware prompt.
132 .(disp
133 .No 0 \*[Gt] Ic "setenv auto-boot? false
134 .disp)
136 Skip down to the section on
137 .Sx "Setting up Open Firmware 1 and 2 to boot NetBSD"
138 since the next several pages are instructions for MacOS models.
141 .Ss2 Open Firmware 1 and 2 System Preparation
143 Open Firmware has two variables,
144 .Sq input-device
146 .Sq output-device ,
147 which specify how it accepts commands and displays output.
148 All Open Firmware 1.0.5 and most Open Firmware 2.0.x systems will default
149 to using the
150 .Sq Modem
151 serial port for the console instead of the ADB keyboard and the monitor
152 attached to the on-board video.
154 Unless you use a MacOS-based utility to set
155 these variables correctly, you
156 .Em will
157 need to hook up a serial console temporarily to configure Open Firmware
158 to use your keyboard and screen.
159 Some models (such as the Performa 54xx, 6360, 6400, and 6500) have the
160 .Sq Modem
161 serial port covered with a piece of plastic since the internal modem
162 usurps that serial port.
163 You will either need to use Boot Variables to set the
164 .Sq input-device
166 .Sq output-device
167 variables to
168 .Sq ttyb
169 (which is the Printer serial port) or remove the internal modem.
171 Open Firmware seems to ignore the settings on most DB15 to VGA adapters.
172 Depending on your model, it will default to either 640 x 480 at 60 Hz or
173 to the resolution previously selected in MacOS.
174 Make sure that your monitor can handle these resolutions.
176 Now would be a good time to look at the
177 .Nx*M
178 Model Support webpage to determine the issues with your model.
179 .Lk http://www.NetBSD.org/ports/macppc/models.html
181 In particular, some models
182 .Em must
183 use a serial console, or they will be unable to boot
185 at all.
186 All models can be set to use a serial console, if you desire
187 to bypass the keyboard and screen.
189 If, after re-reading the next several sections, you still need help
190 figuring out your
191 .Sq input-device
193 .Sq output-device
194 settings, see the FAQ:
195 .Lk http://www.NetBSD.org/ports/macppc/faq.html#ofw-input-output-devices
197 If you need to use a serial console, you can use a normal
198 .Sq printer
199 cable (mini-DIN 8 to mini-DIN 8) and a
200 .Tn MacOS
201 tool, such as ZTerm to
202 connect a
203 .Tn MacOS
204 system to your
205 .Nx*M
206 system.
207 .Lk http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/comm/term/zterm-101.hqx
208 .Lk http://homepage.mac.com/dalverson/zterm/
210 See the NetBSD Serial Port Primer for additional help and references:
211 .Lk http://www.NetBSD.org/docs/Hardware/Misc/serial.html
213 All Open Firmware 1 and 2 \*M systems have Open Firmware bugs.
214 Luckily, Open Firmware has a small Non-Volatile RAM variable (NVRAM)
215 which is reserved for FORTH commands which will be run before booting
216 an operating system.
217 Apple has released a freeware
218 .Tn MacOS 9
219 tool called System Disk, which patches most of these bugs. We
220 .Em strongly
221 recommend that you use this tool to patch your Open Firmware,
222 as several systems cannot boot without these patches.
223 Instructions for using System Disk are covered in the next section.
225 Unfortunately, some models are broken by or are unsupported by System Disk.
226 If you have one of the following models, then skip down to the section on
227 .Sx "Getting to Open Firmware (Harder, MacOS 7 thru 9)"
229 Apple Performa 4400, 5500, 6500, 54xx, 6400, and 6360,
231 Motorola Starmax 3000, 4000, 5000, and 5500,
233 APS Tech M*Power 604e/200,
235 PowerComputing PowerBase,
237 Umax Apus 2000, Apus 3000, C500, and C600
239 Umax S900
242 .Ss2 Getting to Open Firmware (MacOS X or Darwin) 
244 When you install 
245 .Tn MacOS X
246 or Darwin, it will install the necessary NVRAM bug fixes.  Use the
247 .Ic nvram
248 command to set your system to always stop at the Open Firmware prompt, then
249 reboot.
250 .(disp
251 .No # Ic nvram auto-boot\e?=false
252 .disp)
254 You will need to escape the question-mark or enclose the whole
255 .Ic nvram
256 argument in double-quotes to prevent your shell from trying to interpret it.
258 You should now see the Open Firmware command prompt on your screen:
260 .(disp
261 Open Firmware, 1.0.5
262 To continue booting the MacOS type:
263 BYE\*[Lt]return\*[Gt]
264 To continue booting from the default boot device type:
265 BOOT\*[Lt]return\*[Gt]
266  ok
267 0 \*[Gt]
268 .disp)
270 If your screen is black, then your model has defaulted to using a serial
271 console.  You must hook up a serial
272 console (38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
274 .Ss2 Getting to Open Firmware (Best, MacOS 8 or 9)
276 Download System Disk:
277 .Lk ftp://ftp.apple.com/developer/macosxserver/utilities/SystemDisk2.3.1.smi.bin
279 For a brief tutorial on how to use System Disk, see:
280 .Lk http://www.NetBSD.org/ports/macppc/SystemDisk-tutorial/
282 Launch the
283 .Tn MacOS
284 System Disk tool.
285 Click on
286 .Dq "Power User (Open Firmware)"
287 then click on the
288 .Dq "Advanced Options"
289 button.
290 Now, click on the checkbox that says
291 .Dq "Stop Boot at Open Firmware prompt"
292 and select
293 .Dq OK .
294 Click the
295 .Dq Save
296 button and reboot your system.
298 .(Note
299 NVRAM patches and Open Firmware settings will be erased if you
300 .Sq "zap your PRAM"
301 by holding down
302 .Key COMMAND-OPTION-P-R
303 keys during the boot chimes, or if you accidentally boot into
304 .Tn MacOS 
305 9 or earlier.
306 .Note)
308 If your
309 .Sq output-device
311 .Sq Li /chaos/control
312 (i.e. you have a PowerMacintosh 7300 \(em 8600 system), there is a chance that
313 your monitor will not sync.
315 .Lk http://www.NetBSD.org/ports/macppc/SystemDisk-tutorial/of105patch.html
317 You should now see the Open Firmware command prompt on your screen:
319 .(disp
320 Open Firmware, 1.0.5
321 To continue booting the MacOS type:
322 BYE\*[Lt]return\*[Gt]
323 To continue booting from the default boot device type:
324 BOOT\*[Lt]return\*[Gt]
325  ok
326 0 \*[Gt]
327 .disp)
329 If your screen is black, then your model does not support using the
330 on-board video in
331 Open Firmware.
332 You will need to connect a serial console to the
333 .Sq Modem
334 port of your system
335 (38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
336 .(Note
338 .Dq "Stop Boot at Open Firmware prompt"
339 setting is persistent.
340 It is equivalent to the Open Firmware command
342 .(disp
343 .No 0 \*[Gt] Ic "setenv auto-boot? false
344 .disp)
345 .Note)
346 .(Note
347 Unfortunately, there are a few models that are better off without the System
348 Disk patches.
349 If you find that your machine doesn't boot, then try:
351 .(disp
352 .No 0 \*[Gt] Ic "setenv use-nvramrc? false"
353 .No 0 \*[Gt] Ic "reset-all"
354 .disp)
355 .Note)
357 .Ss2 Getting to Open Firmware (Harder, MacOS 7, 8, or 9)
359 If System Disk doesn't work because your version of
360 .Tn MacOS
361 is too old or because
362 System Disk says that it doesn't support your model, then you may try using
364 .Tn MacOS
365 BootVars tool.
367 .Lk ftp://ftp.NetBSD.org/pub/NetBSD/arch/macppc/macos-utils/bootvars/bootvars.sit.hqx
368 .(Note
369 BootVars does
370 .Em not
371 apply the (possibly critical) NVRAM patches that System Disk does.
372 Expect some devices to not work (such as booting from hard drives and 
373 CD-ROMs).
374 .Note)
376 Look up the proper
377 .Sq output-device
378 for your model on the
379 .Nx*M
380 Model Support webpage.
381 .Lk http://www.NetBSD.org/ports/macppc/models.html
382 If the
383 .Nx*M
384 Model support webpage does not list an
385 .Sq output-device
386 for your model, then your system will default to using the on-board
387 video.
388 You needn't fill in the
389 .Sq output-device
391 .Sq input-device
392 variables.
394 Launch the
395 .Tn MacOS
396 BootVars tool.
397 Uncheck the
398 .Dq auto-boot?
399 checkbox, then check on the
400 .Dq "All Variables"
401 checkbox and type
402 .Ic kbd
403 into the
404 .Sq input-device
405 box, and the proper device name into the
406 .Sq output-device
407 box.
408 Click on the
409 .Dq write
410 button, and then reboot your system.
412 If your
413 .Sq output-device
415 .Sq Li /chaos/control
416 (i.e. you have a PowerMacintosh 7300 \(em 8600 system), there is a chance that
417 your monitor will not sync.
419 .Lk http://www.NetBSD.org/ports/macppc/SystemDisk-tutorial/of105patch.html
421 If you have a Performa 5500 or 6500, you may need to apply NVRAMRC patches
422 to use your built-in video.
423 See the information in the
424 .Nx*M
425 Model Support webpage.
427 You should now see the Open Firmware command prompt on your screen:
429 .(disp
430 Open Firmware, 1.0.5
431 To continue booting the MacOS type:
432 BYE\*[Lt]return\*[Gt]
433 To continue booting from the default boot device type:
434 BOOT\*[Lt]return\*[Gt]
435  ok
436 0 \*[Gt]
437 .disp)
439 If your screen is black, then your model has defaulted to using a serial
440 console.
441 This is fairly common on Open Firmware 1 and 2 models if you do not
442 use the System Disk tool to set up Open Firmware.
443 You must hook up a serial
444 console (38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
445 .(Note
447 .Dq auto-boot?
448 setting is persistent.
449 Your system will always stop at the Open Firmware prompt.
450 It is equivalent to the Open Firmware command
452 .(disp
453 .No 0 \*[Gt] Ic "setenv auto-boot? false
454 .disp)
455 .Note)
457 .Ss2 Getting to Open Firmware (Without using MacOS)
459 (Open Firmware 1.0.5, Open Firmware 2.0.x, Open Firmware 2.4)
461 If you don't
462 have
463 .Tn MacOS ,
464 then you need to hold down a special four-key combination when your system
465 boots.
466 Do this on the keyboard attached to the ADB port on your system
467 (not the serial console or PS/2 port) when your system boots.
468 .(Note
469 Your system will
470 .Em not
471 have the (possibly critical) NVRAM patches that System Disk applies.
472 Expect some devices to not work (such as booting from hard drives and 
473 CD-ROMs).
474 .Note)
476 After the chime starts, but before it stops, hold down the four
477 .Key COMMAND-OPTION-O-F
478 keys (the
479 .Key COMMAND
480 key looks like a four-leaf clover or an open apple, and the
481 .Key OPTION
482 key may look like a two-way switch with four straight line segments or say
483 .Key ALT )
484 until you see the Open Firmware command prompt on
485 your screen or serial console:
487 .(disp
488 Open Firmware, 1.0.5
489 To continue booting the MacOS type:
490 BYE\*[Lt]return\*[Gt]
491 To continue booting from the default boot device type:
492 BOOT\*[Lt]return\*[Gt]
493  ok
494 0 \*[Gt]
495 .disp)
497 If your screen is black, then your system has defaulted to using a serial
498 console.
499 This is fairly common on Open Firmware 1 and 2 models if you do
500 not use the System Disk tool to set up Open Firmware.
501 You must hook up a serial console
502 (38400 bps, 8 bits, no parity, 1 stop bit, no handshaking).
504 Now, set your system to always stop at the Open Firmware prompt.
506 .(disp
507 .No 0 \*[Gt] Ic "setenv auto-boot? false
508 .disp)
510 To use your on-board video and keyboard, look up the proper
511 .Sq output-device
512 for your model on the
513 .Nx*M
514 webpage
515 .Lk http://www.NetBSD.org/ports/macppc/models.html
516 Run the following commands to use your screen instead of
517 a serial console
518 (replace
519 .Sq Li screen
520 with the correct
521 .Sq output-device
522 for your model):
524 .(disp
525 .No 0 \*[Gt] Ic "setenv output-device screen"
526 .No 0 \*[Gt] Ic "setenv input-device kbd"
527 .No 0 \*[Gt] Ic "reset-all"
528 .disp)
530 Now you should see the Open Firmware prompt on your screen.
532 If your
533 .Sq output-device
535 .Sq Li /chaos/control
536 (i.e. you have a PowerMacintosh 7300 \(em 8600 system), there is a chance that
537 your monitor will not sync.
539 .Lk http://www.NetBSD.org/ports/macppc/SystemDisk-tutorial/of105patch.html
541 .Ss2 Setting up Open Firmware 1 and 2 to boot NetBSD
543 This section describes some steps you must take to prepare Open Firmware
544 to boot
545 .Nx .
546 Additional resources are available in the FAQ regarding how to use
547 the Open Firmware command environment, and the Open Firmware variables
548 you may be using:
550 .Lk http://www.NetBSD.org/ports/macppc/faq.html#ofw-access
552 .Lk http://www.NetBSD.org/ports/macppc/faq.html#ofw-variables
554 Double-check your Open Firmware version:
556 .(disp
557 .No 0 \*[Gt] Ic "dev /openprom"
558 .No 0 \*[Gt] Ic ".properties"
559 name                    openprom
560 model                   Open Firmware, 1.0.5
561 relative-addressing
562  ok
563 .disp)
565 If your system has Open Firmware prior to version 3, then you must set
566 some Open Firmware variables before
568 can boot.
570 .Em not
571 run these commands on Open Firmware 3 machines, as you may overwrite your
572 firmware requiring a trip to Apple for repairs.
574 .(disp
575 .No 0 \*[Gt] Ic "setenv load-base 600000"
576 .No 0 \*[Gt] Ic "setenv real-base F00000"
577 .No 0 \*[Gt] Ic "reset-all"
578 .disp)
580 The last command reboots your machine so that the
581 settings are stored.
583 If you will be netbooting your system, you can look up your MAC address.
585 .(disp
586 .No 0 \*[Gt] Ic "dev enet"
587 .No 0 \*[Gt] Ic ".properties"
588 [...]
589 local-mac-address   CCCCCCCC CCCC
590 [...]
591  ok
592 .disp)
594 .(Note
595 Some early Open Firmware 1.0.5 machines had their MAC address stored
596 incorrectly on the motherboard (little- vs. big-endian problems).
597 The patches the System Disk installs will correct this.
598 Without the patch, the machine will still work, but its MAC address
599 may conflict with another ethernet device on your network.
600 .Note)
602 You can check your Open Firmware settings with the
603 .Pa printenv
604 command:
605 .(disp
606 .No 0 \*[Gt] Ic "printenv"
607 little-endian?      false               false
608 real-mode?          false               false
609 auto-boot?          false               true
610 diag-switch?        false               false
611 [...]
612 use-nvramrc?        true                false
613 real-base           F00000              -1
614 [...]
615 load-base           600000              4000
616 [...]
617 input-device        kbd                 ttya
618 output-device       /chaos/control      ttya
619 .disp)
621 .(Note
622 All Open Firmware 1.0.5 settings and nvram patches will be erased if you 
623 boot into 
624 .Tn MacOS 9
625 or earlier.  You will need to re-enter them before booting
627 again.
628 .Note)
630 .(Note
631 Open Firmware 2.0.x and Open Firmware 2.4 systems will set the
632 .Li real-base
633 environment variable to its default value (which prevents
634 .Nx 
635 from booting) if you boot into
636 .Tn MacOS 9
637 or earlier.
638 .Note)
640 .if \*[OF_VERSION_3] \{\
642 .Ss2 Setting up Open Firmware 3 to boot NetBSD
644 This section describes some steps you must take to prepare Open Firmware
645 to boot
646 .Nx .
647 Additional resources are available in the FAQ regarding how to use
648 the Open Firmware command environment, and the Open Firmware variables
649 you may be using:
650 .Lk http://www.NetBSD.org/ports/macppc/faq.html#ofw-access
651 .Lk http://www.NetBSD.org/ports/macppc/faq.html#ofw-variables
653 Double-check your Open Firmware version:
655 .(disp
656 .No 0 \*[Gt] Ic "dev /openprom"
657 .No 0 \*[Gt] Ic ".properties"
658 name                    openprom
659 device_type             BootROM
660 model                   OpenFirmware 3
661 relative-addressing
662 supports-bootinfo
663  ok
664 .disp)
666 If you will be netbooting your system, you can look up your MAC address.
668 .(disp
669 .No 0 \*[Gt] Ic "dev enet"
670 .No 0 \*[Gt] Ic ".properties"
671 [...]
672 local-mac-address   CCCCCCCC CCCC
673 [...]
674 .disp)
676 .(Note
677 Some Open Firmware 3 machines have their MAC address stored incorrectly
678 (little- vs. big-endian problem).
679 If you look up your MAC address in
680 .Tn MacOS ,
681 it will be different than what Open Firmware 3 uses to contact your netboot
682 server.
683 Your machine will still work, but its MAC address may conflict with
684 another ethernet device on your network.
685 .Note)
687 You can check your Open Firmware settings with the
688 .Pa printenv
689 command:
690 .(disp
691 .No 0 \*[Gt] Ic "printenv"
692 -------------- Partition: common -------- Signature: 0x70 ---------------
693 little-endian?      false               false
694 real-mode?          false               false
695 auto-boot?          false               true
696 diag-switch?        false               false
697 [...]
698 use-nvramrc?        true                false
699 real-base           -1                  -1
700 [...]
701 input-device        keyboard            keyboard
702 output-device       screen              screen
703 .disp)
706 .Ss2 Available Boot Media
708 Open Firmware is capable of booting from a variety of
709 media (such as hard drives, 
710 .if \*[OF_VERSION_12] floppy disks, 
711 CD-ROMs, and ethernet).
712 Open Firmware is able to boot files from a variety of file systems
713 (such as ISO9660,
714 .if \*[OF_VERSION_3] HFS, HFS+,
715 and MS-DOS FAT).  Unfortunately, Open Firmware is
716 .Em not
717 able to directly boot from the
719 file system (FFS) or Apple's 
720 .if \*[OF_VERSION_3] BSD-based file system (UFS),
721 .if \*[OF_VERSION_12] file systems (HFS, HFS+, or UFS),
722 so we must put the bootloader in a location that Open Firmware is capable 
723 of understanding.
725 Therefore, to boot the
727 kernel, Open Firmware must first load a
728 .Sq bootloader
729 .if \*[OF_VERSION_3] .Pq Pa ofwboot.xcf
730 which knows how to load the
732 kernel.
733 .if \*[OF_VERSION_12] \{\
734 Open Firmware 1 and 2 take either a two or three stage approach, depending 
735 on the boot media.  In the two step approach, Open Firmware loads
736 .Pa ofwboot.xcf
737 from the boot media, which then loads the kernel.  In the three step 
738 approach (used in the 
739 .Sq "partition zero"
740 method), Open Firmware loads a primary bootloader
741 .Pa bootxx
742 from a disk which then loads the secondary bootloader 
743 .Pa ofwboot
744 (which is functionally identical to 
745 .Pa ofwboot.xcf )
746 which then loads the kernel.
748 .(Note
749 .Pa ofwboot.elf
750 is obsoleted.  All users should be using
751 .Pa ofwboot.xcf
752 instead of
753 .Pa ofwboot.elf
754 now.
755 .Note)
757 The following bootable media are available for loading the bootloader:
759 .(bullet -offset indent
761 .if \*[OF_VERSION_12] \{\
762 .Sq Em "Partition zero"
764 This method loads the primary bootloader
765 .Pa bootxx
766 located in the Apple Partition Map, which then loads the secondary
767 bootloader
768 .Pa ofwboot
769 which then loads the kernel.  This is what
770 .Ic sysinst
771 will place on your hard drive during the installation procedure.
772 Additionally, the
773 .Nx*M
774 CD-R images and boot floppies use this method, loading a kernel from
775 the floppy's FFS partition or the CD-R's ISO9660 partition.
779 .if \*[OF_VERSION_3] \{\
780 .Em "HFS or HFS+ file system"
782 This method loads
783 .Pa ofwboot.xcf
784 from an HFS or HFS+ partition which then loads the kernel from an acceptable
785 location.  The kernel (compressed
786 or non-compressed) may be on an HFS or HFS+ partition.
787 Due to Open Firmware pickiness, it must be on the same partition as
788 .Pa ofwboot.xcf .
792 .Em "MS-DOS file system"
794 In this method, Open Firmware loads the
795 .Pa ofwboot.xcf
796 bootloader from an MS-DOS file system.  It may then load a
798 kernel from the same MS-DOS file system.
799 This has only been thoroughly tested on floppy disks,
800 but may work on Zip disks or FDISK-formatted hard drives.
801 This does not work for MS-DOS partitions on a hard drive with an Apple
802 Partition Map.
806 .Em "Ethernet (network boot)"
808 You can run your entire system diskless or netboot only the files necessary
809 to boot (i.e. the bootloader and the installation kernel).
810 You must have root access for the
812 netboot server, which must be on the same subnet as your 
813 .Nx*M
814 machine.
815 .(Note
816 You must use your on-board ethernet device for netbooting.
817 While there may be some PCI or Cardbus ethernet interfaces with
818 Open Firmware ROMs, no one has reported success netbooting using these devices
819 .Note)
822 .if \*[OF_VERSION_12] \{\
823 .Em "ISO9660 CD-ROM file system"
825 Load the
826 .Pa ofwboot.xcf
827 bootloader from an ISO9660 CD-ROM.
828 It can then load a
830 kernel from the ISO9660 CD-ROM.
832 Open Firmware 1.0.5 and 2.0.x machines will
833 .Em not
834 boot from the ISO9660 file system if you create a hybrid HFS/ISO
835 format CD-R.
836 Make sure that the CD
837 .Em only
838 has ISO9660 data and does not have an Apple Partition Map.
840 .if \*[OF_VERSION_3] \{\
841 .Em "Hybrid HFS/ISO9660 CD-ROM file system"
843 Load the
844 .Pa ofwboot.xcf
845 bootloader from the CD-ROM's HFS file system.
846 It can then load a
848 kernel from the HFS or ISO9660 file system.
850 Make sure that the CD has an Apple Partition Map.
852 .(Note
853 Open Firmware can only open files on the first session of a multi-session
854 CD-R
855 .Note)
856 .bullet)
858 Once the bootloader is loaded, it can open the kernel from one of the 
859 following sources:
860 .(bullet -offset indent
862 .Em "Ethernet (NFS)"
865 .Em "NetBSD FFS file system"
866 .if \*[OF_VERSION_12] \{\
868 Such as the boot floppy, or an installed
870 partition.
874 .Em "MacOS X UFS file system"
875 .if \*[OF_VERSION_3] \{\
878 .Em "HFS or HFS+ file system"
882 .Em "ISO9660 CD-ROM file system"
885 .Em "MS-DOS file system"
886 .bullet)
888 .if \*[OF_VERSION_12] \{\
889 In theory, Open Firmware 2.4 systems should be able to load the 
890 bootloader from an HFS or HFS+ partition or a hybrid CD-R, but users have 
891 reported that it doesn't work.
893 The boot floppy images provided have a
894 .Sq "partition zero"
895 bootloader and a
897 file system with an installation kernel.
899 The boot CD image provided has both a
900 .Sq "partition zero"
901 bootloader and
902 .Pa ofwboot.xcf
903 on a hybrid partition so it can be booted on all Open Firmware
904 versions.  It also has an ISO9660 file system with
905 an installation kernel and the distribution sets.
907 .Ss2 Partitioning your hard drive for NetBSD
909 .if \*[OF_VERSION_12] \{\
910 You must use the
912 installer to partition your disk if you want it to be bootable.
913 With this release of
914 .Nx ,
915 there is no way to dual-boot
916 .Tn MacOS
919 on one hard drive.
921 You can use the instructions in this section to partition a disk that may
922 also be used with
923 .Tn MacOS ,
924 although a disk prepared in this way
925 .Em "will not boot" Nx .
926 That means, your root partition
927 .Pq Pa /
928 must be on a drive prepared with the
930 installer, but the partitions not necessary to boot (for example
931 .Pa /usr ,
932 .Pa /home ,
934 .Pa /export )
935 may be on the same disk as
936 .Tn MacOS .
938 Unless you are planning to use partitions on the same disk as
939 .Tn MacOS ,
940 skip forward to
941 .Sx "Preparing the Open Firmware 1 or 2 Bootable Media"
943 .if \*[OF_VERSION_3] \{\
944 You must have at least one disk that was partitioned before running the
946 installer.
948 This is the drive that will have the bootloader,
949 .Pa ofwboot.xcf .
950 Your
952 partitions may either be on this same disk (using the method described
953 in the rest of this section), or on a separate disk accessible only to
954 .Nx .
956 This section describes how to make a single disk usable by both
957 .Tn MacOS
960 \(em this is necessary for machines which have only
961 one hard drive (such as the eMac, iBook, iMac, PowerBook, and
962 PowerMacintosh Cube systems).  If you do not want 
963 .Tn MacOS
964 you must still follow this procedure, but create only a small HFS+ 
965 partition (large enough for the bootloader).
968 There are two partitioning tools available for
969 .Nx*M ,
970 .Xr disklabel 8
972 .Xr pdisk 8 .
973 The former is used in the 
975 .Ic sysinst
976 installer, and will render your disk unusable by
977 .Tn MacOS .
978 .if \*[OF_VERSION_3] \{\
979 It will also prevent Open Firmware 3 machines from booting from that disk.
980 When running the installer, you will need to use the installer's
981 .Dq "Re-install sets"
982 option to skip the
983 .Ic disklabel 
984 step.
986 Do not use
987 .Ic disklabel No or Dq "Re-install sets"
988 unless you will use one drive for 
990 only and have another drive which will have the bootloader.
993 The process is more fully detailed in the Partitioning HOW-TO:
994 .Lk http://www.NetBSD.org/ports/macppc/partitioning.html
996 You can create a partition map with 
997 .Xr pdisk 8 ,
998 but the disk will not be usable with MacOS 9 and earlier.  If this is a
999 concern, you will need to use Apple's Drive Setup or Disk Utility.
1001 If you are using Apple's Drive Setup tool, make sure you have version
1002 1.8.1 or later.  This tool only runs under MacOS 9 and earlier.  Drive
1003 Setup will erase the contents of your drive \(em it does not preserve data
1004 from any of your partitions.
1006 Apple's Disk Utility only runs under MacOS X 10.0.0 and later.
1007 Make sure you click the 
1008 .Dq "Install Mac OS 9 Disk Drivers"
1009 checkbox.  Also, keep in mind that Disk Utility does
1010 .Em not
1011 create the partitions that
1012 .Nx*M
1013 requires.  After creating the initial partition map with Disk Utility, you
1014 will need to use the
1016 .Ic pdisk
1017 to change the partition types.  Also, Disk Utility will erase the contents
1018 of your drive \(em it does not preserve data from any of your partitions.
1020 .Ic pdisk
1021 is the most flexible (and most difficult to use) partitioning tool
1022 available.
1023 It runs on almost all OSes that \*M machines support.  Download it:
1024 .Lk ftp://ftp.NetBSD.org/pub/NetBSD/arch/macppc/netbsd-pdisk/
1025 .Lk ftp://ftp.NetBSD.org/pub/NetBSD/arch/macppc/macos-utils/pdisk.sea.hqx
1027 There is built-in help describing how it works.  When it asks you to enter
1029 .Dq Li "Type of partition" ,
1030 use 
1031 .Li Apple_UNIX_SVR2
1032 for 
1034 partitions,
1035 .Li Apple_HFS
1036 for HFS and HFS+ partitions, and
1037 .Li Apple_UFS
1038 for UFS partitions.
1040 After you've written the partition map with
1041 .Ic pdisk ,
1042 you will need to create the file systems.  Use
1043 .Xr newfs 8
1044 and 
1045 .Xr mount 8
1046 for 
1048 file systems, and 
1049 .Ic hfstools
1050 to create and mount HFS file systems.
1051 .Lk ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/sysutils/hfsutils/README.html
1053 Make the following partitions:
1054 .(tag "A/UXxUserxandxA/UXxFree1" -offset indent
1055 .if \*[OF_VERSION_3] \{\
1056 .It Em HFS No or Em HFS+
1057 Must be large enough to hold the bootloader, over 100 KB.
1058 May be as large as you desire for
1059 .Tn MacOS
1060 usage.
1061 .It Em "A/UX Root"
1062 Must be at least 20 MB.
1063 Alternatively, you may decide to use one partition for your entire
1065 installation, in which case it should be at least 200 MB.
1067 interprets an
1068 .Em "A/UX Root"
1069 partition as the first partition
1070 .Pq Em a
1071 on the disk.
1072 This partition is not readable from
1073 .Tn MacOS .
1075 .It Em "A/UX Swap"
1076 Any size.
1077 The recommendation is your RAM size, although this is not
1078 strictly necessary for machines with a lot of RAM.
1080 interprets an
1081 .Em "A/UX Swap"
1082 partition as the second partition
1083 .Pq Em b
1084 on the disk.
1085 This partition is not readable from
1086 .Tn MacOS .
1087 .It Em "A/UX User" No and Em "A/UX Free1"
1088 Use these for any additional partitions you may want to use under
1089 .Nx Ns ,
1090 such as
1091 .Pa /usr No (at least 200 MB) , Pa /home , Pa /usr/local ,
1093 .Pa /usr/pkg .
1095 interprets these partitions as normal
1096 .Nx Ns -style
1097 partitions.
1098 These partitions are not readable from
1099 .Tn MacOS .
1100 .It Em HFS
1101 Any size.
1102 You may want to leave an additional partition available to
1103 transfer files between
1104 .Tn MacOS
1106 .Nx .
1107 If would like to create such a partition, then see the Partitioning HOW-TO.
1108 .Lk http://www.NetBSD.org/ports/macppc/partitioning.html#msdos
1109 .It Em UFS
1110 Any size.
1111 .Em UFS
1112 partitions are not readable from
1113 .Tn MacOS
1114 versions prior to X 10.0.0.
1115 If you use an
1116 .Em UFS
1117 partition as your root, then it may not be recognized by the
1119 kernel as the first partition
1120 .Pq Em a
1121 on the disk.  You will need to compile a new kernel with the 
1122 root partition explicitly defined to be the
1123 .Em UFS
1124 partition.
1125 .tag)
1127 Now would be a good time to use
1128 .Ic pdisk
1129 to determine the partition numbers for your bootloader and kernel.
1131 .if \*[OF_VERSION_12] .Ss2 Preparing the Open Firmware 1 or 2 Bootable Media
1132 .if \*[OF_VERSION_3] .Ss2 Preparing the Open Firmware 3 Bootable Media
1135 The purpose of this section is to prepare the media from which your system
1136 will boot the installer.
1137 We'll describe how to put the files in the right places on your disk(s)
1138 or netboot server and prepare it for use on your system.
1140 If you will be running your system diskless (i.e. entirely over NFS, not
1141 using any local hard drives), then you do not need to run the installer,
1142 you only need to extract the distribution sets on the diskless server.
1144 To get the distribution sets onto appropriate media, see the above 
1145 section entitled
1146 .Sx "Getting the NetBSD System on to Useful Media" .
1147 You may want to get the distribution sets when you create the bootable media.
1149 .(Note
1150 Some
1151 .Tn MacOS
1152 .Ic ftp
1153 clients default to downloading files in
1154 .Sq ASCII
1155 mode.
1156 This will render the
1158 files useless.
1159 Make sure to set your ftp program to download in
1160 .Sq binary
1161 mode.
1162 .Note)
1164 What follows are the steps to create different types of bootable media 
1165 for the
1167 install kernel. You should only need to create one of these to get your 
1168 system to boot the installer
1170 .(bullet
1172 .To 2 "Creating the NetBSD/macppc CD-R"
1173 .Em "Creating the NetBSD/\*M CD-R"
1175 Go to one of the
1177 mirror sites and download the CD-R image
1178 .Pa macppccd-\*V.iso
1179 from the
1180 .Pa pub/NetBSD/iso
1181 directory.
1182 .Lk http://www.NetBSD.org/mirrors/#iso
1184 .(bullet
1185 .Em From an UNIX-like machine
1187 Get and install cdrecord.
1189 users should install it from the package collection.
1190 Other
1192 systems should get it from the official website:
1194 .Lk ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrtools/README.html
1196 .Lk http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
1198 .(disp
1199 .No # Ic "cdrecord -v speed=4 dev=/dev/cd1c macppccd-\*V.iso"
1200 .disp)
1202 You will need to substitute the correct name of the disk image file,
1203 speed for your CD writer, and the
1204 correct device for your system (for i386 it would be
1205 .Pa /dev/cd1d ) .
1208 .Em "From a MacOS machine (using Toast)"
1210 .(enum
1211 Click the
1212 .Sq Other
1213 button in the main window.
1216 Open the contextual menu on the
1217 .Sq Other
1218 button and select
1219 .Sq "Disk Image"
1222 Click the
1223 .Sq Select
1224 button and select the disk image you downloaded.
1227 Click the
1228 .Sq "Record"
1229 button
1230 .enum)
1231 .bullet)
1233 Skip forward to
1234 .Sx "Installing the NetBSD System"
1235 .if \*[OF_VERSION_12] \{\
1238 .To 2 "Creating the NetBSD install floppies"
1239 .Em "Creating the NetBSD/\*M install floppies"
1241 .(enum
1242 First, make sure you have done a low-level format on the disks.
1243 A bad floppy can produce Open Firmware errors similar to other problems.
1245 If the boot floppy images are compressed, then you will need to uncompress
1246 them first.
1248 Use a tool to write the boot floppy images
1249 .Pa installation/floppy/boot1.fs
1251 .Pa installation/floppy/boot2.fs
1252 to two floppy disks.
1254 .(bullet -compact
1255 .Em From an UNIX-like machine
1256 .(disp
1257 .No # Ic "dd if=boot1.fs of=/dev/rfd0a bs=36k"
1258 .No # Ic "dd if=boot2.fs of=/dev/rfd0a bs=36k"
1259 .disp)
1262 .Em "From a Windows machine"
1264 Get either the
1265 .Ic rawrite.exe
1266 program from the
1267 .Nx Ns / Ns i386
1268 distribution or
1269 .Ic rawrite32.exe
1270 from
1271 .Lk http://www.duskware.com/rawrite32/
1274 .Em "From a MacOS 9 (or earlier) machine"
1277 .Ic suntar
1278 from
1279 .Lk http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/suntar-223.hqx
1280 .(enum
1281 Open the
1282 .Sq Preferences
1283 menu and pick
1284 .Sq Expert Mode
1287 Open the
1288 .Sq Special
1289 menu and pick
1290 .Sq "Overwrite Sectors ..."
1293 Insert the first floppy disk
1296 Hit return (i.e. start at sector number zero)
1299 Select
1300 .Pa boot1.fs
1301 and click
1302 .Dq Open
1305 Open the
1306 .Sq File
1307 menu and pick
1308 .Sq Eject
1311 Repeat the process for the second floppy
1312 .enum)
1313 .bullet)
1314 .enum)
1316 Skip forward to
1317 .Sx "Installing the NetBSD System"
1319 .if \*[OF_VERSION_3] \{\
1322 .To 2 "Preparing an HFS or HFS+ partition"
1323 .Em "Preparing an HFS or HFS+ partition"
1325 Place
1326 .Pa ofwboot.xcf
1327 and the installation kernel
1328 .Pa netbsd-GENERIC_MD.gz
1329 at the top level of your Macintosh file system.
1330 That is, drag the two icons onto your hard drive icon (not the desktop).
1331 Make sure they're both on the same partition.
1333 Skip forward to
1334 .Sx "Installing the NetBSD System"
1338 .if \*[OF_VERSION_12] \{\
1339 .To 2 "Creating a custom ISO9660 CD-R"
1340 .Em "Creating a custom ISO9660 CD-R"
1342 .if \*[OF_VERSION_3] \{\
1343 .To 2 "Preparing a custom hybrid HFS/ISO9660 CD-R"
1344 .Em "Preparing a custom hybrid HFS/ISO9660 CD-R"
1347 This section describes how to create your own bootable
1348 .Nx*M
1349 CD-R. We recommend that you use the official
1350 .Nx*M Ns \-\*V
1351 CD-R image, as described in the section above.
1353 Place
1354 .Pa ofwboot.xcf
1355 and the installation kernel
1356 .Pa netbsd-GENERIC_MD.gz
1357 at the top level of the CD.
1358 .if \*[OF_VERSION_3] \{\
1359 Make sure that the bootloader is present on the HFS partition, and the kernel
1360 is on both the ISO9660 and HFS partitions.
1362 Due to restrictions in the way that Open Firmware deals with ISO
1363 filenames, you may wish to name your kernel
1364 .Pa netbsd.gz .
1365 You may also place the
1366 .Nx \*V
1367 distribution sets on the 
1368 .if \*[OF_VERSION_12] disk.
1369 .if \*[OF_VERSION_3] ISO9660 partition (not only on the HFS partition).
1371 .(bullet
1372 .Em From an UNIX-like machine
1374 Get and install mkisofs.
1375 This is now part of the cdrecord package.
1377 users should install it from the package collection.
1378 Other
1380 systems should get it from the official website:
1382 .Lk ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrtools/README.html
1384 .Lk http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
1386 .(disp
1387 .if \*[OF_VERSION_12] \{\
1388 .No # Ic "mkisofs -o output.iso -l -J -r -L -N /cdsources"
1390 .if \*[OF_VERSION_3] \{\
1391 .No # Ic "mkisofs -o output.iso -hfs -part -l -J -r -L -N /cdsources"
1393 .No # Ic "cdrecord -v speed=4 dev=/dev/cd1c output.iso"
1394 .disp)
1396 You will need to substitute the correct speed for your CD writer, and the
1397 correct device for your system (for i386 it would be
1398 .Pa /dev/cd1d ) .
1400 See the
1402 Bootable CD-ROM HOW-TO for more detail:
1403 .Lk http://www.NetBSD.org/docs/bootcd.html
1406 .Em "From a MacOS machine (using Toast)"
1408 .(enum
1409 Click the
1410 .if \*[OF_VERSION_12] \{\
1411 .Sq Other
1412 button in the main window
1415 Open the contextual menu on the
1416 .Sq Other
1417 button and select
1418 .Sq "ISO 9660"
1421 Click the
1422 .Sq Select
1423 button.
1426 Click the 
1427 .Sq Settings
1428 tab, open the 
1429 .Sq Naming
1430 popup menu, and pick 
1431 .Sq "Allow Macintosh Names"
1434 Click on the
1435 .Sq Files
1438 .if \*[OF_VERSION_3] \{\
1439 .Sq Data
1440 button in the main window
1443 Pick
1444 .Sq "Mac OS and PC (Hybrid) CD"
1445 from the popup menu between the four buttons and the file and folder area.
1449 Drag
1450 .Pa installation/ofwboot.xcf
1452 .Pa binary/kernel/netbsd-GENERIC_MD.gz
1453 into the window.  You may also want to drag the
1454 .Nx \*V
1455 distribution sets to this window as well.
1456 .if \*[OF_VERSION_12] \{\
1459 Click the
1460 .Sq Done
1461 button
1465 Click the
1466 .Sq Record
1467 button
1468 .enum)
1469 .bullet)
1471 Skip forward to
1472 .Sx "Installing the NetBSD System"
1475 .To 2 "Creating an MS-DOS disk"
1476 .Em "Creating an MS-DOS disk"
1478 .if \*[OF_VERSION_12] \{\
1479 Unfortunately, the installation kernel is now too large to fit onto a
1481 .if \*[OF_VERSION_3] Open Firmware 3 cannot boot from a
1482 floppy disk, but you can still create a bootable Zip disk with this
1483 method.
1485 .(enum
1486 First, make sure you have done a low-level format on the disk.
1487 A bad disk can produce Open Firmware errors similar to other problems.
1489 Mount the disk on your computer.
1490 .(bullet -compact
1491 Insert it into a Windows or DOS machine.
1494 .Sq "File Exchange" No or Sq "PC Exchange"
1495 with
1496 .Tn MacOS
1497 versions prior to X 10.0.0
1500 .Xr mount_msdos 8
1501 on any 
1503 machine.
1504 .bullet)
1506 Copy
1507 .Pa netbsd-INSTALL.gz No and Pa ofwboot.xcf
1508 to the disk.
1510 Rename
1511 .Pa netbsd-INSTALL.gz No to Pa netbsd.gz ,
1512 since OpenFirmware can't deal with MS-DOS filenames longer than eight
1513 characters.
1514 .enum)
1516 Skip forward to
1517 .Sx "Installing the NetBSD System"
1520 .To 2 "Preparing the netboot server"
1521 .Em "Preparing the netboot server"
1523 .so ../common/netboot
1525 Skip forward to
1526 .Sx "Installing the NetBSD System"
1529 .To 2 "Preparing a SCSI or IDE drive with the CD-R image"
1530 .Em "Preparing a SCSI or IDE drive with the CD-R image"
1532 If the 
1533 .Nx*M
1534 CD-R image is compressed, then you will need to uncompress it first.
1536 Find a spare bootable drive (i.e. SCSI or IDE), and use some tool to write
1537 the disk image
1538 .Pa macppccd-\*V.iso
1539 to your spare drive, and boot from that drive.
1540 For example, you could use a Zip drive, a Jaz drive,
1541 a Compact Flash drive, or even a spare hard drive.
1542 The disk image has 
1543 .if \*[OF_VERSION_12] \{\
1545 .Sq "partition zero"
1546 bootloader which ultimately
1548 .if \*[OF_VERSION_3] \{\
1549 an HFS partition with 
1550 .Pa ofwboot.xcf
1551 which
1553 loads the installation kernel from the ISO file system on the disk image.
1555 .(bullet -compact
1556 .Em From an UNIX-like machine (including MacOS X)
1558 .(disp
1559 .No # Ic "dd if=macppccd-\*V.iso of=/dev/rsd0c"
1560 .disp)
1562 where
1563 .Pa /dev/rsd0c
1564 is the
1565 .Sq "whole disk"
1566 partition for the drive you will be using.
1567 Be certain you have typed this correctly, as it will erase the disk.
1570 .Em "From a Windows machine"
1573 .Ic rawrite32.exe
1574 from
1575 .Lk http://www.duskware.com/rawrite32/
1577 Be certain you have selected the correct disk, as it will erase the
1578 contents.
1581 .Em "From a MacOS 9 (or earlier) machine"
1584 .Ic suntar
1585 from
1586 .Lk http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/suntar-223.hqx
1587 .(enum
1588 Open the
1589 .Sq Preferences
1590 menu and pick
1591 .Sq "Expert Mode"
1594 Open the
1595 .Sq File
1596 menu and pick
1597 .Sq "Open Device ..."
1600 Click on the
1601 .Dq "scan SCSI"
1602 button to get a list of which drives are attached.
1605 Pick the correct drive.
1606 Be certain you have selected the correct disk, as it will erase the contents.
1609 Open the
1610 .Sq Special
1611 menu and pick
1612 .Sq "Overwrite Sectors ..."
1615 Hit return (i.e. start at sector number zero)
1618 Select
1619 .Pa macppccd-\*V.iso
1620 and click
1621 .Dq Open
1624 Open the
1625 .Sq File
1626 menu and pick
1627 .Sq "Close Device"
1628 .enum)
1629 .bullet)
1630 .bullet)
1631 .if \*[OF_VERSION_3] \{\
1633 Skip forward to
1634 .Sx "Installing the NetBSD System"