[PATCH anaconda/master] Add support to determine the ARM processor variety and select the correct kernel to install.
d.marlin
dmarlin at redhat.com
Fri Jul 13 17:46:40 UTC 2012
From: "d.marlin" <dmarlin at redhat.com>
Signed-off-by: David A. Marlin <dmarlin at redhat.com>
-----
diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py
index 8fe818d..1c88d30 100644
--- a/pyanaconda/iutil.py
+++ b/pyanaconda/iutil.py
@@ -621,6 +621,20 @@ def getPPCMacBook():
return 1
return 0
+## Get the ARM processor variety.
+# @return The ARM processor variety type, or 0 if not ARM.
+def getARMMachine():
+ if not isARM():
+ return 0
+
+ armMachine = os.uname()[2].rpartition('.' )[2]
+
+ if armMachine.startswith('arm'):
+ return None
+ else:
+ return armMachine
+
+
cell = None
## Determine if the hardware is the Cell platform.
# @return True if so, False otherwise.
diff --git a/pyanaconda/platform.py b/pyanaconda/platform.py
index 8870374..1611797 100644
--- a/pyanaconda/platform.py
+++ b/pyanaconda/platform.py
@@ -335,6 +335,7 @@ class Sparc(Platform):
return start+1
class ARM(Platform):
+ _armMachine = iutil.getARMMachine()
_bootloaderClass = bootloader.GRUB2
_boot_stage1_device_types = ["disk"]
_boot_mbr_description = N_("Master Boot Record")
@@ -343,6 +344,10 @@ class ARM(Platform):
_disklabel_types = ["msdos"]
+ @property
+ def armMachine(self):
+ return self._armMachine
+
def getPlatform(anaconda):
"""Check the architecture of the system and return an instance of a
Platform subclass to match. If the architecture could not be determined,
diff --git a/pyanaconda/yuminstall.py b/pyanaconda/yuminstall.py
index 0ca534b..63d077d 100644
--- a/pyanaconda/yuminstall.py
+++ b/pyanaconda/yuminstall.py
@@ -1465,6 +1465,11 @@ reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anacon
if selectKernel("kernel-PAE"):
foundkernel = True
+ if not foundkernel and iutil.isARM():
+ if anaconda.platform.armMachine is not None:
+ selectKernel("kernel-" + anaconda.platform.armMachine)
+ foundkernel = True
+
if not foundkernel:
selectKernel("kernel")
More information about the anaconda-patches
mailing list