FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian User

 
 
LinkBack Thread Tools
 
Old 03-08-2011, 03:44 AM
David Cantrell
 
Default Handle boot loader upgrades on s390 (#682783)

Fix up the boot loader config reading and handling for upgrades on s390
so it works like x86 a little more. We find an existing zipl
installation and ask the user what steps to take. This results in the
boot loader configuration being updated correctly, reinstalled if
necessary, and the reIPL step succeeding.

Also fixed the missing 'rc' variable that was causing a traceback due to
the above code blocks missing. So in instances where we cannot figure
out the boot loader configuration, do not traceback but just fall
through and complete the installation. reIPL is extra stuff anyway.
---
booty/checkbootloader.py | 15 +++++++++++++++
iutil.py | 1 +
upgrade.py | 2 +-
3 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/booty/checkbootloader.py b/booty/checkbootloader.py
index 1b1ca1d..d58df8e 100644
--- a/booty/checkbootloader.py
+++ b/booty/checkbootloader.py
@@ -25,6 +25,7 @@ grubConfigFile = "/etc/grub.conf"
liloConfigFile = "/etc/lilo.conf"
yabootConfigFile = "/etc/yaboot.conf"
siloConfigFile = "/etc/silo.conf"
+ziplConfigFile = "/etc/zipl.conf"

def getRaidDisks(raidDevice, storage, raidLevel=None, stripPart=1):
rc = []
@@ -112,6 +113,7 @@ def getBootloaderTypeAndBoot(instRoot, storage):
haveLiloConf = 1
haveYabootConf = 1
haveSiloConf = 1
+ haveZiplConf = 1

bootDev = None

@@ -125,6 +127,8 @@ def getBootloaderTypeAndBoot(instRoot, storage):
haveYabootConf = 0
if not os.access(instRoot + siloConfigFile, os.R_OK):
haveSiloConf = 0
+ if not os.access(instRoot + ziplConfigFile, os.R_OK):
+ haveZiplConf = 0

if haveGrubConf:
bootDev = None
@@ -204,4 +208,15 @@ def getBootloaderTypeAndBoot(instRoot, storage):
if block[24:28] == "SILO":
return ("SILO", bootDev)

+ if haveZiplConf:
+ bootDev = None
+ f = open(instRoot + ziplConfigFile, "r")
+ lines = f.readlines()
+ for line in lines:
+ if line[0:7] == "target=":
+ bootDev = getBootDevList(line)
+
+ if bootDev:
+ return ("ZIPL", bootDev)
+
return (None, None)
diff --git a/iutil.py b/iutil.py
index f6f359f..ca20002 100644
--- a/iutil.py
+++ b/iutil.py
@@ -832,6 +832,7 @@ def reIPL(anaconda, loader_pid):
stdout = "/dev/tty5",
stderr = "/dev/tty5")
except Exception, e:
+ rc = True
log.info("Unable to set reIPL device to %s: %s",
ipldev, e.message)

diff --git a/upgrade.py b/upgrade.py
index 088dcdb..b9f77b3 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -295,7 +295,7 @@ def setSteps(anaconda):
"complete"
)

- if not iutil.isX86():
+ if not iutil.isX86() and not iutil.isS390():
dispatch.skipStep("bootloader")
dispatch.skipStep("upgbootloader")

--
1.7.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 05:50 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org