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