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