[meta-ti] [PATCH] boot-monitor: add K2L and K2E boot monitor build support

Tom Rini trini at ti.com
Thu May 15 08:20:27 PDT 2014


On Thu, May 15, 2014 at 10:54:32AM -0400, Denys Dmytriyenko wrote:
> On Thu, May 15, 2014 at 10:41:52AM -0400, Hao Zhang wrote:
> > On 5/15/2014 10:21 AM, Maupin, Chase wrote:
> > >> -----Original Message-----
> > >> From: Zhang, Hao
> > >> Sent: Wednesday, May 14, 2014 3:38 PM
> > >> To: Maupin, Chase
> > >> Cc: Dmytriyenko, Denys; meta-ti at yoctoproject.org
> > >> Subject: Re: [meta-ti] [PATCH] boot-monitor: add K2L and K2E boot
> > >> monitor build support
> > >>
> > >> On 5/14/2014 3:55 PM, Maupin, Chase wrote:
> > >>>> -----Original Message-----
> > >>>> From: meta-ti-bounces at yoctoproject.org [mailto:meta-ti-
> > >>>> bounces at yoctoproject.org] On Behalf Of Dmytriyenko, Denys
> > >>>> Sent: Wednesday, May 14, 2014 2:01 PM
> > >>>> To: Zhang, Hao
> > >>>> Cc: meta-ti at yoctoproject.org
> > >>>> Subject: Re: [meta-ti] [PATCH] boot-monitor: add K2L and K2E
> > >> boot
> > >>>> monitor build support
> > >>>>
> > >>>> On Wed, May 14, 2014 at 02:58:51PM -0400, Hao Zhang wrote:
> > >>>>> On 5/14/2014 2:40 PM, Denys Dmytriyenko wrote:
> > >>>>>> On Wed, May 14, 2014 at 02:29:49PM -0400, hzhang at ti.com
> > >> wrote:
> > >>>>>>> From: Hao Zhang <hzhang at ti.com>
> > >>>>>>>
> > >>>>>>> ---
> > >>>>>>>  recipes-bsp/boot-monitor/boot-monitor_git.bb |   18
> > >>>> +++++++++++++-----
> > >>>>>>>  1 file changed, 13 insertions(+), 5 deletions(-)
> > >>>>>>>
> > >>>>>>> diff --git a/recipes-bsp/boot-monitor/boot-monitor_git.bb
> > >>>> b/recipes-bsp/boot-monitor/boot-monitor_git.bb
> > >>>>>>> index 7c5e9cf..2c3aa43 100644
> > >>>>>>> --- a/recipes-bsp/boot-monitor/boot-monitor_git.bb
> > >>>>>>> +++ b/recipes-bsp/boot-monitor/boot-monitor_git.bb
> > >>>>>>> @@ -3,8 +3,12 @@ EXTRA_OEMAKE =
> > >>>> "CROSS_COMPILE=${TARGET_PREFIX}"
> > >>>>>>>
> > >>>>>>>  LICENSE = "BSD"
> > >>>>>>>
> > >>>>>>> -BOOT_MONITOR_BINARY ?= "skern.bin"
> > >>>>>>> -BOOT_MONITOR_IMAGE  ?= "skern-${MACHINE}.bin"
> > >>>>>>> +BOOT_MONITOR_BINARY_K2HK ?= "skern-k2hk.bin"
> > >>>>>>> +BOOT_MONITOR_IMAGE_k2HK  ?= "skern-k2hk-${MACHINE}.bin"
> > >>>>>>> +BOOT_MONITOR_BINARY_K2L ?= "skern-k2l.bin"
> > >>>>>>> +BOOT_MONITOR_IMAGE_k2L  ?= "skern-k2l-${MACHINE}.bin"
> > >>>>>>> +BOOT_MONITOR_BINARY_K2E ?= "skern-k2e.bin"
> > >>>>>>> +BOOT_MONITOR_IMAGE_k2E  ?= "skern-k2e-${MACHINE}.bin"
> > >>>
> > >>> Maybe a silly question but do you need to package all of these
> > >> in a single recipe or do you want to package K2HK and K2L and K2E
> > >> in separate packages?
> > >>>
> > >>>>>>
> > >>>>>> Have you tested it? You mix case in the above variables - one
> > >>>> has K2HK
> > >>>>>> uppercase, another has k2HK lowercase. Same for k2l...
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>> Yes, I tested it. I will correct the lowercase error and re-
> > >>>> submit the
> > >>>>> patch.
> > >>>>
> > >>>> It shouldn't have worked, as you use incorrect variables below
> > >> in
> > >>>> do_deploy.
> > >>>>
> > >>>>
> > >>
> > >> For some reason, it still works, anyway I fixed the lowercase
> > >> errors
> > >>
> > >>>>>>>  BOOT_MONITOR_MAKE_TARGET  ?= "all"
> > >>>>>>>
> > >>>>>>>  LIC_FILES_CHKSUM =
> > >>>> "file://COPYING;md5=25fe219a6febf6e5bb45beda1b2eb315"
> > >>>>>>> @@ -14,7 +18,7 @@ COMPATIBLE_MACHINE = "keystone-evm"
> > >>>>>>>  SRC_URI = "git://git.ti.com/keystone-linux/boot-
> > >>>> monitor.git;protocol=git;branch=${BRANCH}"
> > >>>>>>>
> > >>>>>>>  PV = "2.0"
> > >>>>>>> -PR = "r0+gitr${SRCPV}"
> > >>>>>>> +PR = "r1+gitr${SRCPV}"
> > >>>>>>>
> > >>>>>>>  BRANCH = "master"
> > >>>>>>>
> > >>>>>>> @@ -27,7 +31,9 @@ do_compile () {
> > >>>>>>>  	unset LDFLAGS
> > >>>>>>>  	unset CFLAGS
> > >>>>>>>  	unset CPPFLAGS
> > >>>>>>> -	oe_runmake ${BOOT_MONITOR_MAKE_TARGET}
> > >>>>>>> +	oe_runmake k2hk
> > >>>>>>> +	oe_runmake k2l
> > >>>>>>> +	oe_runmake k2e
> > >>>
> > >>> If you really want to package all of these in a single recipe
> > >> why not use a for loop?  The naming, etc is formulaic.  You could
> > >> just have a list of "k2hk k2l k2e" and do the make for that list
> > >> as well as your do_deploy stuff below.
> > >>>
> > >>
> > >> Will use for loop and re-sumbit the patch.
> > > 
> > > Can you clarify if you really want all 3 devices installed all the time or 
> > > do you really want a recipe that installs the boot monitor per device?  I 
> > > know you don't currently have 3 machine types so maybe that is what is 
> > > feeding your issue here, but my question is whether you need to have 
> > > separate builds per device.
> > > 
> > 
> > I want all the 3 boot monitors built and installed all the time in one
> > recipe, since MCSDK 3.1 supports all the 3 Keystone II devices in the
> > same release package. This applies to the U-boot (3 U-boot build for all
> > the 3 Keystone II devices) and Linux kernel DTB.
> 
> Linux kernel has support for board variations through DTBs, obviously.
> 
> As of U-boot, in Sitara world we had to manage board variations by detecting 
> the board at runtime. So, the same single binary would work on AM335x-EVM, 
> AM335x-SK, BeagleBone White and BeagleBone Black.

Note that this relies on a reliable way to tell what board we're on at
run-time.  AM335x TI influenced boards have an i2c EEPROM with a defined
layout and a board name field.  Siemens does something similar (but
different layout) with their am335x HW as well.  Beagleboard also
supports similar due to intentional GPIO setups, iirc.  If Keystone II
platforms have some way to tell at run-time, then we can do this there
too, otherwise it's 3 binaries.

-- 
Tom


More information about the meta-ti mailing list