diff options
author | Chris Lumens <clumens@redhat.com> | 2009-05-12 15:46:53 -0400 |
---|---|---|
committer | Chris Lumens <clumens@redhat.com> | 2009-05-13 16:08:37 -0400 |
commit | 63d15e698940a3d3756b0bade0654e7467a94cbe (patch) | |
tree | 94788feccbdcbf9cb9a0f86b61ac688f92aa1773 /booty | |
parent | 586787dddd646f51ba17a591e31e5811f470325e (diff) | |
download | anaconda-63d15e698940a3d3756b0bade0654e7467a94cbe.tar.gz anaconda-63d15e698940a3d3756b0bade0654e7467a94cbe.tar.xz anaconda-63d15e698940a3d3756b0bade0654e7467a94cbe.zip |
Add a Mac OS boot line to yaboot.conf (#499964).
The problem is that a Mac filesystem is HFS+, but is not marked bootable.
The Apple Bootstrap partition is marked bootable. Therefore we take the
stupid test and say if there's a bootable Apple Bootstrap partition on a
disk and there's an HFS partition, mark that as the Mac OS partition for
the bootloader config. This is about as stupid as what we're doing for
DOS filesystems now and is easily screwed up, but it's better than
nothing.
Diffstat (limited to 'booty')
-rw-r--r-- | booty/bootloaderInfo.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/booty/bootloaderInfo.py b/booty/bootloaderInfo.py index ff5420a11..97a5576e9 100644 --- a/booty/bootloaderInfo.py +++ b/booty/bootloaderInfo.py @@ -204,6 +204,7 @@ class BootImages: import parted retval = [] foundDos = False + foundAppleBootstrap = False for part in [p for p in storage.partitions if p.exists]: # Skip extended, metadata, freespace, etc. @@ -224,9 +225,11 @@ class BootImages: # maybe questionable, but the first ntfs or fat is likely to # be the correct one to boot with XP using ntfs foundDos = True - elif type in ["hfs", "hfs+"] and rhpl.getPPCMachine() == "PMac": - if part.bootable: - retval.append((part, type)) + elif type == "appleboot" and rhpl.getPPCMachine() == "PMac" and part.bootable: + foundAppleBootstrap = True + elif type in ["hfs", "hfs+"] and foundAppleBootstrap: + # questionable for same reason as above, but on mac this time + retval.append((part, type)) rootDevice = storage.fsset.rootDevice |