From 07cda6895fcfd9dc94de76d7d70ac8f855f25c2e Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Thu, 19 May 2005 21:34:02 +0000 Subject: 2005-05-19 Jeremy Katz * fsset.py (prepbootFileSystem.__init__): PReP partitions should be marked bootable, from Dustin Kirkland. * raid.py (availRaidLevels): Allow ppc to have a RAID /boot, from Dustin Kirkland. * partitions.py (Partitions.getBootableRequest): Split PMac/pSeries handling to be different. pSeries can do bootable PReP. Patch from Dustin Kirkland --- ChangeLog | 12 +++++++++++- fsset.py | 3 ++- partitions.py | 27 +++++++++++++++++++++------ raid.py | 2 +- 4 files changed, 35 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5439eb426..f722bf663 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,16 @@ 2005-05-19 Jeremy Katz - * exception.py (handleException): Just exit on the bdbQuit exception + * fsset.py (prepbootFileSystem.__init__): PReP partitions should + be marked bootable, from Dustin Kirkland. + + * raid.py (availRaidLevels): Allow ppc to have a RAID /boot, from + Dustin Kirkland. + + * partitions.py (Partitions.getBootableRequest): Split + PMac/pSeries handling to be different. pSeries can do bootable + PReP. Patch from Dustin Kirkland + + * exception.py (handleException): Just exit on the bdbQuit exception. * textw/bootloader_text.py (BootloaderImagesWindow.__call__): Support deletion of images in text mode (#125358). After FC4 goes diff --git a/fsset.py b/fsset.py index c5b4c13f9..4ef57fe3b 100644 --- a/fsset.py +++ b/fsset.py @@ -852,6 +852,7 @@ class prepbootFileSystem(FileSystemType): def __init__(self): FileSystemType.__init__(self) self.partedFileSystemType = None + self.partedPartitionFlags = [ parted.PARTITION_BOOT ] self.checked = 0 self.name = "PPC PReP Boot" self.maxSizeMB = 10 @@ -1210,7 +1211,7 @@ MAILADDR root f.close() - # return the "boot" devicce + # return the "boot" device def getBootDev(self): mntDict = {} bootDev = None diff --git a/partitions.py b/partitions.py index 12649e44c..3bc795955 100644 --- a/partitions.py +++ b/partitions.py @@ -6,7 +6,7 @@ # Mike Fulbright # Harald Hoyer # -# Copyright 2002 Red Hat, Inc. +# Copyright 2002-2005 Red Hat, Inc. # # This software may be freely redistributed under the terms of the GNU # library public license. @@ -619,8 +619,7 @@ class Partitions: if req.fstype == fsset.fileSystemTypeGet("PPC PReP Boot"): return [ req ] return None - elif (iutil.getPPCMachine() == "pSeries" or - iutil.getPPCMachine() == "PMac"): + elif (iutil.getPPCMachine() == "pSeries"): # pSeries and Mac bootable requests are odd. # have to consider both the PReP or Bootstrap partition (with # potentially > 1 existing) as well as /boot,/ @@ -629,12 +628,28 @@ class Partitions: boottype = "PPC PReP Boot" else: boottype = "Apple Bootstrap" - - # for the prep partition, we want either the first or the + + ret = [] + for req in self.requests: + if req.fstype == fsset.fileSystemTypeGet("PPC PReP Boot"): + ret.append(req) + + # now add the /boot + bootreq = self.getRequestByMountPoint("/boot") + if not bootreq: + bootreq = self.getRequestByMountPoint("/") + if bootreq: + ret.append(bootreq) + + if len(ret) >= 1: + return ret + return None + elif (iutil.getPPCMachine() == "PMac"): + # for the bootstrap partition, we want either the first or the # first non-preexisting one bestprep = None for req in self.requests: - if req.fstype == fsset.fileSystemTypeGet(boottype): + if req.fstype == fsset.fileSystemTypeGet("Apple Bootstrap"): if ((bestprep is None) or (bestprep.getPreExisting() and not req.getPreExisting())): diff --git a/raid.py b/raid.py index ab46abb5c..54e2391bb 100644 --- a/raid.py +++ b/raid.py @@ -47,7 +47,7 @@ from rhpl.log import log # these arches can have their /boot on RAID and not have their # boot loader blow up -raidBootArches = [ "i386", "x86_64" ] +raidBootArches = [ "i386", "x86_64", "ppc" ] def scanForRaid(drives): """Scans for raid devices on drives. -- cgit