tools/llvm: Do not build with symbols
[minix3.git] / usr.sbin / installboot / installboot_nbsd.8
blobec0b6d1cdba325cbf3b6852c4ac92ffbb470c477
1 .\"     $NetBSD: installboot_nbsd.8,v 1.79 2011/11/03 20:09:18 martin 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 August 3, 2011
31 .Dt INSTALLBOOT 8
32 .Os
33 .Sh NAME
34 .Nm installboot_nbsd
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 o Ar options
43 .Op Fl t Ar fstype
44 .Ar filesystem
45 .Ar primary
46 .Op Ar secondary
47 .Nm
48 .Fl c
49 .Op Fl fnv
50 .Op Fl o Ar options
51 .Op Fl t Ar fstype
52 .Ar filesystem
53 .Nm
54 .Fl e
55 .Op Fl fnv
56 .Op Fl o Ar options
57 .Ar bootstrap
58 .Nm
59 .Fl m(aster)
60 .Ar device 
61 .Ar masterboot
63 .Sh DESCRIPTION
64 The
65 .Nm
66 utility installs and removes
67 .Nx
68 disk bootstrap software into a file system.
69 .Nm
70 can install
71 .Ar primary
72 into
73 .Ar filesystem ,
74 or disable an existing bootstrap in
75 .Ar filesystem .
76 .Pp
77 On some architectures the options of an existing installed bootstrap,
78 or those of a bootstrap file can be changed.
79 Installing a new primary bootstrap will reset those options to default
80 values.
81 .Pp
82 Generally,
83 .Nx
84 disk bootstrap software consists of two parts: a
85 .Dq primary
86 bootstrap program usually written into the disklabel area of the
87 file system by
88 .Nm ,
89 and a
90 .Dq secondary
91 bootstrap program that usually resides as an ordinary file in the file system.
92 .Pp
93 When booting, the primary bootstrap program is loaded and invoked by
94 the machine's PROM or BIOS.
95 After receiving control of the system it loads and runs the secondary
96 bootstrap program, which in turn loads and runs the kernel.
97 The secondary bootstrap may allow control over various boot parameters
98 passed to the kernel.
99 .Pp
100 Perform the following steps to make a file system bootable:
101 .Bl -enum
103 Copy the secondary bootstrap (usually
104 .Pa /usr/mdec/boot. Ns Sy MACHINE
106 .Pa /usr/mdec/boot )
107 to the root directory of the target file system.
113 to install the primary bootstrap program
114 (usually
115 .Pa /usr/mdec/bootxx_ Ns Sy FSTYPE )
116 into
117 .Ar filesystem .
119 The following platforms do not require this step if the primary bootstrap
120 already exists and the secondary bootstrap file is just being updated:
121 .Sy alpha ,
122 .Sy amd64 ,
123 .Sy amiga ,
124 .Sy i386 ,
125 .Sy pmax ,
126 .Sy sparc64 ,
128 .Sy vax .
130 The following platform does not require the first step since a
131 single bootstrap file is used.
132 The single bootstrap is installed like the primary bootstrap on
133 other platforms:
134 .Sy next68k .
138 The options and arguments recognized by
140 are as follows:
142 .Bl -tag -width "optionsxxx"
144 .It Fl B Ar s2bno
145 When hard-coding the blocks of
146 .Ar secondary
147 into
148 .Ar primary ,
149 start from block
150 .Ar s2bno
151 instead of trying to determine the block numbers occupied by
152 .Ar secondary
153 by examining
154 .Ar filesystem .
155 If this option is supplied,
156 .Ar secondary
157 should refer to an actual secondary bootstrap (rather than the
158 file name of the one present in
159 .Ar filesystem )
160 so that its size can be determined.
162 .It Fl b Ar s1bno
163 Install
164 .Ar primary
165 at block number
166 .Ar s1bno
167 instead of the default location for the machine and file system type.
168 .Sy [ alpha ,
169 .Sy pmax ,
170 .Sy vax ]
172 .It Fl c
173 Clear (remove) any existing bootstrap instead of installing one.
175 .It Fl e
176 Edit the options of an existing bootstrap.
177 This can be use to change the options in bootxx_xxxfs files,
178 raw disk partitions, and the
179 .Pa pxeboot_ia32.bin
180 file.
181 With
182 .Fl v
183 and without
184 .Fl o ,
185 show the current options.
186 .Sy [ amd64 , i386 ]
188 .It Fl f
189 Forces
191 to ignore some errors.
193 .It Fl n
194 Do not write to
195 .Ar filesystem .
197 .It Fl o Ar options
198 Machine specific
200 options, comma separated.
202 Supported options are (with the machines for they are valid in brackets):
204 .Bl -tag -offset indent -width alphasum
206 .It Sy alphasum
207 .Sy [ alpha ]
208 Recalculate and restore the Alpha checksum.
209 This is the default for
210 .Nx Ns Tn /alpha .
212 .It Sy append
213 .Sy [ alpha ,
214 .Sy pmax ,
215 .Sy vax ]
216 Append
217 .Ar primary
218 to the end of
219 .Ar filesystem ,
220 which must be a regular file in this case.
222 .It Sy bootconf
223 .Sy [ amd64 ,
224 .Sy i386 ]
225 (Don't) read a
226 .Dq boot.cfg
227 file.
229 .It Sy command=\*[Lt]boot command\*[Gt]
230 .Sy [ amiga ]
231 Modify the default boot command line.
233 .It Sy console=\*[Lt]console name\*[Gt]
234 .Sy [ amd64 ,
235 .Sy i386 ]
236 Set the console device, \*[Lt]console name\*[Gt] must be one of:
237 pc, com0, com1, com2, com3, com0kbd, com1kbd, com2kbd or com3kbd.
239 .It Sy ioaddr=\*[Lt]ioaddr\*[Gt]
240 .Sy [ amd64 ,
241 .Sy i386 ]
242 Set the IO address to be used for the console serial port.
243 Defaults to the IO address used by the system BIOS for the specified port.
245 .It Sy keymap=\*[Lt]keymap\*[Gt]
246 .Sy [ amd64 ,
247 .Sy i386 ]
248 Set a boot time keyboard translation map.
249 Each character in \*[Lt]keymap\*[Gt] will be replaced by the one following it.
250 For example, an argument of
251 .Dq zyz
252 would swap the lowercase letters
253 .Sq y
255 .Sq z .
257 .It Sy modules
258 .Sy [ amd64 ,
259 .Sy i386 ]
260 (Don't) load kernel modules.
262 .It Sy password=\*[Lt]password\*[Gt]
263 .Sy [ amd64 ,
264 .Sy i386 ]
265 Set the password which must be entered before the boot menu can be accessed.
267 .It Sy resetvideo
268 .Sy [ amd64 ,
269 .Sy i386 ]
270 Reset the video before booting.
272 .It Sy speed=\*[Lt]baud rate\*[Gt]
273 .Sy [ amd64 ,
274 .Sy i386 ]
275 Set the baud rate for the serial console.
276 If a value of zero is specified, then the current baud rate (set by the
277 BIOS) will be used.
279 .It Sy sunsum
280 .Sy [ alpha ,
281 .Sy pmax ,
282 .Sy vax ]
283 Recalculate and restore the Sun and
284 .Nx Ns Tn /sparc
285 compatible checksum.
286 .Em Note :
287 The existing
288 .Nx Ns Tn /sparc
289 disklabel should use no more than 4 partitions.
291 .It Sy timeout=\*[Lt]seconds\*[Gt]
292 .Sy [ amd64 ,
293 .Sy i386 ]
294 Set the timeout before the automatic boot begins to the given number of seconds.
297 .It Fl t Ar fstype
299 .Ar fstype
300 as the type of
301 .Ar filesystem .
302 The default operation is to attempt to auto-detect this setting.
303 The following file system types are currently supported by
304 .Nm :
306 .Bl -tag -offset indent -width raid
308 .It Sy ffs
310 Fast File System.
312 .It Sy raid
313 Mirrored RAIDframe File System.
315 .It Sy raw
316 .Sq Raw
317 image.
318 Note: if a platform needs to hard-code the block offset of the secondary
319 bootstrap, it cannot be searched for on this file system type, and must
320 be provided with
321 .Fl B Ar s2bno .
324 .It Fl v
325 Verbose operation.
327 .It Ar filesystem
328 The path name of the device or file system image that
330 is to operate on.
331 It is not necessary for
332 .Ar filesystem
333 to be a currently mounted file system.
335 .It Ar primary
336 The path name of the
337 .Dq primary
338 boot block to install.
339 The path name must refer to a file in a file system that is currently
340 mounted.
342 .It Ar secondary
343 The path name of the
344 .Dq secondary
345 boot block, relative to the root of
346 the file system in the device or image specified by the
347 .Ar filesystem
348 argument.
349 Note that this may refer to a file in a file system that is not mounted.
350 Most systems require
351 .Ar secondary
352 to be in the
353 .Dq root
354 directory of the file system, so the leading
355 .Dq Pa /
356 is not necessary on
357 .Ar secondary .
359 Only certain combinations of
360 platform
361 .Pq Fl m Ar machine
362 and file system type
363 .Pq Fl t Ar fstype
364 require that the name of the secondary bootstrap is
365 supplied as
366 .Ar secondary ,
367 so that information such as the disk block numbers occupied
368 by the secondary bootstrap can be stored in the primary bootstrap.
369 These are:
370 .Bl -column "Platform" "File systems" -offset indent
371 .It Sy "Platform" Ta Sy "File systems"
372 .It macppc Ta ffs, raw
373 .It news68k Ta ffs, raw
374 .It newsmips Ta ffs, raw
375 .It sparc Ta ffs, raid, raw
376 .It sun2 Ta ffs, raw
377 .It sun3 Ta ffs, raw
382 exits 0 on success, and \*[Gt]0 if an error occurs.
384 .Sh ENVIRONMENT
386 uses the following environment variables:
388 .Bl -tag -width "MACHINE"
390 .It Ev MACHINE
391 Default value for
392 .Ar machine ,
393 overriding the result from
394 .Xr uname 3 .
398 .Sh FILES
399 Most
401 ports will contain variations of the following files:
403 .Bl -tag -width /usr/mdec/bootxx_ustarfs
405 .It Pa /usr/mdec/bootxx_ Ns Sy FSTYPE
406 Primary bootstrap for file system type
407 .Sy FSTYPE .
408 Installed into the bootstrap area of the file system by
409 .Nm .
411 .It Pa /usr/mdec/bootxx_fat16
412 Primary bootstrap for
413 .Tn MS-DOS
414 .Sy FAT16
415 file systems.
416 This differs from
417 .Nm bootxx_msdos
418 in that it doesn't require the filesystem to have been initialised with
420 .Ql reserved sectors .
421 It also uses the information in the
422 .Ql Boot Parameter Block
423 to get the media and filesytem properties.
425 .It Pa /usr/mdec/bootxx_ffsv1
426 Primary bootstrap for
427 .Sy FFSv1
428 file systems
429 (the "traditional"
431 file system).
433 .Xr dumpfs 8
434 to confirm the file system format is
435 .Sy FFSv1 .
437 .It Pa /usr/mdec/bootxx_ffsv2
438 Primary bootstrap for
439 .Sy FFSv2
440 file systems.
442 .Xr dumpfs 8
443 to confirm the file system format is
444 .Sy FFSv2 .
446 .It Pa /usr/mdec/bootxx_lfsv1
447 Primary bootstrap for
448 .Sy LFSv1
449 file systems.
451 .It Pa /usr/mdec/bootxx_lfsv2
452 Primary bootstrap for
453 .Sy LFSv2
454 file systems
455 (the default LFS version).
457 .It Pa /usr/mdec/bootxx_msdos
458 Primary bootstrap for
459 .Tn MS-DOS
460 .Sy FAT
461 file systems.
463 .It Pa /usr/mdec/bootxx_ustarfs
464 Primary bootstrap for
465 .Sy TARFS
466 boot images.
467 This is used by various install media.
469 .It Pa /usr/mdec/boot. Ns Sy MACHINE
470 Secondary bootstrap for machine type
471 .Sy MACHINE .
472 This should be installed into the file system before
474 is run.
476 .It Pa /usr/mdec/boot
477 Synonym for
478 .Pa /usr/mdec/boot. Ns Sy MACHINE
480 .It Pa /boot. Ns Sy MACHINE
481 Installed copy of secondary bootstrap for machine type
482 .Sy MACHINE .
484 .It Pa /boot
485 Installed copy of secondary bootstrap.
486 Searched for by the primary bootstrap if
487 .Pa /boot. Ns Sy MACHINE
488 is not found.
492 .Ss Nx Ns Tn /macppc files
494 .Bl -tag -width /usr/mdec/bootxx_ustarfs
496 .It Pa /usr/mdec/bootxx
497 .Nx Ns Tn /macppc
498 primary bootstrap.
500 .It Pa /usr/mdec/ofwboot
501 .Nx Ns Tn /macppc
502 secondary bootstrap.
504 .It Pa /ofwboot
505 Installed copy of
506 .Nx Ns Tn /macppc
507 secondary bootstrap.
511 .Ss Nx Ns Tn /next68k files
513 .Bl -tag -width /usr/mdec/bootxx_ustarfs
515 .It Pa /usr/mdec/boot
516 .Nx Ns Tn /next68k
517 bootstrap.
521 .Ss Nx Ns Tn /sparc64 files
523 .Bl -tag -width /usr/mdec/bootxx_ustarfs
525 .It Pa /usr/mdec/bootblk
526 .Nx Ns Tn /sparc64
527 primary bootstrap.
529 .It Pa /usr/mdec/ofwboot
530 .Nx Ns Tn /sparc64
531 secondary bootstrap.
533 .It Pa /ofwboot
534 Installed copy of
535 .Nx Ns Tn /sparc64
536 secondary bootstrap.
540 .Sh EXAMPLES
542 .Ss common
543 Verbosely install the Berkeley Fast File System primary bootstrap on to disk
544 .Sq sd0 :
545 .Dl Ic installboot_nbsd -v /dev/rsd0c /usr/mdec/bootxx_ffs
546 Note: the
547 .Dq whole disk
548 partition (c on some ports, d on others) is used here, since the a partition
549 probably is already opened (mounted as
550 .Pa / ) ,
553 would not be able to access it.
555 Remove the primary bootstrap from disk
556 .Sq sd1 :
557 .Dl Ic installboot_nbsd -c /dev/rsd1c
559 .Ss Nx Ns Tn /amiga
560 Modify the command line to change the default from "netbsd -ASn2" to
561 "netbsd -S":
562 .Dl Ic installboot_nbsd -m amiga -o command="netbsd -S" /dev/rsd0a /usr/mdec/bootxx_ffs
564 .Ss Nx Ns Tn /ews4800mips
565 Install the System V Boot File System primary bootstrap on to disk
566 .Sq sd0 ,
567 with the secondary bootstrap
568 .Sq Pa /boot
569 already present in the SysVBFS partition on the disk:
570 .Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx_bfs
572 .Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
573 Install new boot blocks on an existing mounted root file system on
574 .Sq wd0 ,
575 setting the timeout to five seconds, after copying a new secondary
576 bootstrap:
577 .Dl Ic cp /usr/mdec/boot /boot
578 .Dl Ic installboot_nbsd -v -o timeout=5 /dev/rwd0a /usr/mdec/bootxx_ffsv1
581 Create a bootable CD-ROM with an ISO9660
582 file system for an i386 system with a serial console:
583 .Dl Ic mkdir cdrom
584 .Dl Ic cp sys/arch/i386/compile/mykernel/netbsd cdrom/netbsd
585 .Dl Ic cp /usr/mdec/boot cdrom/boot
586 .Dl Ic cp /usr/mdec/bootxx_cd9660 bootxx
587 .Dl Ic installboot_nbsd -o console=com0,speed=19200 -m i386 -e bootxx
588 .Dl Ic makefs -t cd9660 -o 'bootimage=i386;bootxx,no-emul-boot' boot.iso \
589         cdrom
592 Create a bootable floppy disk with an FFSv1
593 file system for a small custom kernel (note: bigger kernels needing
594 multiple disks are handled with the ustarfs file system):
595 .Dl Ic newfs -s 1440k /dev/rfd0a
596 .Bd -ragged -offset indent-two -compact
597 .Em Note :
598 Ignore the warnings that
599 .Xr newfs 8
600 displays; it can not write a disklabel,
601 which is not a problem for a floppy disk.
603 .Dl Ic mount /dev/fd0a /mnt
604 .Dl Ic cp /usr/mdec/boot /mnt/boot
605 .Dl Ic gzip -9 \*[Lt] sys/arch/i386/compile/mykernel/netbsd \*[Gt] /mnt/netbsd.gz
606 .Dl Ic umount /mnt
607 .Dl Ic installboot_nbsd -v /dev/rfd0a /usr/mdec/bootxx_ffsv1
610 Create a bootable FAT file system on
611 .Sq wd1a ,
612 which should have the same offset and size as a FAT primary partition
613 in the Master Boot Record (MBR):
614 .Dl Ic newfs_msdos -r 16 /dev/rwd1a
615 .Bd -ragged -offset indent-two -compact
616 .Em Notes :
618 .Fl r Ar 16
619 is to reserve space for the primary bootstrap.
620 .Xr newfs_msdos 8
621 will display an
622 .Dq MBR type
623 such as
624 .Ql 1 ,
625 .Ql 4 ,
627 .Ql 6 ;
628 the MBR partition type of the appropriate primary partition should be
629 changed to this value.
631 .Dl Ic mount -t msdos /dev/wd1a /mnt
632 .Dl Ic cp /usr/mdec/boot /mnt/boot
633 .Dl Ic cp path/to/kernel /mnt/netbsd
634 .Dl Ic umount /mnt
635 .Dl Ic installboot_nbsd -t raw /dev/rwd1a /usr/mdec/bootxx_msdos
637 Make the existing FAT16 filesystem on
638 .Sq sd0e
639 bootable.
640 This can be used to make USB memory bootable provided it has 512 byte
641 sectors and that the manufacturer correctly initialised the file system.
642 .Dl Ic mount -t msdos /dev/sd0e /mnt
643 .Dl Ic cp /usr/mdec/boot /mnt/boot
644 .Dl Ic cp path/to/kernel /mnt/netbsd
645 .Dl Ic umount /mnt
646 .Dl Ic installboot_nbsd /dev/rsd0e /usr/mdec/bootxx_fat16
647 It may also be necessary to use
648 .Nm fdisk
649 to make the device itself bootable.
652 Switch the existing installed bootstrap to use a serial console without
653 reinstalling or altering other options such as timeout.
654 .Dl Ic installboot_nbsd -e -o console=com0 /dev/rwd0a
655 .Ss Nx Ns Tn /macppc
656 Note the
658 utility is only required for macppc machines with OpenFirmware version 2
659 to boot.
660 OpenFirmware 3 cannot load bootblocks specified in the Apple partition
661 map.
663 Install the Berkeley Fast File System primary bootstrap on to disk
664 .Sq wd0 :
665 .Dl Ic installboot_nbsd /dev/rwd0c /usr/mdec/bootxx /ofwboot
667 The secondary
668 .Nx Ns Tn /macppc
669 bootstrap is located in
670 .Pa /usr/mdec/ofwboot .
672 The primary bootstrap requires the raw
673 .Pa ofwboot
674 for the secondary bootstrap, not
675 .Pa ofwboot.xcf ,
676 which is used for the OpenFirmware to load kernels.
677 .Ss Nx Ns Tn /next68k
678 Install the bootstrap on to disk
679 .Sq sd0 :
680 .Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/boot
683 .Ss Nx Ns Tn /pmax
684 Install the Berkeley Fast File System primary bootstrap on to disk
685 .Sq sd0 :
686 .Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx_ffs
688 .Nx Ns Tn /pmax
689 requires that this file system starts at block 0 of the disk.
691 Install the ISO 9660 primary bootstrap in the file
692 .Pa /tmp/cd-image :
693 .Dl Ic installboot_nbsd -m pmax /tmp/cd-image /usr/mdec/bootxx_cd9660
695 Make an ISO 9660 filesystem in the file
696 .Pa /tmp/cd-image
697 and install the ISO 9660 primary bootstrap in the filesystem, where the
698 source directory for the ISO 9660 filesystem contains a kernel, the
699 primary bootstrap
700 .Pa bootxx_cd9660
701 and the secondary bootstrap
702 .Pa boot.pmax :
703 .Dl Ic mkisofs -o /tmp/cd-image -a -l -v iso-source-dir
704 .Dl ...
705 .Dl 48 51 iso-source-dir/bootxx_cd9660
706 .Dl ...
707 .Dl Ic installboot_nbsd -b `expr 48 \e* 4` /tmp/cd-image /usr/mdec/bootxx_cd9660
709 .Ss Nx Ns Tn /sparc
710 Install the Berkeley Fast File System primary bootstrap on to disk
711 .Sq sd0 ,
712 with the secondary bootstrap
713 .Sq Pa /boot
714 already present:
715 .Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx /boot
717 .Ss Nx Ns Tn /sparc64
718 Install the primary bootstrap on to disk
719 .Sq sd0 :
720 .Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootblk
722 The secondary
723 .Nx Ns Tn /sparc64
724 bootstrap is located in
725 .Pa /usr/mdec/ofwboot .
727 .Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
728 Install the Berkeley Fast File System primary bootstrap on to disk
729 .Sq sd0 ,
730 with the secondary bootstrap
731 .Sq Pa /boot
732 already present:
733 .Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx /boot
735 .Sh SEE ALSO
736 .Xr uname 3 ,
737 .Xr boot 8 ,
738 .Xr disklabel 8 ,
739 .Xr dumpfs 8 ,
740 .Xr fdisk 8 ,
741 .Xr pxeboot 8
743 .Sh HISTORY
744 This implementation of
746 appeared in
747 .Nx 1.6 .
749 .Sh AUTHORS
750 The machine independent portion of this implementation of
752 was written by Luke Mewburn.
753 The following people contributed to the various machine dependent
754 back-ends:
755 Simon Burge (pmax),
756 Chris Demetriou (alpha),
757 Matthew Fredette (sun2, sun3),
758 Matthew Green (sparc64),
759 Ross Harvey (alpha),
760 Michael Hitch (amiga),
761 Paul Kranenburg (sparc),
762 David Laight (i386),
763 Christian Limpach (next68k),
764 Luke Mewburn (macppc),
765 Matt Thomas (vax),
766 Izumi Tsutsui (news68k, newsmips),
768 UCHIYAMA Yasushi (ews4800mips).
770 .Sh BUGS
771 There are not currently primary bootstraps to support all file systems
772 types which are capable of being the root file system.
774 If a disk has been converted from
775 .Sy FFS
777 .Sy RAID
778 without the contents of the disk erased, then the original
779 .Sy FFS
780 installation may be auto-detected instead of the
781 .Sy RAID
782 installation.
783 In this case, the
784 .Fl t Ar raid
785 option must be provided.
787 .Ss Nx Ns Tn /alpha
789 .Nx Ns Tn /alpha
790 primary bootstrap program can only load the secondary bootstrap program
791 from file systems starting at the beginning (block 0) of disks.
792 Similarly, the secondary bootstrap program can only load kernels from
793 file systems starting at the beginning of disks.
795 The size of primary bootstrap programs is restricted to 7.5KB, even
796 though some file systems (e.g., ISO 9660) are able to accommodate larger
797 ones.
799 .Ss Nx Ns Tn /hp300
800 The disk must have a boot partition large enough to hold the bootstrap code.
801 Currently the primary bootstrap must be a LIF format file.
803 .Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
804 The bootstrap must be installed in the
806 partition that starts at the beginning of the mbr partition.
807 If that is a valid filesystem and contains the
808 .Pa /boot
809 program then it will be used as the root filesystem, otherwise the
810 .Sq a
811 partition will be booted.
813 The size of primary bootstrap programs is restricted to 8KB, even
814 though some file systems (e.g., ISO 9660) are able to accommodate larger
815 ones.
817 .Ss Nx Ns Tn /macppc
818 Due to restrictions in
820 and the secondary bootstrap implementation, file systems where kernels exist
821 must start at the beginning of disks.
823 Currently,
825 doesn't recognize an existing Apple partition map on the disk
826 and always writes a faked map to make disks bootable.
829 .Nx Ns Tn /macppc
830 bootstrap program can't load kernels from
831 .Sy FFSv2
832 partitions.
833 .Ss Nx Ns Tn /next68k
834 The size of bootstrap programs is restricted to the free space before
835 the file system at the beginning of the disk minus 8KB.
837 .Ss Nx Ns Tn /pmax
839 .Nx Ns Tn /pmax
840 secondary bootstrap program can only load kernels from file
841 systems starting at the beginning of disks.
843 The size of primary bootstrap programs is restricted to 7.5KB, even
844 though some file systems (e.g., ISO 9660) are able to accommodate larger
845 ones.
847 .Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
849 .Nx Ns Tn /sun2
851 .Nx Ns Tn /sun3
852 secondary bootstrap program can only load kernels from file
853 systems starting at the beginning of disks.
855 .Ss Nx Ns Tn /vax
857 .Nx Ns Tn /vax
858 secondary bootstrap program can only load kernels from file systems
859 starting at the beginning of disks.
861 The size of primary bootstrap programs is restricted to 7.5KB, even
862 though some file systems (e.g., ISO 9660) are able to accommodate larger
863 ones.