Home OS X
OS X Syntax

bless

Set volume bootability and startup disk options.
bless is used to set volume bootability characteristics for PPC-based Macs. It can also modify Open Firmware to select a different boot device.
bless has 3 modes of execution: Folder Mode, Device Mode, and Info Mode.

SYNTAX

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

     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 -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 -help
	 
FOLDER MODE 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 pre-
			    served.
     -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 Open-
			    Firmware-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 parti-
			    tion. 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 depre-
			    cated in favor of the more generic -setBoot
			    option.
     -quiet		    Do not print any output
     -verbose		    Print verbose output

DEVICE MODE 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 Open-
			    Firmware-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 parti-
			    tion. 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 depre-
			    cated 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 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 neces-
			    sarily be `/' .
     -setBoot		    Print out which device will be used on next boot,
			    according to the boot-device Open Firmware vari-
			    able. This option will take into account that OF
			    might be pointing to an auxiliary booter parti-
			    tion, 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

  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 mount-point is specified, the volume that OF is set to boot from. Files
/usr/standalone/ppc/bootx.bootinfo Secondary loader with XML headers, used with -bootinfo flag. Used for booting New World PPC-based Macs /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 Examples - 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
"If everything seems under control, then you're not going fast enough" - Mario Andretti

Related commands:

diskutil - Disk utilities - Format, Verify, Repair
mount - Mount a file system
newfs(8)
nvram(8)

Equivalent BASH command:

cal
- Display a calendar.



Back to the Top

Simon Sheppard
SS64.com