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