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