[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [PATCH anaconda/master] Add support to determine the ARM processor variety and select the correct kernel to install.
- From: Vratislav Podzimek <vpodzime redhat com>
- To: anaconda-devel-list redhat com
- Subject: Re: [PATCH anaconda/master] Add support to determine the ARM processor variety and select the correct kernel to install.
- Date: Thu, 12 Jul 2012 11:29:52 +0200
Note that we are now sending the patches for a review to
anaconda-patches lists fedorahosted org mailing list.
On Wed, 2012-07-11 at 15:01 -0500, David A. Marlin wrote:
> Attached is my latest version of this patch. It was made against the
> current anaconda/master and applied to 17.29 for testing on F17.
>
> d.marlin
> ========
>
> David A. Marlin wrote:
> >
> > Attached is my latest version of the ARM processor variety patch. It
> > incorporates suggestions made previously, and was made against
> > anaconda/master (but applied to 17.29 for testing).
> >
> > I simplified the hash/lookup by consolidating some machine types, but
> > I understand this may still be unacceptable. I am currently tracking
> > master and carrying these patches locally. I keep the rpms in a local
> > repo for testing.
> >
> > We are working on a method of exposing the platform in userspace, but
> > that is not in place yet. Would it be possible to accept this as an
> > interim solution with the expressed intent that the hash would be
> > removed as soon as an alternative solution is available? If not,
> > would a version of this patch with the hash/lookup stubbed out be
> > acceptable? I would like to get as much of this upstream as possible,
> > to minimize the patch(es) I need to carry locally and simplify keeping
> > up with master. Any suggestions are appreciated.
> >
> > Note: We successfully completed a test kickstart install on an ARM
> > system today using the modified anaconda-17.29.
> >
> >
> > d.marlin
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Anaconda-devel-list mailing list
> > Anaconda-devel-list redhat com
> > https://www.redhat.com/mailman/listinfo/anaconda-devel-list
>
> differences between files attachment
> (Add-support-to-determine-the-ARM-processor-variety.patch)
> Signed-off-by: David A. Marlin <dmarlin redhat com>
> ---
> 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 redhat com
> https://www.redhat.com/mailman/listinfo/anaconda-devel-list
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]