[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: BootX documentation



On 4/16/21 2:47 PM, David VANTYGHEM wrote:
> Perhaps any interesting things in this file ?
> 
> https://opensource.apple.com/source/bless/bless-37/README.BOOTING

It does answer some questions, namely about blessing, the tbxi attribute and
the number of backslahes in the OpenFirmware path to be set as boot-device
in NVRAM.

Quoting:

> New World machines (with OF 3.0+) support HFS+, ISO9660, and FAT. When
> Mac OS X is installed on an HFS+ volume, BootX is typically placed
> in the /System/Library/CoreServices directory, and given the HFS+
> type attribute of 'tbxi'. Furthermore, the CoreServices folder is
> "blessed", which means that it's directory ID (analogous to an inum
> in FFS terminology) is recorded, in the HFS+ volume header.

So, it may or may not be necessary to add the tbxi attribute, depending
on whether one wants to be able to boot the bootloader using the "tbxi"
name.

> The next two components of
> boot-device are used to located the BootX secondary loader. The first
> ("\\") is a special syntax denoting the blessed system folder
> mentioned above. 

So, what grub-install does here is actually correct, i.e. setting the
path to &device;:&partition;,\\BootX, as "\\" sets the search path to
the blessed folder.

And further:

> Because a
> directory (and not a file) was specified, ":tbxi" is used to filter
> entries that have the HFS+ type of 'tbxi'. If multiple files in the
> directory have the same HFS+ type, the first one (in directory order)
> is used, which is somewhat non-deterministic from the operating system
> point of view, and is not necessarily the alphabetically first entry.

and:

> Also, we could
> have avoided the filter mechanism and specified the path to BootX
> directly. The following forms are all equivalent, and would occur
> after the last comma in boot-device variable (assuming the path itself
> doesn't have commas itself):
> 
> \\:tbxi
> \\BootX
> \System\Library\CoreServices\:tbxi
> \System\Library\CoreServices\BootX

So, the bootloader installed that way with grub-install should actually
work. My only guess - and that needs to be verified - is that the path
set in OpenFirmware is not correct.

On the other hand, I wonder whether the "tbxi" attribute is actually
necessary for a boot entry to show up in the <<Option>> key menu which
is what we actually want.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


Reply to: