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

[PATCH] 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.
---
 booty/bootloaderInfo.py |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/booty/bootloaderInfo.py b/booty/bootloaderInfo.py
index ff5420a..97a5576 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
 
-- 
1.6.1.3


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