mkefiboot: Copy Mac bootloader, rather than linking it
The Mac firmware needs special-casing for hardlinked bootloaders, and it's kind of awkward to handle that in python. Just copy them for now instead.
This commit is contained in:
parent
613822a228
commit
afa6fa41cc
@ -147,6 +147,8 @@ def estimate_size(rootdir, graft={}, fstype=None, blocksize=4096, overhead=128):
|
|||||||
getsize = lambda f: os.lstat(f).st_size
|
getsize = lambda f: os.lstat(f).st_size
|
||||||
if fstype == "btrfs":
|
if fstype == "btrfs":
|
||||||
overhead = 64*1024 # don't worry, it's all sparse
|
overhead = 64*1024 # don't worry, it's all sparse
|
||||||
|
if fstype == "hfsplus":
|
||||||
|
overhead = 200 # hack to deal with two bootloader copies
|
||||||
if fstype in ("vfat", "msdos"):
|
if fstype in ("vfat", "msdos"):
|
||||||
blocksize = 2048
|
blocksize = 2048
|
||||||
getsize = lambda f: os.stat(f).st_size # no symlinks, count as copies
|
getsize = lambda f: os.stat(f).st_size # no symlinks, count as copies
|
||||||
|
@ -70,8 +70,8 @@ def macmunge(imgfile, product):
|
|||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
''' % (product,))
|
''' % (product,))
|
||||||
os.link(loader, os.path.join(sysdir,'boot.efi'))
|
shutil.copy(loader, os.path.join(sysdir,'boot.efi'))
|
||||||
os.link(config, os.path.join(sysdir,'boot.conf'))
|
shutil.copy(config, os.path.join(sysdir,'boot.conf'))
|
||||||
# format data properly (big-endian UInt32)
|
# format data properly (big-endian UInt32)
|
||||||
nodedata = struct.pack(">i", blessnode)
|
nodedata = struct.pack(">i", blessnode)
|
||||||
dirdata = struct.pack(">i", dirnode)
|
dirdata = struct.pack(">i", dirnode)
|
||||||
|
Loading…
Reference in New Issue
Block a user