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.