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

Attachment: test-multiconfig.sh
Description: application/shellscript

-- 
_______________________________________________
meta-xilinx mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to