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