[meta-xilinx] Thud release update

Luca Ceresoli luca at lucaceresoli.net
Wed Dec 12 08:31:03 PST 2018


Hi Manjukumar,

On 29/11/18 18:07, Manjukumar Harthikote Matha wrote:
> Hi All,
> 
> Thud release branch is under-testing as of now, we will start sending patches next week and start merging to master:
> Please check the tree here: 
> https://github.com/Xilinx/meta-xilinx/commits/master-next
> 
> Major changes:
> meta-xilinx-standalone layer to support building toolchain for MB and pmu-firmware
> Proposal was sent here: 
> https://lists.yoctoproject.org/pipermail/meta-xilinx/2018-September/004051.html
> 
> There are two ways to build pmu-firmware: One using multiconfig and other as two separate distros
> 
> 1) multiconfig way:
> 	- You need to add the dependency in the image file, for example in core-image-minimal you will need
> 	do_image[mcdepends] = "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"
> 
> 
> 	- Add conf/multiconfig in the build directory and create pmu.conf and zcu102.conf under conf/multiconfig
>                pmu.conf  consists of 
> 	MACHINE="zynqmp-pmu"
> 	DISTRO="xilinx-standalone"
>     	GCCVERSION="7.%"
>     	TMPDIR="${TOPDIR}/pmutmp"
> 
> 	zcu102.conf consists of
> 	MACHINE="zcu102-zynqmp"
>     	DISTRO="poky"	
>                - In local.conf multiconfig is enabled by: BBMULTICONFIG ?= "zcu102 pmu"
> 	- bitbake multiconfig:zcu102:core-image-minimal
> 
> This will build pmu-firmware in   build/pmutmp and all the linux images in build/tmp

[Disclaimer: I did not double-check everything I state below since it
takes hours for each test]

I tried this setup and building u-boot-xlnx fails:

  $ bitbake multiconfig:zcu102:core-image-minimal
  [...]
  Cannot read
../../../../../../pmutmp/deploy/images/zynqmp-pmu/pmu-firmware-zynqmp-pmu.bin

This can be reproduced with the attached script.

However the above command succeeds if 'bitbake -c deploy
multiconfig:pmu:pmu-firmware' is run before that.

I fixed this issue by adding the following line to
meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb:

  do_compile[mcdepends] = \
    "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"

Now 'bitbake multiconfig:zcu102:u-boot-xlnx' succeeds without manually
building pmu-firmware before it.

Then retrying 'bitbake multiconfig:zcu102:core-image-minimal' I get
immediately:

-----------------------8<-----------------------

ERROR: An uncaught exception occurred in runqueue
Traceback (most recent call last):
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 1479, in RunQueue.execute_runqueue():
             try:
    >            return self._execute_runqueue()
             except bb.runqueue.TaskFailure:
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 1399, in RunQueue._execute_runqueue():
                                                                 [43,
967, 4, 3, 1, 5, 3, 7, 13, 1, 2, 1, 1, 246, 35, 1, 38, 1, 35, 2, 338,
204, 142, 3, 3, 37, 244])
    >            if self.rqdata.prepare() == 0:
                     self.state = runQueueComplete
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 636, in RunQueueData.prepare():
                     if 'mcdepends' in task_deps and taskname in
task_deps['mcdepends']:
    >                    add_mc_dependencies(mc, tid)

  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 614, in add_mc_dependencies(mc='zcu102',
tid='multiconfig:zcu102:/home/ceresoli/temp/test-mc-xilinx-2/poky/build/../meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb:do_compile'):
                     if mc == frommc:
    >                    fn = taskData[mcdep].build_targets[pn][0]
                         newdep = '%s:%s' % (fn,deptask)
KeyError: 'pmu-firmware'

ERROR: Running idle function
Traceback (most recent call last):
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/cooker.py",
line 1415, in buildTargetsIdle(server=<ProcessServer(ProcessServer-1,
started)>, rq=<bb.runqueue.RunQueue object at 0x7fd352672240>, abort=False):
                 try:
    >                retval = rq.execute_runqueue()
                 except runqueue.TaskFailure as exc:
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 1479, in RunQueue.execute_runqueue():
             try:
    >            return self._execute_runqueue()
             except bb.runqueue.TaskFailure:
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 1399, in RunQueue._execute_runqueue():
                                                                 [43,
967, 4, 3, 1, 5, 3, 7, 13, 1, 2, 1, 1, 246, 35, 1, 38, 1, 35, 2, 338,
204, 142, 3, 3, 37, 244])
    >            if self.rqdata.prepare() == 0:
                     self.state = runQueueComplete
  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 636, in RunQueueData.prepare():
                     if 'mcdepends' in task_deps and taskname in
task_deps['mcdepends']:
    >                    add_mc_dependencies(mc, tid)

  File
"/home/ceresoli/temp/test-mc-xilinx-2/poky/bitbake/lib/bb/runqueue.py",
line 614, in add_mc_dependencies(mc='zcu102',
tid='multiconfig:zcu102:/home/ceresoli/temp/test-mc-xilinx-2/poky/build/../meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb:do_compile'):
                     if mc == frommc:
    >                    fn = taskData[mcdep].build_targets[pn][0]
                         newdep = '%s:%s' % (fn,deptask)
KeyError: 'pmu-firmware'

-----------------------8<-----------------------

I have no idea what this means, but removing the do_compile[mcdepends]
line from u-boot-xlnx_2018.3.bb the build started properly and is
currently building.

-- 
Luca

-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-multiconfig.sh
Type: application/x-shellscript
Size: 1002 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20181212/20337c52/attachment.bin>


More information about the meta-xilinx mailing list