BLESS(8)

NAME
bless - set volume bootability and startup disk options

SYNOPSIS
bless -help

bless -folder directory [-folder9 directory] [-mount directory] [-bootinfo file] [-bootBlocks | -bootBlockFile file] [-save9] [-saveX] [-use9] [-system file] [-systemfile file] [-label name | -labelfile file] [-openfolder directory] [-setBoot] [-quiet | -verbose]

bless -device device [ -format [fstype] [-fsargs args] [-label name | -labelfile file]] [-bootBlockFile file] [-mount directory] [-wrapper file] [-startupfile file] [-system file] [-setBoot] [-quiet | -verbose]

bless -info [directory] [-getBoot] [-bootBlocks] [-plist] [-quiet | -verbose] [-version]

DESCRIPTION
bless is used to set volume bootability characteristics for PowerPC-based Macintoshes. It can also modify Open Firmware to select a different device to boot off of. bless has 3 modes of execution: Folder Mode, Device Mode, and Info Mode. Folder Mode allows you to select a folder on a mounted volume to act as the “blessed” system folder, and optionally update Open Firmware to boot from that volume. Device Mode is normally only used to format and setup a volume for the first time. Info Mode will print out the currently-blessed folder(s) of a volume, or if no mountpoint is specified, the volume that OF is set to boot from.

Additionally, -help can be used to display the command-line usage summary.

  FOLDER MODE
Folder Mode has the following options:
-folder directory
    A blessed Mac OS X/Darwin system folder, containing a BootX secondary loader for New World machines.
-folder9 directory
    A Mac OS 9/Classic system folder. If both -folder and -folder9 are given, preference can be given to boot into Mac OS 9 by also using the -use9 flag.
-mount directory
    In lieu of specifying folders to bless, -mount can be given, and the pre-existing blessed folders are used.
-bootinfo file
    Create a BootX file in the Mac OS X/Darwin system folder using file as a source.
-bootBlocks
    Set the boot blocks on the volume. This is required for booting Mac OS 9. Boot blocks can be retrieved from the System file in the blessed Mac OS 9 system folder, or can be specified more directly using the -bootBlockFile or -system flags.
-bootBlockFile file
    Extract boot blocks from file . The first 1024 bytes are read from the data fork of that file.
-save9
    Used if no -folder9 flag was given, but if the pre-existing Mac OS 9 system folder should be preserved.
-saveX
    Used if no -folder flag was given, but if the pre-existing Mac OS X/Darwin system folder should be preserved.
-use9
    Used if both -folder and -folder9 were given, but Mac OS 9 should be the default for the volume.
-system file
    Extract boot blocks from the file System file, using the Carbon resource manager. This will fail under Darwin, where Carbon is not present.
-systemfile file
    Data fork System file to place in blessed System Folder
-label name
    Render a text label used in the OpenFirmware-based OS picker
-labelfile file
    Use a pre-rendered label used for the OpenFirmware-based OS picker
-openfolder directory
    Specify a folder to be opened in the Finder when the volume is attached
-setBoot
    Set the system to boot off the specified partition. This is implemented in a platform-specific manner. On Darwin PPC, the Open Firmware boot-device variable is modified. On Darwin x86, the MBR partition map is adjusted to mark the specified partition as active
-setOF
    Set the boot-device Open Firmware variable to boot off the volume containing. This option is deprecated in favor of the more generic -setBoot option.
-quiet
    Do not print any output
-verbose
    Print verbose output

  DEVICE MODE
Device Mode has the following options:
-device device
    Open the block device device . No volumes should be mounted from device .
-format [fstype]
    Format the device using the fstype filesystem, or if it is not given, default to HFS+ with an HFS wrapper.
-fsargs arg
    Additional arguments to newfs for the given filesystem
-label name
    Give the filesystem the label while formatting, or set an OF-cased OS picker label
-labelfile file
    Use a pre-rendered label used for the OpenFirmware-based OS picker name (in UTF-8 encoding)
-bootBlockFile file
    Extract boot blocks from file . The first 1024 bytes are read from the data fork of that file.
-mount directory
    Use directory as a temporary mount point for the HFS wrapper.
-wrapper file
    Mount the wrapper on -mount and write file into the wrapper as the default System file.
-system file
    Override the file specifications for -bootBlockFile and -wrapper and use this file instead for both those functions.
-xcoff file
    Add the file as the HFS+ StartupFile, and update the partition map to reflect it's location on disk. This is necessary for Old World booting. This option is deprecated in favor of the more generic -startupfile option
-setBoot
    Set the system to boot off the specified partition. This is implemented in a platform-specific manner. On Darwin PPC, the Open Firmware boot-device variable is modified. On Darwin x86, the MBR partition map is adjusted to mark the specified partition as active
-setOF
    Set the boot-device Open Firmware variable to boot off the volume containing. This option is deprecated in favor of the more generic -setBoot option.
-startupfile file
    Add the file as the HFS+ StartupFile, and update other information on disk as appropriate for the startup file type.
-quiet
    Do not print any output
-verbose
    Print verbose output

  INFO MODE
Info Mode has the following options:
-info [directory]
    Print out the blessed system folder for directory . If directory is not specified, print information for the current boot-device (which may not necessarily be ‘ / ’ .
-setBoot
    Print out which device will be used on next boot, according to the boot-device Open Firmware variable. This option will take into account that OF might be pointing to an auxiliary booter partition, and will print out the corresponding root partition for those cases.
-bootBlocks
    Print out salient fields from the boot blocks of the volume.
-plist
    Output all information in Property List (.plist) format, suitable for parsing by CoreFoundation. This is most useful when bless is executed from another program and its standard output must be parsed.
-quiet
    Do not print any output
-verbose
    Print verbose output
-version
    Print bless version and exit immediately

FILES
/usr/standalone/ppc/bootx.bootinfo
    Secondary loader with XML headers, used with -bootinfo flag. Used for booting New World PPC-based Macintoshes
/System/Library/CoreServices
    Typical blessed folder for Mac OS X and Darwin

EXAMPLES

  FOLDER MODE
To bless a volume with only Mac OS 9:

bless -folder9 "/Volumes/Mac OS 9/System Folder" -bootBlockFile "/usr/share/misc/bootblockdata"

To bless a volume with only Mac OS X or Darwin, and create the BootX file:

bless -folder "/Volumes/Mac OS X/System/Library/CoreServices" -bootinfo "/Volumes/Mac OS X/usr/standalone/ppc/bootx.bootinfo"

To set a volume containing either Mac OS 9 and Mac OS X to be the active volume:

bless -mount "/Volumes/Mac OS" -setBoot

  INFO MODE
To gather information about the currently selected volume (as determined by Open Firmware), suitable for piping to a program capable of parsing Property Lists:

bless -info -plist -bootBlocks

SEE ALSO
mount(8), newfs(8), nvram(8)