summaryrefslogtreecommitdiffstats
path: root/booty
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2009-05-12 15:46:53 -0400
committerChris Lumens <clumens@redhat.com>2009-05-13 16:08:37 -0400
commit63d15e698940a3d3756b0bade0654e7467a94cbe (patch)
tree94788feccbdcbf9cb9a0f86b61ac688f92aa1773 /booty
parent586787dddd646f51ba17a591e31e5811f470325e (diff)
downloadanaconda-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.py9
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