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