xref: /netbsd-src/usr.sbin/installboot/installboot.8 (revision d48f14661dda8638fee055ba15d35bdfb29b9fa8)
1.\"	$NetBSD: installboot.8,v 1.54 2006/06/20 05:37:24 jdc 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 May 19, 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 macppc ,
199.Sy news68k ,
200.Sy newsmips ,
201.Sy next68k ,
202.Sy pmax ,
203.Sy sparc ,
204.Sy sparc64 ,
205.Sy sun2 ,
206.Sy sun3 ,
207.Sy vax ,
208.Sy x68k
209.Ed
210.
211.
212.It Fl n
213Do not write to
214.Ar filesystem .
215.
216.It Fl o Ar options
217Machine specific
218.Nm
219options, comma separated.
220.Pp
221Supported options are (with the machines for they are valid in brackets):
222.
223.Bl -tag -offset indent -width alphasum
224.
225.It Sy alphasum
226.Sy [ alpha ]
227Recalculate and restore the Alpha checksum.
228This is the default for
229.Nx Ns Tn /alpha .
230.
231.It Sy append
232.Sy [ alpha ,
233.Sy pmax ,
234.Sy vax ]
235Append
236.Ar primary
237to the end of
238.Ar filesystem ,
239which must be a regular file in this case.
240.
241.It Sy command=\*[Lt]boot command\*[Gt]
242.Sy [ amiga ]
243Modify the default boot command line.
244.
245.It Sy console=\*[Lt]console name\*[Gt]
246.Sy [ amd64 ,
247.Sy i386 ]
248Set the console device, \*[Lt]console name\*[Gt] must be one of:
249pc, com0, com1, com2, com3, com0kbd, com1kbd, com2kbd or com3kbd.
250.
251.It Sy ioaddr=\*[Lt]ioaddr\*[Gt]
252.Sy [ amd64 ,
253.Sy i386 ]
254Set the IO address to be used for the console serial port.
255Defaults to the IO address used by the system BIOS for the specified port.
256.
257.It Sy keymap=\*[Lt]keymap\*[Gt]
258.Sy [ amd64 ,
259.Sy i386 ]
260Set a boot time keyboard translation map.
261Each character in \*[Lt]keymap\*[Gt] will be replaced by the one following it.
262For example, an argument of
263.Dq zyz
264would swap the lowercase letters
265.Sq y
266and
267.Sq z .
268.
269.It Sy password=\*[Lt]password\*[Gt]
270.Sy [ amd64 ,
271.Sy i386 ]
272Set the password which must be entered before the boot menu can be accessed.
273.
274.It Sy resetvideo
275.Sy [ amd64 ,
276.Sy i386 ]
277Reset the video before booting.
278.
279.It Sy speed=\*[Lt]baud rate\*[Gt]
280.Sy [ amd64 ,
281.Sy i386 ]
282Set the baud rate for the serial console.
283If a value of zero is specified, then the current baud rate (set by the
284BIOS) will be used.
285.
286.It Sy sunsum
287.Sy [ alpha ,
288.Sy pmax ,
289.Sy vax ]
290Recalculate and restore the Sun and
291.Nx Ns Tn /sparc
292compatible checksum.
293.Em Note :
294The existing
295.Nx Ns Tn /sparc
296disklabel should use no more than 4 partitions.
297.
298.It Sy timeout=\*[Lt]seconds\*[Gt]
299.Sy [ amd64 ,
300.Sy i386 ]
301Set the timeout before the automatic boot begins to the given number of seconds.
302.El
303.
304.It Fl t Ar fstype
305Use
306.Ar fstype
307as the type of
308.Ar filesystem .
309The default operation is to attempt to auto-detect this setting.
310The following file system types are currently supported by
311.Nm :
312.
313.Bl -tag -offset indent -width raid
314.
315.It Sy ffs
316.Bx
317Fast File System.
318.
319.It Sy raid
320Mirrored RAIDframe File System.
321.
322.It Sy raw
323.Sq Raw
324image.
325Note: if a platform needs to hard-code the block offset of the secondary
326bootstrap, it cannot be searched for on this file system type, and must
327be provided with
328.Fl B Ar s2bno .
329.El
330.
331.It Fl v
332Verbose operation.
333.
334.It Ar filesystem
335The path name of the device or file system image that
336.Nm
337is to operate on.
338It is not necessary for
339.Ar filesystem
340to be a currently mounted file system.
341.
342.It Ar primary
343The path name of the
344.Dq primary
345boot block to install.
346.
347.It Ar secondary
348The path name of the
349.Dq secondary
350boot block,
351relative to the top of
352.Ar filesystem .
353Most systems require
354.Ar secondary
355to be in the
356.Dq root
357directory of the file system, so the leading
358.Dq Pa /
359is not necessary on
360.Ar secondary .
361.Pp
362Only certain combinations of
363platform
364.Pq Fl m Ar machine
365and file system type
366.Pq Fl t Ar fstype
367require that the name of the secondary bootstrap is
368supplied as
369.Ar secondary ,
370so that information such as the disk block numbers occupied
371by the secondary bootstrap can be stored in the primary bootstrap.
372These are:
373.Bl -column "Platform" "File systems" -offset indent
374.It Sy "Platform" Ta Sy "File systems"
375.It macppc Ta ffs, raw
376.It news68k Ta ffs, raw
377.It newsmips Ta ffs, raw
378.It sparc Ta ffs, raid, raw
379.It sun2 Ta ffs, raw
380.It sun3 Ta ffs, raw
381.El
382.El
383.Pp
384.Nm
385exits 0 on success, and \*[Gt]0 if an error occurs.
386.
387.Sh ENVIRONMENT
388.Nm
389uses the following environment variables:
390.
391.Bl -tag -width "MACHINE"
392.
393.It Ev MACHINE
394Default value for
395.Ar machine ,
396overriding the result from
397.Xr uname 3 .
398.
399.El
400.
401.Sh FILES
402Most
403.Nx
404ports will contain variations of the following files:
405.Pp
406.Bl -tag -width /usr/mdec/bootxx_ustarfs
407.
408.It Pa /usr/mdec/bootxx_ Ns Sy FSTYPE
409Primary bootstrap for file system type
410.Sy FSTYPE .
411Installed into the bootstrap area of the file system by
412.Nm .
413.
414.It Pa /usr/mdec/bootxx_ffsv1
415Primary bootstrap for
416.Sy FFSv1
417file systems
418(the "traditional"
419.Nx
420file system).
421.
422.It Pa /usr/mdec/bootxx_ffsv2
423Primary bootstrap for
424.Sy FFSv2
425file systems.
426.
427.It Pa /usr/mdec/bootxx_lfsv1
428Primary bootstrap for
429.Sy LFSv1
430file systems.
431.
432.It Pa /usr/mdec/bootxx_lfsv2
433Primary bootstrap for
434.Sy LFSv2
435file systems
436(the default LFS version).
437.
438.It Pa /usr/mdec/bootxx_msdos
439Primary bootstrap for
440.Tn MS-DOS
441.Sy FAT
442file systems.
443.
444.It Pa /usr/mdec/bootxx_ustarfs
445Primary bootstrap for
446.Sy TARFS
447boot images.
448This is used by various install media.
449.
450.It Pa /usr/mdec/boot. Ns Sy MACHINE
451Secondary bootstrap for machine type
452.Sy MACHINE .
453This should be installed into the file system before
454.Nm
455is run.
456.
457.It Pa /usr/mdec/boot
458Synonym for
459.Pa /usr/mdec/boot. Ns Sy MACHINE
460.
461.It Pa /boot. Ns Sy MACHINE
462Installed copy of secondary bootstrap for machine type
463.Sy MACHINE .
464.
465.It Pa /boot
466Installed copy of secondary bootstrap.
467Searched for by the primary bootstrap if
468.Pa /boot. Ns Sy MACHINE
469is not found.
470.
471.El
472.
473.Ss Nx Ns Tn /next68k files
474.
475.Bl -tag -width /usr/mdec/bootxx_ustarfs
476.
477.It Pa /usr/mdec/boot
478.Nx Ns Tn /next68k
479bootstrap.
480.
481.El
482.
483.Ss Nx Ns Tn /sparc64 files
484.
485.Bl -tag -width /usr/mdec/bootxx_ustarfs
486.
487.It Pa /usr/mdec/bootblk
488.Nx Ns Tn /sparc64
489primary bootstrap.
490.
491.It Pa /usr/mdec/ofwboot
492.Nx Ns Tn /sparc64
493secondary bootstrap.
494.
495.It Pa /ofwboot
496Installed copy of
497.Nx Ns Tn /sparc64
498secondary bootstrap.
499.
500.El
501.
502.Sh EXAMPLES
503.
504.Ss common
505Verbosely install the Berkeley Fast File System primary bootstrap on to disk
506.Sq sd0 :
507.Dl Ic installboot -v /dev/rsd0c /usr/mdec/bootxx_ffs
508.Pp
509Remove the primary bootstrap from disk
510.Sq sd1 :
511.Dl Ic installboot -c /dev/rsd1c
512.
513.Ss Nx Ns Tn /amiga
514Modify the command line to change the default from "netbsd -ASn2" to
515"netbsd -S":
516.Dl Ic installboot -m amiga -o command="netbsd -S" /dev/rsd0a /usr/mdec/bootxx_ffs
517.
518.Ss Nx Ns Tn /ews4800mips
519Install the System V Boot File System primary bootstrap on to disk
520.Sq sd0 ,
521with the secondary bootstrap
522.Sq Pa /boot
523already present in the SysVBFS partition on the disk:
524.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx_bfs
525.
526.Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
527Install new boot blocks on an existing mounted root file system on
528.Sq wd0 ,
529setting the timeout to five seconds, after copying a new secondary
530bootstrap:
531.Dl Ic cp /usr/mdec/boot /boot
532.Dl Ic installboot -v -o timeout=5 /dev/rwd0a /usr/mdec/bootxx_ffsv1
533.
534.Pp
535Create a bootable CD-ROM with an ISO9660
536file system for a system with a serial console:
537.Dl Ic mkdir cdrom
538.Dl Ic cp sys/arch/i386/compile/mykernel/netbsd cdrom/netbsd
539.Dl Ic cp /usr/mdec/boot cdrom/boot
540.Dl Ic cp /usr/mdec/bootxx_cd9660 bootxx
541.Dl Ic installboot -t raw -o console=com0,speed=19200 bootxx \
542	/usr/mdec/bootxx_cd9660
543.Dl Ic makefs -t cd9660 -o 'bootimage=i386;bootxx,no-emul-boot' boot.iso \
544	cdrom
545.
546.Pp
547Create a bootable floppy disk with an FFSv1
548file system for a small custom kernel (note: bigger kernels needing
549multiple disks are handled with the ustarfs file system):
550.Dl Ic newfs -s 1440k /dev/rfd0a
551.Bd -ragged -offset indent-two -compact
552.Em Note :
553Ignore the warnings that
554.Xr newfs 8
555displays; it can not write a disklabel,
556which is not a problem for a floppy disk.
557.Ed
558.Dl Ic mount /dev/fd0a /mnt
559.Dl Ic cp /usr/mdec/boot /mnt/boot
560.Dl Ic gzip -9 \*[Lt] sys/arch/i386/compile/mykernel/netbsd \*[Gt] /mnt/netbsd.gz
561.Dl Ic umount /mnt
562.Dl Ic installboot -v /dev/rfd0a /usr/mdec/bootxx_ffsv1
563.
564.Pp
565Create a bootable FAT file system on
566.Sq wd1a ,
567which should have the same offset and size as a FAT primary partition
568in the Master Boot Record (MBR):
569.Dl Ic newfs_msdos -r 16 /dev/rwd1a
570.Bd -ragged -offset indent-two -compact
571.Em Notes :
572The
573.Fl r Ar 16
574is to reserve space for the primary bootstrap.
575.Xr newfs_msdos 8
576will display an
577.Dq MBR type
578such as
579.Ql 1 ,
580.Ql 4 ,
581or
582.Ql 6 ;
583the MBR partition type of the appropriate primary partition should be
584changed to this value.
585.Ed
586.Dl Ic mount -t msdos /dev/wd1a /mnt
587.Dl Ic cp /usr/mdec/boot /mnt/boot
588.Dl Ic cp path/to/kernel /mnt/netbsd
589.Dl Ic umount /mnt
590.Dl Ic installboot -t raw /dev/rwd1a /usr/mdec/bootxx_msdos
591.Bd -ragged -offset indent-two -compact
592.Em Note :
593It may be necessary to ensure that there is a valid
594.Nx
595disklabel on
596.Sq wd1
597for the primary bootstrap to function correctly.
598.Ed
599.
600.Ss Nx Ns Tn /next68k
601Install the bootstrap on to disk
602.Sq sd0 :
603.Dl Ic installboot /dev/rsd0c /usr/mdec/boot
604.Pp
605.
606.Ss Nx Ns Tn /pmax
607Install the Berkeley Fast File System primary bootstrap on to disk
608.Sq sd0 :
609.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx_ffs
610.Pp
611.Nx Ns Tn /pmax
612requires that this file system starts at block 0 of the disk.
613.Pp
614Install the ISO 9660 primary bootstrap in the file
615.Pa /tmp/cd-image :
616.Dl Ic installboot -m pmax /tmp/cd-image /usr/mdec/bootxx_cd9660
617.Pp
618Make an ISO 9660 filesystem in the file
619.Pa /tmp/cd-image
620and install the ISO 9660 primary bootstrap in the filesystem, where the
621source directory for the ISO 9660 filesystem contains a kernel, the
622primary bootstrap
623.Pa bootxx_cd9660
624and the secondary bootstrap
625.Pa boot.pmax :
626.Dl Ic mkisofs -o /tmp/cd-image -a -l -v iso-source-dir
627.Dl ...
628.Dl 48 51 iso-source-dir/bootxx_cd9660
629.Dl ...
630.Dl Ic installboot -b `expr 48 \e* 4` /tmp/cd-image /usr/mdec/bootxx_cd9660
631.
632.Ss Nx Ns Tn /sparc
633Install the Berkeley Fast File System primary bootstrap on to disk
634.Sq sd0 ,
635with the secondary bootstrap
636.Sq Pa /boot
637already present:
638.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx /boot
639.
640.Ss Nx Ns Tn /sparc64
641Install the Berkeley Fast File System primary bootstrap on to disk
642.Sq wd0 :
643.Dl Ic installboot /dev/rwd0c /usr/mdec/bootblk
644.Pp
645The secondary
646.Nx Ns Tn /sparc64
647bootstrap is located in
648.Pa /usr/mdec/ofwboot .
649.
650.Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
651Install the Berkeley Fast File System primary bootstrap on to disk
652.Sq sd0 ,
653with the secondary bootstrap
654.Sq Pa /boot
655already present:
656.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx /boot
657.
658.Sh SEE ALSO
659.Xr uname 3 ,
660.Xr boot 8 ,
661.Xr disklabel 8
662.
663.Sh HISTORY
664This implementation of
665.Nm
666appeared in
667.Nx 1.6 .
668.
669.Sh AUTHORS
670The machine independent portion of this implementation of
671.Nm
672was written by Luke Mewburn.
673The following people contributed to the various machine dependent
674back-ends:
675Simon Burge (pmax),
676Chris Demetriou (alpha),
677Matthew Fredette (sun2, sun3),
678Matthew Green (sparc64),
679Ross Harvey (alpha),
680Michael Hitch (amiga),
681Paul Kranenburg (sparc),
682David Laight (i386),
683Christian Limpach (next68k),
684Luke Mewburn (macppc),
685Matt Thomas (vax),
686Izumi Tsutsui (news68k, newsmips),
687and
688UCHIYAMA Yasushi (ews4800mips).
689.
690.Sh BUGS
691There are not currently primary bootstraps to support all file systems
692types which are capable of being the root file system.
693.Pp
694If a disk has been converted from
695.Sy FFS
696to
697.Sy RAID
698without the contents of the disk erased, then the original
699.Sy FFS
700installation may be auto-detected instead of the
701.Sy RAID
702installation.  In this case, the
703.Fl t Ar raid
704option must be provided.
705.
706.Ss Nx Ns Tn /alpha
707The
708.Nx Ns Tn /alpha
709primary bootstrap program can only load the secondary bootstrap program
710from file systems starting at the beginning (block 0) of disks.
711Similarly, the secondary bootstrap program can only load kernels from
712file systems starting at the beginning of disks.
713.Pp
714The size of primary bootstrap programs is restricted to 7.5KB, even
715though some file systems (e.g., ISO 9660) are able to accommodate larger
716ones.
717.
718.Ss Nx Ns Tn /hp300
719The disk must have a boot partition large enough to hold the bootstrap code.
720Currently the primary bootstrap must be a LIF format file.
721.
722.Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
723The bootstrap must be installed in the
724.Nx
725partition that starts at the beginning of the mbr partition.
726If that is a valid filesystem and contains the
727.Pa /boot
728program then it will be used as the root filesystem, otherwise the
729.Sq a
730partition will be booted.
731.Pp
732The size of primary bootstrap programs is restricted to 8KB, even
733though some file systems (e.g., ISO 9660) are able to accommodate larger
734ones.
735.
736.Ss Nx Ns Tn /next68k
737The size of bootstrap programs is restricted to the free space before
738the file system at the beginning of the disk minus 8KB.
739.
740.Ss Nx Ns Tn /pmax
741The
742.Nx Ns Tn /pmax
743secondary bootstrap program can only load kernels from file
744systems starting at the beginning of disks.
745.Pp
746The size of primary bootstrap programs is restricted to 7.5KB, even
747though some file systems (e.g., ISO 9660) are able to accommodate larger
748ones.
749.
750.Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
751The
752.Nx Ns Tn /sun2
753and
754.Nx Ns Tn /sun3
755secondary bootstrap program can only load kernels from file
756systems starting at the beginning of disks.
757.
758.Ss Nx Ns Tn /vax
759The
760.Nx Ns Tn /vax
761secondary bootstrap program can only load kernels from file systems
762starting at the beginning of disks.
763.Pp
764The size of primary bootstrap programs is restricted to 7.5KB, even
765though some file systems (e.g., ISO 9660) are able to accommodate larger
766ones.
767