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