Signed-off-by: David A. Marlin <dmarlin@xxxxxxxxxx> --- diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py index 8fe818d..b0d9adc 100644 --- a/pyanaconda/iutil.py +++ b/pyanaconda/iutil.py @@ -621,6 +621,42 @@ 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 = None + machine = None + + # ARM machine hash + armType = { + 'OMAP' : 'omap', + 'trimslice' : 'tegra', + 'Marvell Armada XP' : 'mvebu', + 'Marvell GuruPlug' : 'kirkwood', + 'Efika MX' : 'imx', + 'Highbank' : 'highbank', + } + + f = open('/proc/cpuinfo', 'r') + lines = f.readlines() + f.close() + for line in lines: + if line.find('Hardware') != -1: + machine = line.split(':')[1] + break + + if machine is not None: + for type in armType.items(): + if machine.find(type[0]) != -1: + armMachine = type[1] + break + + 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")
_______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list