• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Correct way to bless a volume?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Correct way to bless a volume?


  • Subject: Correct way to bless a volume?
  • From: James Bucanek <email@hidden>
  • Date: Thu, 28 Feb 2013 23:46:08 -0700

Greetings,

Short question: After copying all of the system files to a volume, what's the recommended method of blessing it?

What I'm trying to do, and what I can't figure out:

I'm trying to resolve an issue with my backup software. When my application restores a system volume, everything is good except that the volume name doesn't always appear in the firmware picker.

Running the 'bless -bootefi' command seemed to fix this, at least for my test volume, but I'm looking for a general solution.

I've tried working through the source for bless, but couldn't tease the magic incantation from the source. (I wanted to build it and step through the code, but I couldn't because I can't find all of the headers the project depends on.)

Poking around the source, it would appear that -bootefi just writes the file at /usr/standalone/i386/boot.efi. My restore process already writes this file, so I don't think that's what's missing.

Further searching in the code I found functions like BLSetDiskLabelForDevice() and BLSetOFLabelForDevice(), the comments for which would indicate that they set the disk label that appears in the firmware volume picker. These functions, however, don't seem to called from anywhere, and they both appear to call a function named BLUpdateBooter() to do their work, and the only version of BLUpdateBooter() I can find is this one:

int BLUpdateBooter(BLContextPtr context, const char * device,
                   BLUpdateBooterFileSpec *specs,
                   int32_t specCount)
{
    return 1;
}

Clearly, that function isn't doing anything useful.

Which really just brings me back to square one: After copying all of the system files to a volume, what's the recommended method of blessing it?

James
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Index(es):
    • Date
    • Thread