Print this page
2056 update boot(1m) for right location of the GRUB menu
   1 '\" te
   2 .\" Copyright 2015 Nexenta Systems Inc.
   3 .\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved
   4 .\" Copyright 1989 AT&T
   5 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
   6 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
   7 .\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   8 .TH BOOT 1M "Jan 14, 2015"
   9 .SH NAME
  10 boot \- start the system kernel or a standalone program
  11 .SH SYNOPSIS
  12 .SS "SPARC"
  13 .LP
  14 .nf
  15 \fBboot\fR [\fIOBP\fR \fInames\fR] [\fIfile\fR] [\fB-aLV\fR] [\fB-F\fR \fIobject\fR] [\fB-D\fR \fIdefault-file\fR]
  16      [\fB-Z\fR \fIdataset\fR] [\fIboot-flags\fR] [\fB\(mi\(mi\fR] [\fIclient-program-args\fR]
  17 .fi
  18 
  19 .SS "x86"
  20 .LP
  21 .nf
  22 \fBkernel$\fR \fB/platform/i86pc/kernel/$ISADIR/unix\fR [\fIboot-args\fR]
  23      [\fB-B\fR \fIprop\fR=\fIval\fR [,\fIval\fR...]]
  24 .fi
  25 
  26 .SH DESCRIPTION
  27 .LP
  28 Bootstrapping is the process of loading and executing a standalone program. For


1247 .ad
1248 .sp .6
1249 .RS 4n
1250 Name of the kernel to boot. When using the \fBkernel$\fR token, \fB$ISADIR\fR
1251 expands to \fBamd64\fR on 64-bit machines, and a null string on other machines.
1252 As a result of this dereferencing, this path expands to the proper kernel for
1253 the machine.
1254 .RE
1255 
1256 .SH X86 BOOT SEQUENCE DETAILS
1257 .LP
1258 After a PC-compatible machine is turned on, the system firmware in the \fBBIOS
1259 ROM\fR executes a power-on self test (POST), runs \fBBIOS\fR extensions in
1260 peripheral board \fBROMs,\fR and invokes software interrupt INT 19h, Bootstrap.
1261 The INT 19h handler typically performs the standard PC-compatible boot, which
1262 consists of trying to read the first physical sector from the first diskette
1263 drive, or, if that fails, from the first hard disk. The processor then jumps to
1264 the first byte of the sector image in memory.
1265 .SH X86 PRIMARY BOOT
1266 .LP
1267 The first sector on a floppy disk contains the master boot block (GRUB
1268 \fBstage1\fR). The stage 1 is responsible for loading GRUB \fBstage2\fR. Now
1269 GRUB is fully functional. It reads and executes the menu file
1270 \fB/boot/grub/menu.lst\fR. A similar sequence occurs for DVD or CD boot, but
1271 the master boot block location and contents are dictated by the El Torito
1272 specification. The El Torito boot also leads to \fBstrap.com\fR, which in turn
1273 loads \fBboot.bin\fR.
1274 .sp
1275 .LP
1276 The first sector on a hard disk contains the master boot block, which contains
1277 the master boot program and the \fBFDISK\fR table, named for the \fBPC\fR
1278 program that maintains it. The master boot finds the active partition in the
1279 \fBFDISK\fR table, loads its first sector (GRUB \fBstage1\fR), and jumps to its
1280 first byte in memory. This completes the standard PC-compatible hard disk boot
1281 sequence. If GRUB \fBstage1\fR is installed on the master boot block (see the
1282 \fB-m\fR option of \fBinstallgrub\fR(1M)), then \fBstage2\fR is loaded directly
1283 from the Solaris partition regardless of the active partition.
1284 .sp
1285 .LP









1286 An x86 \fBFDISK\fR partition for the Solaris software begins with a
1287 one-cylinder boot slice, which contains GRUB \fBstage1\fR in the first sector,
1288 the standard Solaris disk label and volume table of contents (VTOC) in the
1289 second and third sectors, and GRUB \fBstage2\fR in the fiftieth and subsequent
1290 sectors. The area from sector 4 to 49 might contain boot blocks for older
1291 versions of Solaris. This makes it possible for multiple Solaris releases on
1292 the same FDISK to coexist. When the \fBFDISK\fR partition for the Solaris
1293 software is the active partition, the master boot program (\fBmboot\fR) reads
1294 the partition boot program in the first sector into memory and jumps to it. It
1295 in turn reads GRUB \fBstage2\fR program into memory and jumps to it. Once the
1296 GRUB menu is displayed, the user can choose to boot an operating system on a
1297 different partition, a different disk, or possibly from the network.
1298 .sp
1299 .LP
1300 The behavior is slightly different when a disk is using \fBEFI\fR
1301 partitioning. In that case the GRUB \fBstage1\fR is always installed
1302 in the first sector of the disk, and it always loads \fBstage2\fR from
1303 the partition specified at GRUB installation time. This only works on
1304 partitions containing a ZFS root pool.
1305 .sp


1462 .in +2
1463 .nf
1464 kernel /platform/i86pc/kernel/amd64/unix -as
1465 .fi
1466 .in -2
1467 .sp
1468 
1469 .LP
1470 \fBExample 6 \fRSwitching Between 32-bit and 64-bit Kernels on 64-bit x86
1471 Platform
1472 .sp
1473 .LP
1474 To be able to boot both 32-bit and 64-bit kernels, add entries for both kernels
1475 to \fB/boot/grub/menu.lst\fR, and use the \fBset-menu\fR subcommand of
1476 \fBbootadm\fR(1M) to switch. See \fBbootadm\fR(1M) for an example of the
1477 \fBbootadm set-menu\fR.
1478 
1479 .SH FILES
1480 .ne 2
1481 .na
1482 \fB\fB/platform/\fR\fIplatform-name\fR\fB/ufsboot\fR\fR
1483 .ad
1484 .sp .6
1485 .RS 4n
1486 Second-level program to boot from a disk, DVD, or CD
1487 .RE
1488 
1489 .sp
1490 .ne 2
1491 .na
1492 \fB\fB/etc/inittab\fR\fR
1493 .ad
1494 .sp .6
1495 .RS 4n
1496 Table in which the \fBinitdefault\fR state is specified
1497 .RE
1498 
1499 .sp
1500 .ne 2
1501 .na
1502 \fB\fB/sbin/init\fR\fR
1503 .ad
1504 .sp .6
1505 .RS 4n
1506 Program that brings the system to the \fBinitdefault\fR state
1507 .RE
1508 
1509 .SS "64-bit SPARC Only"
1510 .ne 2
1511 .na
1512 \fB\fB/platform/\fR\fIplatform-name\fR\fB/kernel/sparcv9/unix\fR\fR
1513 .ad
1514 .sp .6
1515 .RS 4n
1516 Default program to boot system.
1517 .RE
1518 
1519 .SS "x86 Only"
1520 .ne 2
1521 .na
1522 \fB\fB/boot\fR\fR
1523 .ad
1524 .sp .6
1525 .RS 4n
1526 Directory containing boot-related files.
1527 .RE
1528 
1529 .sp
1530 .ne 2
1531 .na
1532 \fB\fB/boot/grub/menu.lst\fR\fR
1533 .ad
1534 .sp .6
1535 .RS 4n
1536 Menu of bootable operating systems displayed by GRUB.





1537 .RE
1538 
1539 .sp
1540 .ne 2
1541 .na
1542 \fB\fB/platform/i86pc/kernel/unix\fR\fR
1543 .ad
1544 .sp .6
1545 .RS 4n
1546 32-bit kernel.
1547 .RE
1548 
1549 .SS "64-bit x86 Only"
1550 .ne 2
1551 .na
1552 \fB\fB/platform/i86pc/kernel/amd64/unix\fR\fR
1553 .ad
1554 .sp .6
1555 .RS 4n
1556 64-bit kernel.


   1 '\" te
   2 .\" Copyright 2015 Nexenta Systems Inc.
   3 .\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved
   4 .\" Copyright 1989 AT&T
   5 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
   6 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
   7 .\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   8 .TH BOOT 1M "Jun 7, 2015"
   9 .SH NAME
  10 boot \- start the system kernel or a standalone program
  11 .SH SYNOPSIS
  12 .SS "SPARC"
  13 .LP
  14 .nf
  15 \fBboot\fR [\fIOBP\fR \fInames\fR] [\fIfile\fR] [\fB-aLV\fR] [\fB-F\fR \fIobject\fR] [\fB-D\fR \fIdefault-file\fR]
  16      [\fB-Z\fR \fIdataset\fR] [\fIboot-flags\fR] [\fB\(mi\(mi\fR] [\fIclient-program-args\fR]
  17 .fi
  18 
  19 .SS "x86"
  20 .LP
  21 .nf
  22 \fBkernel$\fR \fB/platform/i86pc/kernel/$ISADIR/unix\fR [\fIboot-args\fR]
  23      [\fB-B\fR \fIprop\fR=\fIval\fR [,\fIval\fR...]]
  24 .fi
  25 
  26 .SH DESCRIPTION
  27 .LP
  28 Bootstrapping is the process of loading and executing a standalone program. For


1247 .ad
1248 .sp .6
1249 .RS 4n
1250 Name of the kernel to boot. When using the \fBkernel$\fR token, \fB$ISADIR\fR
1251 expands to \fBamd64\fR on 64-bit machines, and a null string on other machines.
1252 As a result of this dereferencing, this path expands to the proper kernel for
1253 the machine.
1254 .RE
1255 
1256 .SH X86 BOOT SEQUENCE DETAILS
1257 .LP
1258 After a PC-compatible machine is turned on, the system firmware in the \fBBIOS
1259 ROM\fR executes a power-on self test (POST), runs \fBBIOS\fR extensions in
1260 peripheral board \fBROMs,\fR and invokes software interrupt INT 19h, Bootstrap.
1261 The INT 19h handler typically performs the standard PC-compatible boot, which
1262 consists of trying to read the first physical sector from the first diskette
1263 drive, or, if that fails, from the first hard disk. The processor then jumps to
1264 the first byte of the sector image in memory.
1265 .SH X86 PRIMARY BOOT
1266 .LP









1267 The first sector on a hard disk contains the master boot block, which contains
1268 the master boot program and the \fBFDISK\fR table, named for the \fBPC\fR
1269 program that maintains it. The master boot finds the active partition in the
1270 \fBFDISK\fR table, loads its first sector (GRUB \fBstage1\fR), and jumps to its
1271 first byte in memory. This completes the standard PC-compatible hard disk boot
1272 sequence. If GRUB \fBstage1\fR is installed on the master boot block (see the
1273 \fB-m\fR option of \fBinstallgrub\fR(1M)), then \fBstage2\fR is loaded directly
1274 from the Solaris partition regardless of the active partition.
1275 .sp
1276 .LP
1277 A similar sequence occurs for DVD or CD boot, but the master boot block location
1278 and contents are dictated by the El Torito specification. The El Torito boot
1279 will then continue in the same way as with the hard disk.
1280 .sp
1281 .LP
1282 Floppy booting is not longer supported. Booting from USB devices follows the
1283 same procedure as with hard disks.
1284 .sp
1285 .LP
1286 An x86 \fBFDISK\fR partition for the Solaris software begins with a
1287 one-cylinder boot slice, which contains GRUB \fBstage1\fR in the first sector,
1288 the standard Solaris disk label and volume table of contents (VTOC) in the
1289 second and third sectors, and GRUB \fBstage2\fR in the fiftieth and subsequent
1290 sectors. The area from sector 4 to 49 might contain boot blocks for older
1291 versions of Solaris. This makes it possible for multiple Solaris releases on
1292 the same FDISK to coexist. When the \fBFDISK\fR partition for the Solaris
1293 software is the active partition, the master boot program (\fBmboot\fR) reads
1294 the partition boot program in the first sector into memory and jumps to it. It
1295 in turn reads GRUB \fBstage2\fR program into memory and jumps to it. Once the
1296 GRUB menu is displayed, the user can choose to boot an operating system on a
1297 different partition, a different disk, or possibly from the network.
1298 .sp
1299 .LP
1300 The behavior is slightly different when a disk is using \fBEFI\fR
1301 partitioning. In that case the GRUB \fBstage1\fR is always installed
1302 in the first sector of the disk, and it always loads \fBstage2\fR from
1303 the partition specified at GRUB installation time. This only works on
1304 partitions containing a ZFS root pool.
1305 .sp


1462 .in +2
1463 .nf
1464 kernel /platform/i86pc/kernel/amd64/unix -as
1465 .fi
1466 .in -2
1467 .sp
1468 
1469 .LP
1470 \fBExample 6 \fRSwitching Between 32-bit and 64-bit Kernels on 64-bit x86
1471 Platform
1472 .sp
1473 .LP
1474 To be able to boot both 32-bit and 64-bit kernels, add entries for both kernels
1475 to \fB/boot/grub/menu.lst\fR, and use the \fBset-menu\fR subcommand of
1476 \fBbootadm\fR(1M) to switch. See \fBbootadm\fR(1M) for an example of the
1477 \fBbootadm set-menu\fR.
1478 
1479 .SH FILES
1480 .ne 2
1481 .na










1482 \fB\fB/etc/inittab\fR\fR
1483 .ad
1484 .sp .6
1485 .RS 4n
1486 Table in which the \fBinitdefault\fR state is specified
1487 .RE
1488 
1489 .sp
1490 .ne 2
1491 .na
1492 \fB\fB/sbin/init\fR\fR
1493 .ad
1494 .sp .6
1495 .RS 4n
1496 Program that brings the system to the \fBinitdefault\fR state
1497 .RE
1498 
1499 .SS "64-bit SPARC Only"
1500 .ne 2
1501 .na
1502 \fB\fB/platform/\fR\fIplatform-name\fR\fB/kernel/sparcv9/unix\fR\fR
1503 .ad
1504 .sp .6
1505 .RS 4n
1506 Default program to boot system.
1507 .RE
1508 
1509 .SS "x86 Only"
1510 .ne 2
1511 .na
1512 \fB\fB/boot\fR\fR
1513 .ad
1514 .sp .6
1515 .RS 4n
1516 Directory containing boot-related files.
1517 .RE
1518 
1519 .sp
1520 .ne 2
1521 .na
1522 \fB\fB/rpool/boot/grub/menu.lst\fR\fR
1523 .ad
1524 .sp .6
1525 .RS 4n
1526 Menu of bootable operating systems displayed by GRUB.
1527 .sp
1528 \fBNote:\fR this file is located on the root ZFS pool. While many installs
1529 often name their root zpool 'rpool', this is not required and the
1530 /rpool in the path above should be substituted with the name of
1531 the root pool of your current system.
1532 .RE
1533 
1534 .sp
1535 .ne 2
1536 .na
1537 \fB\fB/platform/i86pc/kernel/unix\fR\fR
1538 .ad
1539 .sp .6
1540 .RS 4n
1541 32-bit kernel.
1542 .RE
1543 
1544 .SS "64-bit x86 Only"
1545 .ne 2
1546 .na
1547 \fB\fB/platform/i86pc/kernel/amd64/unix\fR\fR
1548 .ad
1549 .sp .6
1550 .RS 4n
1551 64-bit kernel.