Expand PMF_FN_* macros.
[netbsd-mini2440.git] / usr.sbin / installboot / installboot.8
blobb8e760242e5a3589151c0e8093dce159c2c0357a
1 .\"     $NetBSD: installboot.8,v 1.72 2008/10/12 16:02:45 apb Exp $
2 .\"
3 .\" Copyright (c) 2002-2009 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to The NetBSD Foundation
7 .\" by Luke Mewburn of Wasabi Systems.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
29 .\"
30 .Dd October 12, 2008
31 .Dt INSTALLBOOT 8
32 .Os
33 .Sh NAME
34 .Nm installboot
35 .Nd install disk bootstrap software
37 .Sh SYNOPSIS
38 .Nm
39 .Op Fl fnv
40 .Op Fl B Ar s2bno
41 .Op Fl b Ar s1bno
42 .Op Fl m Ar machine
43 .Op Fl o Ar options
44 .Op Fl t Ar fstype
45 .Ar filesystem
46 .Ar primary
47 .Op Ar secondary
48 .Nm
49 .Fl c
50 .Op Fl fnv
51 .Op Fl m Ar machine
52 .Op Fl o Ar options
53 .Op Fl t Ar fstype
54 .Ar filesystem
55 .Nm
56 .Fl e
57 .Op Fl fnv
58 .Op Fl m Ar machine
59 .Op Fl o Ar options
60 .Ar bootstrap
62 .Sh DESCRIPTION
63 The
64 .Nm
65 utility installs and removes
66 .Nx
67 disk bootstrap software into a file system.
68 .Nm
69 can install
70 .Ar primary
71 into
72 .Ar filesystem ,
73 or disable an existing bootstrap in
74 .Ar filesystem .
75 .Pp
76 One some architectures the options of an existing installed bootstrap,
77 or those of a bootstrap file can be changed.
78 .Pp
79 Generally,
80 .Nx
81 disk bootstrap software consists of two parts: a
82 .Dq primary
83 bootstrap program usually written into the disklabel area of the
84 file system by
85 .Nm ,
86 and a
87 .Dq secondary
88 bootstrap program that usually resides as an ordinary file in the file system.
89 .Pp
90 When booting, the primary bootstrap program is loaded and invoked by
91 the machine's PROM or BIOS.
92 After receiving control of the system it loads and runs the secondary
93 bootstrap program, which in turn loads and runs the kernel.
94 The secondary bootstrap may allow control over various boot parameters
95 passed to the kernel.
96 .Pp
97 Perform the following steps to make a file system bootable:
98 .Bl -enum
99 .It
100 Copy the secondary bootstrap (usually
101 .Pa /usr/mdec/boot. Ns Sy MACHINE
103 .Pa /usr/mdec/boot )
104 to the root directory of the target file system.
110 to install the primary bootstrap program
111 (usually
112 .Pa /usr/mdec/bootxx_ Ns Sy FSTYPE )
113 into
114 .Ar filesystem .
116 The following platforms do not require this step if the primary bootstrap
117 already exists and the secondary bootstrap file is just being updated:
118 .Sy alpha ,
119 .Sy amd64 ,
120 .Sy amiga ,
121 .Sy i386 ,
122 .Sy pmax ,
123 .Sy sparc64 ,
125 .Sy vax .
127 The following platform does not require the first step since a
128 single bootstrap file is used.
129 The single bootstrap is installed like the primary bootstrap on
130 other platforms:
131 .Sy next68k .
135 The options and arguments recognized by
137 are as follows:
139 .Bl -tag -width "optionsxxx"
141 .It Fl B Ar s2bno
142 When hard-coding the blocks of
143 .Ar secondary
144 into
145 .Ar primary ,
146 start from block
147 .Ar s2bno
148 instead of trying to determine the block numbers occupied by
149 .Ar secondary
150 by examining
151 .Ar filesystem .
152 If this option is supplied,
153 .Ar secondary
154 should refer to an actual secondary bootstrap (rather than the
155 file name of the one present in
156 .Ar filesystem )
157 so that its size can be determined.
159 .It Fl b Ar s1bno
160 Install
161 .Ar primary
162 at block number
163 .Ar s1bno
164 instead of the default location for the machine and file system type.
165 .Sy [ alpha ,
166 .Sy pmax ,
167 .Sy vax ]
169 .It Fl c
170 Clear (remove) any existing bootstrap instead of installing one.
172 .It Fl e
173 Edit the options of an existing bootstrap.
174 This can be use to change the options in bootxx_xxxfs files,
175 raw disk partitions, and the
176 .Pa pxeboot_ia32.bin
177 file.
178 .Sy [ amd64 , i386 ]
180 .It Fl f
181 Forces
183 to ignore some errors.
185 .It Fl m Ar machine
187 .Ar machine
188 as the target machine type.
189 The default machine is determined from
190 .Xr uname 3
191 and then
192 .Ev MACHINE .
193 The following machines are currently supported by
194 .Nm :
195 .Bd -ragged -offset indent
196 .Sy alpha ,
197 .Sy amd64 ,
198 .Sy amiga ,
199 .Sy ews4800mips ,
200 .Sy hp300 ,
201 .Sy hp700 ,
202 .Sy i386 ,
203 .Sy landisk ,
204 .Sy macppc ,
205 .Sy news68k ,
206 .Sy newsmips ,
207 .Sy next68k ,
208 .Sy pmax ,
209 .Sy sparc ,
210 .Sy sparc64 ,
211 .Sy sun2 ,
212 .Sy sun3 ,
213 .Sy vax ,
214 .Sy x68k
218 .It Fl n
219 Do not write to
220 .Ar filesystem .
222 .It Fl o Ar options
223 Machine specific
225 options, comma separated.
227 Supported options are (with the machines for they are valid in brackets):
229 .Bl -tag -offset indent -width alphasum
231 .It Sy alphasum
232 .Sy [ alpha ]
233 Recalculate and restore the Alpha checksum.
234 This is the default for
235 .Nx Ns Tn /alpha .
237 .It Sy append
238 .Sy [ alpha ,
239 .Sy pmax ,
240 .Sy vax ]
241 Append
242 .Ar primary
243 to the end of
244 .Ar filesystem ,
245 which must be a regular file in this case.
247 .It Sy command=\*[Lt]boot command\*[Gt]
248 .Sy [ amiga ]
249 Modify the default boot command line.
251 .It Sy console=\*[Lt]console name\*[Gt]
252 .Sy [ amd64 ,
253 .Sy i386 ]
254 Set the console device, \*[Lt]console name\*[Gt] must be one of:
255 pc, com0, com1, com2, com3, com0kbd, com1kbd, com2kbd or com3kbd.
257 .It Sy ioaddr=\*[Lt]ioaddr\*[Gt]
258 .Sy [ amd64 ,
259 .Sy i386 ]
260 Set the IO address to be used for the console serial port.
261 Defaults to the IO address used by the system BIOS for the specified port.
263 .It Sy keymap=\*[Lt]keymap\*[Gt]
264 .Sy [ amd64 ,
265 .Sy i386 ]
266 Set a boot time keyboard translation map.
267 Each character in \*[Lt]keymap\*[Gt] will be replaced by the one following it.
268 For example, an argument of
269 .Dq zyz
270 would swap the lowercase letters
271 .Sq y
273 .Sq z .
275 .It Sy password=\*[Lt]password\*[Gt]
276 .Sy [ amd64 ,
277 .Sy i386 ]
278 Set the password which must be entered before the boot menu can be accessed.
280 .It Sy resetvideo
281 .Sy [ amd64 ,
282 .Sy i386 ]
283 Reset the video before booting.
285 .It Sy speed=\*[Lt]baud rate\*[Gt]
286 .Sy [ amd64 ,
287 .Sy i386 ]
288 Set the baud rate for the serial console.
289 If a value of zero is specified, then the current baud rate (set by the
290 BIOS) will be used.
292 .It Sy sunsum
293 .Sy [ alpha ,
294 .Sy pmax ,
295 .Sy vax ]
296 Recalculate and restore the Sun and
297 .Nx Ns Tn /sparc
298 compatible checksum.
299 .Em Note :
300 The existing
301 .Nx Ns Tn /sparc
302 disklabel should use no more than 4 partitions.
304 .It Sy timeout=\*[Lt]seconds\*[Gt]
305 .Sy [ amd64 ,
306 .Sy i386 ]
307 Set the timeout before the automatic boot begins to the given number of seconds.
310 .It Fl t Ar fstype
312 .Ar fstype
313 as the type of
314 .Ar filesystem .
315 The default operation is to attempt to auto-detect this setting.
316 The following file system types are currently supported by
317 .Nm :
319 .Bl -tag -offset indent -width raid
321 .It Sy ffs
323 Fast File System.
325 .It Sy raid
326 Mirrored RAIDframe File System.
328 .It Sy raw
329 .Sq Raw
330 image.
331 Note: if a platform needs to hard-code the block offset of the secondary
332 bootstrap, it cannot be searched for on this file system type, and must
333 be provided with
334 .Fl B Ar s2bno .
337 .It Fl v
338 Verbose operation.
340 .It Ar filesystem
341 The path name of the device or file system image that
343 is to operate on.
344 It is not necessary for
345 .Ar filesystem
346 to be a currently mounted file system.
348 .It Ar primary
349 The path name of the
350 .Dq primary
351 boot block to install.
352 The path name must refer to a file in a file system that is currently
353 mounted.
355 .It Ar secondary
356 The path name of the
357 .Dq secondary
358 boot block, relative to the root of
359 the file system in the device or image specified by the
360 .Ar filesystem
361 argument.
362 Note that this may refer to a file in a file system that is not mounted.
363 Most systems require
364 .Ar secondary
365 to be in the
366 .Dq root
367 directory of the file system, so the leading
368 .Dq Pa /
369 is not necessary on
370 .Ar secondary .
372 Only certain combinations of
373 platform
374 .Pq Fl m Ar machine
375 and file system type
376 .Pq Fl t Ar fstype
377 require that the name of the secondary bootstrap is
378 supplied as
379 .Ar secondary ,
380 so that information such as the disk block numbers occupied
381 by the secondary bootstrap can be stored in the primary bootstrap.
382 These are:
383 .Bl -column "Platform" "File systems" -offset indent
384 .It Sy "Platform" Ta Sy "File systems"
385 .It macppc Ta ffs, raw
386 .It news68k Ta ffs, raw
387 .It newsmips Ta ffs, raw
388 .It sparc Ta ffs, raid, raw
389 .It sun2 Ta ffs, raw
390 .It sun3 Ta ffs, raw
395 exits 0 on success, and \*[Gt]0 if an error occurs.
397 .Sh ENVIRONMENT
399 uses the following environment variables:
401 .Bl -tag -width "MACHINE"
403 .It Ev MACHINE
404 Default value for
405 .Ar machine ,
406 overriding the result from
407 .Xr uname 3 .
411 .Sh FILES
412 Most
414 ports will contain variations of the following files:
416 .Bl -tag -width /usr/mdec/bootxx_ustarfs
418 .It Pa /usr/mdec/bootxx_ Ns Sy FSTYPE
419 Primary bootstrap for file system type
420 .Sy FSTYPE .
421 Installed into the bootstrap area of the file system by
422 .Nm .
424 .It Pa /usr/mdec/bootxx_fat16
425 Primary bootstrap for
426 .Tn MS-DOS
427 .Sy FAT16
428 file systems.
429 This differs from
430 .Nm bootxx_msdos
431 in that it doesn't require the filesystem to have been initialised with
433 .Ql reserved sectors .
434 It also uses the information in the
435 .Ql Boot Parameter Block
436 to get the media and filesytem properties.
438 .It Pa /usr/mdec/bootxx_ffsv1
439 Primary bootstrap for
440 .Sy FFSv1
441 file systems
442 (the "traditional"
444 file system).
446 .Xr dumpfs 8
447 to confirm the file system format is
448 .Sy FFSv1 .
450 .It Pa /usr/mdec/bootxx_ffsv2
451 Primary bootstrap for
452 .Sy FFSv2
453 file systems.
455 .Xr dumpfs 8
456 to confirm the file system format is
457 .Sy FFSv2 .
459 .It Pa /usr/mdec/bootxx_lfsv1
460 Primary bootstrap for
461 .Sy LFSv1
462 file systems.
464 .It Pa /usr/mdec/bootxx_lfsv2
465 Primary bootstrap for
466 .Sy LFSv2
467 file systems
468 (the default LFS version).
470 .It Pa /usr/mdec/bootxx_msdos
471 Primary bootstrap for
472 .Tn MS-DOS
473 .Sy FAT
474 file systems.
476 .It Pa /usr/mdec/bootxx_ustarfs
477 Primary bootstrap for
478 .Sy TARFS
479 boot images.
480 This is used by various install media.
482 .It Pa /usr/mdec/boot. Ns Sy MACHINE
483 Secondary bootstrap for machine type
484 .Sy MACHINE .
485 This should be installed into the file system before
487 is run.
489 .It Pa /usr/mdec/boot
490 Synonym for
491 .Pa /usr/mdec/boot. Ns Sy MACHINE
493 .It Pa /boot. Ns Sy MACHINE
494 Installed copy of secondary bootstrap for machine type
495 .Sy MACHINE .
497 .It Pa /boot
498 Installed copy of secondary bootstrap.
499 Searched for by the primary bootstrap if
500 .Pa /boot. Ns Sy MACHINE
501 is not found.
505 .Ss Nx Ns Tn /macppc files
507 .Bl -tag -width /usr/mdec/bootxx_ustarfs
509 .It Pa /usr/mdec/bootxx
510 .Nx Ns Tn /macppc
511 primary bootstrap.
513 .It Pa /usr/mdec/ofwboot
514 .Nx Ns Tn /macppc
515 secondary bootstrap.
517 .It Pa /ofwboot
518 Installed copy of
519 .Nx Ns Tn /macppc
520 secondary bootstrap.
524 .Ss Nx Ns Tn /next68k files
526 .Bl -tag -width /usr/mdec/bootxx_ustarfs
528 .It Pa /usr/mdec/boot
529 .Nx Ns Tn /next68k
530 bootstrap.
534 .Ss Nx Ns Tn /sparc64 files
536 .Bl -tag -width /usr/mdec/bootxx_ustarfs
538 .It Pa /usr/mdec/bootblk
539 .Nx Ns Tn /sparc64
540 primary bootstrap.
542 .It Pa /usr/mdec/ofwboot
543 .Nx Ns Tn /sparc64
544 secondary bootstrap.
546 .It Pa /ofwboot
547 Installed copy of
548 .Nx Ns Tn /sparc64
549 secondary bootstrap.
553 .Sh EXAMPLES
555 .Ss common
556 Verbosely install the Berkeley Fast File System primary bootstrap on to disk
557 .Sq sd0 :
558 .Dl Ic installboot -v /dev/rsd0c /usr/mdec/bootxx_ffs
559 Note: the
560 .Dq whole disk
561 partition (c on some ports, d on others) is used here, since the a partition
562 probably is already opened (mounted as
563 .Pa / ) ,
566 would not be able to access it.
568 Remove the primary bootstrap from disk
569 .Sq sd1 :
570 .Dl Ic installboot -c /dev/rsd1c
572 .Ss Nx Ns Tn /amiga
573 Modify the command line to change the default from "netbsd -ASn2" to
574 "netbsd -S":
575 .Dl Ic installboot -m amiga -o command="netbsd -S" /dev/rsd0a /usr/mdec/bootxx_ffs
577 .Ss Nx Ns Tn /ews4800mips
578 Install the System V Boot File System primary bootstrap on to disk
579 .Sq sd0 ,
580 with the secondary bootstrap
581 .Sq Pa /boot
582 already present in the SysVBFS partition on the disk:
583 .Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx_bfs
585 .Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
586 Install new boot blocks on an existing mounted root file system on
587 .Sq wd0 ,
588 setting the timeout to five seconds, after copying a new secondary
589 bootstrap:
590 .Dl Ic cp /usr/mdec/boot /boot
591 .Dl Ic installboot -v -o timeout=5 /dev/rwd0a /usr/mdec/bootxx_ffsv1
594 Create a bootable CD-ROM with an ISO9660
595 file system for an i386 system with a serial console:
596 .Dl Ic mkdir cdrom
597 .Dl Ic cp sys/arch/i386/compile/mykernel/netbsd cdrom/netbsd
598 .Dl Ic cp /usr/mdec/boot cdrom/boot
599 .Dl Ic cp /usr/mdec/bootxx_cd9660 bootxx
600 .Dl Ic installboot -o console=com0,speed=19200 -m i386 -e bootxx
601 .Dl Ic makefs -t cd9660 -o 'bootimage=i386;bootxx,no-emul-boot' boot.iso \
602         cdrom
605 Create a bootable floppy disk with an FFSv1
606 file system for a small custom kernel (note: bigger kernels needing
607 multiple disks are handled with the ustarfs file system):
608 .Dl Ic newfs -s 1440k /dev/rfd0a
609 .Bd -ragged -offset indent-two -compact
610 .Em Note :
611 Ignore the warnings that
612 .Xr newfs 8
613 displays; it can not write a disklabel,
614 which is not a problem for a floppy disk.
616 .Dl Ic mount /dev/fd0a /mnt
617 .Dl Ic cp /usr/mdec/boot /mnt/boot
618 .Dl Ic gzip -9 \*[Lt] sys/arch/i386/compile/mykernel/netbsd \*[Gt] /mnt/netbsd.gz
619 .Dl Ic umount /mnt
620 .Dl Ic installboot -v /dev/rfd0a /usr/mdec/bootxx_ffsv1
623 Create a bootable FAT file system on
624 .Sq wd1a ,
625 which should have the same offset and size as a FAT primary partition
626 in the Master Boot Record (MBR):
627 .Dl Ic newfs_msdos -r 16 /dev/rwd1a
628 .Bd -ragged -offset indent-two -compact
629 .Em Notes :
631 .Fl r Ar 16
632 is to reserve space for the primary bootstrap.
633 .Xr newfs_msdos 8
634 will display an
635 .Dq MBR type
636 such as
637 .Ql 1 ,
638 .Ql 4 ,
640 .Ql 6 ;
641 the MBR partition type of the appropriate primary partition should be
642 changed to this value.
644 .Dl Ic mount -t msdos /dev/wd1a /mnt
645 .Dl Ic cp /usr/mdec/boot /mnt/boot
646 .Dl Ic cp path/to/kernel /mnt/netbsd
647 .Dl Ic umount /mnt
648 .Dl Ic installboot -t raw /dev/rwd1a /usr/mdec/bootxx_msdos
650 Make the existing FAT16 filesystem on
651 .Sq sd0e
652 bootable.
653 This can be used to make USB memory bootable provided it has 512 byte
654 sectors and that the manufacturer correctly initialised the file system.
655 .Dl Ic mount -t msdos /dev/sd0e /mnt
656 .Dl Ic cp /usr/mdec/boot /mnt/boot
657 .Dl Ic cp path/to/kernel /mnt/netbsd
658 .Dl Ic umount /mnt
659 .Dl Ic installboot /dev/rsd0e /usr/mdec/bootxx_fat16
660 It may also be necessary to use
661 .Nm fdisk
662 to make the device itself bootable.
665 Switch the existing installed bootstrap to use a serial console without
666 reinstalling or altering other options such as timeout.
667 .Dl Ic installboot -e -o console=com0 /dev/rwd0a
668 .Ss Nx Ns Tn /macppc
669 Note the
671 utility is only required for macppc machines with OpenFirmware version 2
672 to boot.
673 OpenFirmware 3 cannot load bootblocks specified in the Apple partition
674 map.
676 Install the Berkeley Fast File System primary bootstrap on to disk
677 .Sq wd0 :
678 .Dl Ic installboot /dev/rwd0c /usr/mdec/bootxx /ofwboot
680 The secondary
681 .Nx Ns Tn /macppc
682 bootstrap is located in
683 .Pa /usr/mdec/ofwboot .
685 The primary bootstrap requires the raw
686 .Pa ofwboot
687 for the secondary bootstrap, not
688 .Pa ofwboot.xcf ,
689 which is used for the OpenFirmware to load kernels.
690 .Ss Nx Ns Tn /next68k
691 Install the bootstrap on to disk
692 .Sq sd0 :
693 .Dl Ic installboot /dev/rsd0c /usr/mdec/boot
696 .Ss Nx Ns Tn /pmax
697 Install the Berkeley Fast File System primary bootstrap on to disk
698 .Sq sd0 :
699 .Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx_ffs
701 .Nx Ns Tn /pmax
702 requires that this file system starts at block 0 of the disk.
704 Install the ISO 9660 primary bootstrap in the file
705 .Pa /tmp/cd-image :
706 .Dl Ic installboot -m pmax /tmp/cd-image /usr/mdec/bootxx_cd9660
708 Make an ISO 9660 filesystem in the file
709 .Pa /tmp/cd-image
710 and install the ISO 9660 primary bootstrap in the filesystem, where the
711 source directory for the ISO 9660 filesystem contains a kernel, the
712 primary bootstrap
713 .Pa bootxx_cd9660
714 and the secondary bootstrap
715 .Pa boot.pmax :
716 .Dl Ic mkisofs -o /tmp/cd-image -a -l -v iso-source-dir
717 .Dl ...
718 .Dl 48 51 iso-source-dir/bootxx_cd9660
719 .Dl ...
720 .Dl Ic installboot -b `expr 48 \e* 4` /tmp/cd-image /usr/mdec/bootxx_cd9660
722 .Ss Nx Ns Tn /sparc
723 Install the Berkeley Fast File System primary bootstrap on to disk
724 .Sq sd0 ,
725 with the secondary bootstrap
726 .Sq Pa /boot
727 already present:
728 .Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx /boot
730 .Ss Nx Ns Tn /sparc64
731 Install the Berkeley Fast File System primary bootstrap on to disk
732 .Sq wd0 :
733 .Dl Ic installboot /dev/rwd0c /usr/mdec/bootblk
735 The secondary
736 .Nx Ns Tn /sparc64
737 bootstrap is located in
738 .Pa /usr/mdec/ofwboot .
740 .Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
741 Install the Berkeley Fast File System primary bootstrap on to disk
742 .Sq sd0 ,
743 with the secondary bootstrap
744 .Sq Pa /boot
745 already present:
746 .Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx /boot
748 .Sh SEE ALSO
749 .Xr uname 3 ,
750 .Xr boot 8 ,
751 .Xr disklabel 8 ,
752 .Xr dumpfs 8 ,
753 .Xr fdisk 8 ,
754 .Xr pxeboot 8
756 .Sh HISTORY
757 This implementation of
759 appeared in
760 .Nx 1.6 .
762 .Sh AUTHORS
763 The machine independent portion of this implementation of
765 was written by Luke Mewburn.
766 The following people contributed to the various machine dependent
767 back-ends:
768 Simon Burge (pmax),
769 Chris Demetriou (alpha),
770 Matthew Fredette (sun2, sun3),
771 Matthew Green (sparc64),
772 Ross Harvey (alpha),
773 Michael Hitch (amiga),
774 Paul Kranenburg (sparc),
775 David Laight (i386),
776 Christian Limpach (next68k),
777 Luke Mewburn (macppc),
778 Matt Thomas (vax),
779 Izumi Tsutsui (news68k, newsmips),
781 UCHIYAMA Yasushi (ews4800mips).
783 .Sh BUGS
784 There are not currently primary bootstraps to support all file systems
785 types which are capable of being the root file system.
787 If a disk has been converted from
788 .Sy FFS
790 .Sy RAID
791 without the contents of the disk erased, then the original
792 .Sy FFS
793 installation may be auto-detected instead of the
794 .Sy RAID
795 installation.
796 In this case, the
797 .Fl t Ar raid
798 option must be provided.
800 .Ss Nx Ns Tn /alpha
802 .Nx Ns Tn /alpha
803 primary bootstrap program can only load the secondary bootstrap program
804 from file systems starting at the beginning (block 0) of disks.
805 Similarly, the secondary bootstrap program can only load kernels from
806 file systems starting at the beginning of disks.
808 The size of primary bootstrap programs is restricted to 7.5KB, even
809 though some file systems (e.g., ISO 9660) are able to accommodate larger
810 ones.
812 .Ss Nx Ns Tn /hp300
813 The disk must have a boot partition large enough to hold the bootstrap code.
814 Currently the primary bootstrap must be a LIF format file.
816 .Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
817 The bootstrap must be installed in the
819 partition that starts at the beginning of the mbr partition.
820 If that is a valid filesystem and contains the
821 .Pa /boot
822 program then it will be used as the root filesystem, otherwise the
823 .Sq a
824 partition will be booted.
826 The size of primary bootstrap programs is restricted to 8KB, even
827 though some file systems (e.g., ISO 9660) are able to accommodate larger
828 ones.
830 .Ss Nx Ns Tn /macppc
831 Due to restrictions in
833 and the secondary bootstrap implementation, file systems where kernels exist
834 must start at the beginning of disks.
836 Currently,
838 doesn't recognize an existing Apple partition map on the disk
839 and always writes a faked map to make disks bootable.
842 .Nx Ns Tn /macppc
843 bootstrap program can't load kernels from
844 .Sy FFSv2
845 partitions.
846 .Ss Nx Ns Tn /next68k
847 The size of bootstrap programs is restricted to the free space before
848 the file system at the beginning of the disk minus 8KB.
850 .Ss Nx Ns Tn /pmax
852 .Nx Ns Tn /pmax
853 secondary bootstrap program can only load kernels from file
854 systems starting at the beginning of disks.
856 The size of primary bootstrap programs is restricted to 7.5KB, even
857 though some file systems (e.g., ISO 9660) are able to accommodate larger
858 ones.
860 .Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
862 .Nx Ns Tn /sun2
864 .Nx Ns Tn /sun3
865 secondary bootstrap program can only load kernels from file
866 systems starting at the beginning of disks.
868 .Ss Nx Ns Tn /vax
870 .Nx Ns Tn /vax
871 secondary bootstrap program can only load kernels from file systems
872 starting at the beginning of disks.
874 The size of primary bootstrap programs is restricted to 7.5KB, even
875 though some file systems (e.g., ISO 9660) are able to accommodate larger
876 ones.