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