Giter Site home page Giter Site logo

xilinx / meta-xilinx-tools Goto Github PK

View Code? Open in Web Editor NEW
53.0 21.0 51.0 1011 KB

Yocto Project layer enables AMD Xilinx tools related metadata for MicroBlaze, Zynq, ZynqMP and Versal devices.

License: MIT License

BitBake 81.53% Tcl 12.47% Shell 6.00%
yocto-layer yocto-project

meta-xilinx-tools's Introduction

meta-xilinx-tools

This layer enables AMD Xilinx tools related metadata for MicroBlaze, Zynq, ZynqMP and Versal devices.

Maintainers, Mailing list, Patches

Please send any patches, pull requests, comments or questions for this layer to the meta-xilinx mailing list with ['meta-xilinx-tools'] in the subject:

When sending patches, please make sure the email subject line includes [meta-xilinx-tools][<BRANCH_NAME>][PATCH] and cc'ing the maintainers.

For more details follow the OE community patch submission guidelines, as described in:

https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

git send-email --to [email protected] *.patch

Note: When creating patches, please use below format. To follow best practice, if you have more than one patch use --cover-letter option while generating the patches. Edit the 0000-cover-letter.patch and change the title and top of the body as appropriate.

Syntax: git format-patch -s --subject-prefix="meta-xilinx-tools][<BRANCH_NAME>][PATCH" -1

Example: git format-patch -s --subject-prefix="meta-xilinx-tools][langdale][PATCH" -1

Maintainers:

Mark Hatle <[email protected]>
Sandeep Gundlupet Raju <[email protected]>
John Toomey <[email protected]>

Dependencies

This layer depends on: xsct and other layers

xsct-tarball class fetches the required xsct tool and installs it in the local sysroots of Yocto build. All the recipes which depend xsct or bootgen will use from sysroots. Please see the Xilinx EULA license file for xsct after extracting the tarball.

Warning: XSCT has been deprecated. It will still be available for several release. It is recommended to start new machines using the System Device Tree workflow, if available. See meta-xilinx/meta-xilinx-standalone-experimental for more details.

Each release is dependent on the Xilinx XSCT release version. Please note that xsct tools may not be backward compatible with embeddedsw repo. Meaning 2016.3 xsct tools might not work with older version on embeddedsw repo

URI: https://git.yoctoproject.org/poky
layers: meta, meta-poky
branch: langdale

URI: https://git.openembedded.org/meta-openembedded
layers: meta-oe, meta-perl, meta-python, meta-filesystems, meta-gnome,
        meta-multimedia, meta-networking, meta-webserver, meta-xfce,
        meta-initramfs.
branch: langdale

URI:
    https://git.yoctoproject.org/meta-xilinx (official version)
    https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
layers: meta-xilinx-core, meta-xilinx-microblaze, meta-xilinx-bsp,
        meta-xilinx-standalone, meta-xilinx-vendor.
branch: langdale or amd xilinx release version (e.g. rel-v2023.1)

Hardware Configuration using XSA

meta-xilinx-tools recipes depends on XSA to be provided. As of the 2019.2 release, all design files were renamed from hdf to xsa. But the variables and references to hdf will remain and renamed in the future release.

HDF_BASE can be set to git:// or file://

HDF_PATH will be git repository or the path containing HDF

For example:

  • Using GIT subversion
HDF_BASE = "git://"
HDF_PATH = "github.com/Xilinx/hdf-examples.git"
HDF_NAME = "system.xsa"
HDF_MACHINE = "zcu102-zynqmp"
  • Using XSA file path
HDF_BASE = "file://"
HDF_PATH = "/<absolute-path-to-xsa>/system.xsa"

Additional configurations using YAML

This layer provides additional configurations through YAML

  1. Example YAML based configuration for embeddedsw components(FSBL, PMUFW, etc.) uart, memory, flash settings. from machine or local confiruation file.
  • FSBL or FS-BOOT
# MicroBlaze:
YAML_FILE_PATH:pn-fs-boot = "${UNPACKDIR}/fsboot.yaml"
YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot = "axi_uartlite_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot = "axi_uartlite_0"

YAML_MAIN_MEMORY_CONFIG:pn-fs-boot = "mig_7series_0"
or
YAML_MAIN_MEMORY_CONFIG:pn-fs-boot = "DDR4_0"

YAML_FLASH_MEMORY_CONFIG:pn-fs-boot = "axi_quad_spi_0"

# Zynq-7000:
YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware = "ps7_uart_1"
YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware = "ps7_uart_1"

# ZynqMP:
YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware = "psu_uart_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware = "psu_uart_0"
  • PMUFW or PLMFW
# ZynqMP:
YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware = "psu_uart_1"
YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware = "psu_uart_1"

# Versal:
YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware = "versal_cips_0_pspmc_0_psv_sbsauart_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware = "versal_cips_0_pspmc_0_psv_sbsauart_0"

# Versal Net:
YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware = "psx_wizard_0_psxl_0_psx_sbsauart_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware = "psx_wizard_0_psxl_0_psx_sbsauart_0"
  1. Example YAML based configuration for device tree serial, baudrate, memory configurations.
# MicroBlaze:
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree = "axi_uartlite_0"
YAML_SERIAL_CONSOLE_BAUDRATE = "115200"
YAML_MAIN_MEMORY_CONFIG:pn-device-tree = "mig_7series_0"
or
YAML_MAIN_MEMORY_CONFIG:pn-device-tree = "DDR4_0"

# Zynq-7000:
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree = "ps7_uart_1"
YAML_MAIN_MEMORY_CONFIG:pn-device-tree = "PS7_DDR_0"
YAML_SERIAL_CONSOLE_BAUDRATE = "115200"

# ZynqMP:
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree = "psu_uart_0"
YAML_MAIN_MEMORY_CONFIG:pn-device-tree = "PSU_DDR_0"
YAML_SERIAL_CONSOLE_BAUDRATE = "115200"

# Versal:
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree = "versal_cips_0_pspmc_0_psv_sbsauart_0"
YAML_SERIAL_CONSOLE_BAUDRATE = "115200"

# Versal Net:
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree = "psx_wizard_0_psxl_0_psx_sbsauart_0"
YAML_SERIAL_CONSOLE_BAUDRATE = "115200"
  1. Example YAML based configuration for setting eval board specific dtsi files available in DTG repo. Refer https://github.com/Xilinx/device-tree-xlnx/tree/xlnx_rel_v2023.1/device_tree/data/kernel_dtsi/2023.1/BOARD for more details
# MicroBlaze:
YAML_DT_BOARD_FLAGS:pn-device-tree = "{BOARD kcu105}"

# Zynq-7000:
YAML_DT_BOARD_FLAGS:pn-device-tree = "{BOARD zc702}"

# ZynqMP:
YAML_DT_BOARD_FLAGS:pn-device-tree = "{BOARD zcu102-rev1.0}"

# Versal:
YAML_DT_BOARD_FLAGS:pn-device-tree = "{BOARD versal-vck190-reva-x-ebm-01-reva}"

# Versal Net:
YAML_DT_BOARD_FLAGS:pn-device-tree = "{BOARD versal-net-ipp-rev1.9}"

Note only Xilinx eval boards have the dtsi in DTG, for custom board one needs to patch DTG to include the custom board dtsi and enable it using YAML configuration.

meta-xilinx-tools's People

Contributors

adrianf0 avatar bentheredonethat avatar chkohn avatar ckalluri73 avatar dawithers avatar grsandeep85 avatar jeff-dagenais avatar johntoomey avatar kernelchuk avatar mharth avatar mhatle avatar mikelooijmans avatar msreeram-xilinx avatar navakishoremanne avatar nishadsaraf avatar rajanv-xilinx avatar rajukumar45 avatar ricardosalveti avatar saddepal avatar saipava avatar samsor avatar svadakat17 avatar tejus26 avatar tomice avatar varalaxmi-bingi avatar vineethchowdhary avatar wqyoung avatar xlnx-hyunkwon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meta-xilinx-tools's Issues

Issues importing HDF in FSBL generation

I'm trying to use this layer to create an FSBL from an HDF file while building my image. I keep running into failures building the FSBL like this one:

[ERROR] : Can't read file - /home/brett/Thesis/Zynq_Linux/Yocto/poky/build/tmp/deploy/images/zedboard-zynq7/fsbl-zedboard-zynq7.elf

which indicates that the fsbl could not be built since the tools couldn't find the hdf file. The FSBL logs for log.do_configure show that xsct was given an improper path to the HDF file.

After digging through the source code, I believe I know why. The problem may be that the instructions (on both the README and in the xilinx yocto wiki) are written ambiguously, such that most people will provide the wrong path to the HDF in conf/local.conf.

Three issues on the mailing list (one of which is mine) seem to be dealing with this same issue.

The problem is that the recipes-fsbl expects the hdf file to be at a LOCAL path to the workdir, whereas the example in the instructions seems to hint that it can be an absolute path anywhere outside the workspace itself.

The instructions say the following:

meta-xilinx-tools recipes depends on HDF to provided,
HDF_BASE can be set to git: or file:
HDF_PATH will be git repository or the path containing HDF
Ex:
HDF_BASE = "file://"
HDF_PATH = "" // ex: HDF_PATH = "/home/user/system.hdf" # << misleading example path
HDF_BASE = "git://"
HDF_PATH = "" //ex: HDF_PATH = "github.com/hdf-base.git" # << this should be clarified as well, with an example path from an ACTUAL git repo

However this is misleading. In the recipe to import the hdf, we can see that the hdf file is expected to be at ${WORKDIR}/${HDF_PATH} and NOT at ${HDF_PATH} like the example in the instructions seems to suggest.

# in recipes-hdf/hdf/external-hdf/bb
# . . . 

do_deploy() {
    install -d ${DEPLOYDIR}
    if [ "${HDF_BASE}" = "git://" ]; then
       install -m 0644 ${WORKDIR}/git/${MACHINE}/system.hdf 
${DEPLOYDIR}/Xilinx-${MACHINE}.hdf
    else
        install -m 0644 ${WORKDIR}/${HDF_PATH} ${DEPLOYDIR}/Xilinx-${MACHINE}.hdf
    fi
}

I found a workaround, but since I'm a Yocto newbie, I don't know if what I did is bad form. I changed the HDF path in the external-hdf.bb recipe from ${WORKDIR}/${HDF_PATH} to just ${HDF_PATH} but I'm not sure if this will break things down the line. Maybe I need to create a new layer with its own .bbappend?

Please advise a proper solution, as the mailing list shows a number of people struggling with this issue, and none have resolved it.

xsct-tarball.bbclass weak assigns XSCT_STAGING_DIR but doesn't honor it

My immediate issue:
In meta-xilinx-tools/classes/xsct-tarball.bbclass, we have:
XSCT_STAGING_DIR ?= "${STAGING_DIR}-xsct"

But when it comes time to make use of that path (further down) we have:
cmd = d.expand("
rm -rf ${STAGING_DIR}-xsct;
mkdir -p ${STAGING_DIR}-xsct;
cd ${STAGING_DIR}-xsct;
tar -xvf ${XSCT_DLDIR}/${XSCT_TARBALL};")

This prevents me from solving another larger issue I'm seeing, by overriding it. So, solving this would at least allow me to side step the larger issue.

The larger issue:
Because the execution of xsct-tarball.bbclass : xsct_event_extract() occurs before mulit-config is applied (but after the local.conf is parsed), TMPDIR is defined by the local.conf (or the default bitbake.conf) to something like "build/tmp/" and is used in the calculation of STAGING_DIR (destination for unpacking the tarball).

Later, BitBake progresses to building an image based on my specific multi-config which sets TMPDIR to a specific path (not "build/tmp/"). When a Xilinx recipe looks for xsct on path, xsct-tc.bbclass has calculated XSCT_PATH_ADD using the new TMPDIR and the recipe do_configure complains that xsct tools can't be found.

I can't simply keep "build/tmp/" as the TMPDIR in my multi-config because I actually have 5 different multi-configs, each with a custom TMPDIR (as recommended by the BitBake manual).

SRC_URI concatenation is missing space

The combination of SRC_URI appends, found here: https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/device-tree/device-tree.bbappend#L44 is correct per line, but if a combination of lines are used, EXTRA_DT_FILES and EXTRA_OVERLAYS for example, the resulting SRC_URI has no space between the two appends.

A suggested fix:
SRC_URI:append = " ${@" ".join(["file://%s" % f for f in (d.getVar('EXTRA_DT_FILES') or "").split()])}"
SRC_URI:append = " ${@" ".join(["file://%s" % f for f in (d.getVar('EXTRA_OVERLAYS') or "").split()])}"

fpga-manager-utils recipe looks for pl-final.dts, but pl-final.dts does not exist anymore in xilinx device tree repo

https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/fpga-manager-util/fpga-manager-util_1.0.bb#L114

references a pl-final.dts. In the current revision of the xilinx device tree repo: https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/device-tree/device-tree.inc#L6 , this pl-final.dts does not exist anymore. Which dts file should I now use for the base.dtbo?

BOOT.bin is directly deployed to DEPLOY_DIR_IMAGE

They BOOT.bin binary is directly written to the ${DEPLOY_DIR_IMAGE} which bypasses all the shared state caching and deployment clean-ups.

The deploy class and do_deploy are the proper ways to implement this. A warning is in the Yocto Project Mega Manual:

Caution
Do not write the output directly to ${DEPLOY_DIR_IMAGE}, as this causes the sstate mechanism to malfunction.

This creates issues for me when BOOT.bin isn't deployed correctly breaking builds. Additionally it isn't cleaned-up.

Redundant dependencies in layer.conf

LAYERDEPENDS_xilinx-tools  = "core xilinx meta-python"
LAYERDEPENDS_xilinx-tools  += "meta-python"
LAYERDEPENDS_xilinx-tools += "xilinx"

Aren't the latter two lines redundant? I can submit a PR to remove them.

Upgrade to warrior

The meta-xilinx layers all support warrior; however, when trying to use meta-xilinx-tools I get the following error:

ERROR: Layer xilinx-tools is not compatible with the core layer which only supports these series: warrior (layer is compatible with thud)

ZCU104 Linux kernel starting hangs on "Waiting for root device dev/mmcblk0p2..."

Linux kernel starting is hanged on at "Waiting for root device dev/mmcblk0p2..." step for infinity time on ZCU104 board, in SD card booting mode.

I am using Yocto 2020.2 release for Linux building and i have no any custom modification in ZCU104 machine recipe, i am using default device-tree and xsa files from xilinx meta layers. I would like to test ZCU104 Linux build on SD card image booting (boot + rootfs partition), and i am following the "UBOOT_EXTLINUX" boot method from this "how to" page.

This is my booting log:

Xilinx Zynq MP First Stage Boot Loader
Release 2020.2   Nov 17 2021  -  18:19:02
PMU Firmware 2020.2     Nov 17 2021   18:18:31
PMU_ROM Version: xpbr-v8.1.0-0
NOTICE:  ATF running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: v2.2(release):xlnx_rebase_v2.2_2020.3
NOTICE:  BL31: Built : 18:16:34, Nov 17 2021
 
 
U-Boot 2020.01 (Nov 18 2021 - 18:38:15 +0000)
 
Model: ZynqMP ZCU104 RevC
Board: Xilinx ZynqMP
DRAM:  2 GiB
PMUFW:  v1.1
EL Level:       EL2
Chip ID:        zu7ev
NAND:  0 MiB
MMC:   mmc@ff170000: 0
In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Bootmode: LVL_SHFT_SD_MODE1
Reset reason:   EXTERNAL
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
 
Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
222 bytes read in 22 ms (9.8 KiB/s)
1:      PetaLinux
Retrieving file: /boot/extlinux/../Image
12419080 bytes read in 836 ms (14.2 MiB/s)
append: root=/dev/mmcblk0p2 rootwait rw earlycon clk_ignore_unused console=ttyPS0,115200
Retrieving file: /boot/extlinux/../zcu104-zynqmp-system.dtb
44071 bytes read in 28 ms (1.5 MiB/s)
## Flattened Device Tree blob at 40000000
   Booting using the fdt blob at 0x40000000
   Loading Device Tree to 000000000fff2000, end 000000000ffffc26 ... OK
 
Starting kernel ...
 
Booting Linux on physical CPU 0x0000000000 [0x410fd034]
Linux version 5.4.0 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Thu Nov 18 15:46:48 UTC 2021
Machine model: ZynqMP ZCU104 RevC
earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
printk: bootconsole [cdns0] enabled
cma: Reserved 16 MiB at 0x000000007ec00000
psci: probing for conduit method from DT.
psci: PSCIv1.1 detected in firmware.
psci: Using standard PSCI v0.2 function IDs
psci: MIGRATE_INFO_TYPE not supported.
psci: SMC Calling Convention v1.1
percpu: Embedded 20 pages/cpu s43480 r8192 d30248 u81920
Detected VIPT I-cache on CPU0
Speculative Store Bypass Disable mitigation not required
Built 1 zonelists, mobility grouping on.  Total pages: 515844
Kernel command line: root=/dev/mmcblk0p2 rootwait rw earlycon clk_ignore_unused console=ttyPS0,115200
printk: log_buf_len individual max cpu contribution: 4096 bytes
printk: log_buf_len total cpu_extra contributions: 12288 bytes
printk: log_buf_len min size: 16384 bytes
printk: log_buf_len: 32768 bytes
printk: early log buf free: 14716(89%)
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 2026908K/2096128K available (7678K kernel code, 352K rwdata, 1928K rodata, 2048K init, 166K bss, 52836K reserved, 16384K cma-reserved)
rcu: Preemptible hierarchical RCU implementation.
        Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
GIC: Adjusting CPU interface base to 0x00000000f902f000
GIC: Using split EOI/Deactivate mode
random: get_random_bytes called from start_kernel+0x2a4/0x404 with crng_init=0
arch_timer: cp15 timer(s) running at 100.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
Console: colour dummy device 80x25
Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=100000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
ASID allocator initialised with 32768 entries
rcu: Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
Detected VIPT I-cache on CPU1
CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
Detected VIPT I-cache on CPU2
CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
Detected VIPT I-cache on CPU3
CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
smp: Brought up 1 node, 4 CPUs
SMP: Total of 4 processors activated.
CPU features: detected: 32-bit EL0 Support
CPU features: detected: CRC32 instructions
CPU: All CPU(s) started at EL2
alternatives: patching kernel code
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic allocations
hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
iommu: Default domain type: Translated
vgaarb: loaded
SCSI subsystem initialized
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
PTP clock support registered
EDAC MC: Ver: 3.0.0
FPGA manager framework
clocksource: Switched to clocksource arch_sys_counter
thermal_sys: Registered thermal governor 'step_wise'
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
TCP: Hash tables configured (established 16384 bind 16384)
UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 64
hw perfevents: no interrupt-affinity property for /pmu, guessing.
hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
Initialise system trusted keyrings
workingset: timestamp_bits=46 max_order=19 bucket_order=0
Installing knfsd (copyright (C) 1996 [email protected]).
ntfs: driver 2.1.32 [Flags: R/O].
jffs2: version 2.2. (NAND) (SUMMARY)  ยฉ 2001-2006 Red Hat, Inc.
Key type asymmetric registered
Asymmetric key parser 'x509' registered
io scheduler mq-deadline registered
io scheduler kyber registered
cacheinfo: Unable to detect cache hierarchy for CPU 0
brd: module loaded
loop: module loaded
dma-buf: Running sanitycheck
dma-buf: Running dma_fence
sizeof(dma_fence)=64
dma-buf: Running dma_fence/sanitycheck
dma-buf: Running dma_fence/test_signaling
dma-buf: Running dma_fence/test_add_callback
dma-buf: Running dma_fence/test_late_add_callback
dma-buf: Running dma_fence/test_rm_callback
dma-buf: Running dma_fence/test_late_rm_callback
dma-buf: Running dma_fence/test_status
dma-buf: Running dma_fence/test_error
dma-buf: Running dma_fence/test_wait
dma-buf: Running dma_fence/test_wait_timeout
dma-buf: Running dma_fence/test_stub
dma-buf: Running dma_fence/race_signal_callback
thread_signal_callback[0] completed 41278 passes, 1078 misses
thread_signal_callback[1] completed 41306 passes, 1115 misses
thread_signal_callback[0] completed 51880 passes, 51880 misses
thread_signal_callback[1] completed 51886 passes, 51885 misses
libphy: Fixed MDIO Bus: probed
e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
i2c /dev entries driver
EDAC DEVICE0: Giving out device to module edac controller cache_err: DEV edac (POLLED)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
ledtrig-cpu: registered to indicate activity on CPUs
NET: Registered protocol family 17
Loading compiled-in X.509 certificates
xilinx-dpdma fd4c0000.dma: ignoring dependency for device, assuming no driver
zynqmp-qspi ff0f0000.spi: ignoring dependency for device, assuming no driver
hctosys: unable to open rtc device (rtc0)
of_cfs_init
of_cfs_init: OK
clk: Not disabling unused clocks
Warning: unable to open an initial console.
Waiting for root device /dev/mmcblk0p2...

I tested it on Yocto 2021.1 release, also. In 2021.1, i got the same problem but i have more error printing.

Waiting for root device /dev/mmcblk0p2...
mmc0: error -110 whilst initialising SD card

Here is a link for this issue on Xilinx community forum: Link
Please help and fix it in your meta layers.

xsctyaml points to incorrect libdir

Issue
When building with yocto (zeus) and adding the meta-xilinx, as well as the meta-xilinx-tools, layers to the project, xsctyaml.bbclass will fail with the following error during do_create_yaml when target does not match native:

DEBUG: Executing python function do_create_yaml
ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:do_create_yaml(d)
     0003:
File: '/home/tom.ice/xilinx/yocto/meta-xilinx-tools/classes/xsctyaml.bbclass', lineno: 87, function: do_create_yaml
     0083:
     0084:python do_create_yaml() {
     0085:    import sys, os
     0086:    os.sys.path.append(os.path.join(d.getVar('RECIPE_SYSROOT_NATIVE'),d.getVar('PYTHON_SITEPACKAGES_DIR')[1::]))
 *** 0087:    import yaml
     0088:    yaml_dict = {}
     0089:
     0090:    appconfig = (d.getVar("YAML_APP_CONFIG") or "").split()
     0091:    if appconfig:
Exception: ModuleNotFoundError: No module named 'yaml'

DEBUG: Python function do_create_yaml finished

I believe this is because the project is not inherting from native.bbclass, so native and target lib paths end up being effectively pointed to the same area.
Path it is looking for in os.sys.path
fsbl/2020.1+gitAUTOINC+6cbb920f4d-r0/recipe-sysroot-native/usr/lib64/python3.7/site-packages
Correct path it should be set to:
fsbl/2020.1+gitAUTOINC+6cbb920f4d-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages

Both fsbl and device-tree will experience this since they both use xsctyaml.bbclass.

Fix
Defining PYTHON_SITEPACKAGES_DIR to point to libdir_native instead of libdir in the xsctyaml.bbclass file should fix this issue.

fsbl-2018.2+gitAUTOINC+6e82c0183b-r0 do_Configure: Function Failed .

I don't why Petalinux -build fails while running the subjected function. I fetched latest 2018.2 version,.

DEBUG: Executing shell function do_configure
MISC_ARG is -yamlconf /media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/fsbl.yaml
APP_ARG is -app "Zynq MP FSBL"
cmd is: xsct /media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/app.tcl -ws /media/harry/7C64F70464F6C046/PetaLinux/test/build/../components/plnx_workspace/fsbl -pname fsbl -rp /media/harry/7C64F70464F6C046/PetaLinux/tools/hsm/data/embeddedsw -processor psu_cortexa53_0 -hdf /media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/deploy/images/plnx-zynqmp/Xilinx-plnx-zynqmp.hdf -arch 64 -app "Zynq MP FSBL" -yamlconf /media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/fsbl.yaml
Display is :103
Source xsctrc script :/home/harry/.xsdbrc FAILED
Starting xsdk. This could take few seconds... Picked up _JAVA_OPTIONS: -Duser.home=/media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/xsctenv
done
No project(s) found in: '/media/harry/7C64F70464F6C046/PetaLinux/test/components/plnx_workspace/fsbl'
XSCTHELPER INFO: Empty WorkSpace
INFO: [Hsi 55-1698] elapsed time for repository loading 0 seconds
Channel closed
while executing
"error [dict get $msg err]"
(procedure "xsdk_eval" line 15)
invoked from within
"xsdk_eval $chan "Xsdk" "setRepo" "o{Path s}" e [list [dict create Path [file normalize $repo_path]]]"
(procedure "::sdk::set_user_repo_path_sdk" line 17)
invoked from within
"::sdk::set_user_repo_path_sdk $params(set)"
(procedure "repo" line 27)
invoked from within
"repo -set $path"
invoked from within
"if { $params(ws) ne "" } {
#Local Work Space available
setws $params(ws)
if { [catch {importprojects $params(ws)} result] } {
puts "XSCTHELPER IN..."
(file "/media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/app.tcl" line 120)
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_configure (log file is located at /media/harry/7C64F70464F6C046/PetaLinux/test/build/tmp/work/plnx_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/temp/log.do_configure.9962)

xilinx-bootbin or u-boot-xlnx, bug in Howto or dependencies

The recent changes in the bootbin building made core-image-minimal or petalinux-image-minimal unbuildable due to dependecy conflict. This also applies to release branch 2018.2.
It is suggested to add xilinx-bootbin to IMAGE_INSTALL_append, but this leads to the following error:
ERROR: Nothing RPROVIDES 'xilinx-bootbin' (but [...]/poky/meta/recipes-core/images/core-image-minimal.bb RDEPENDS on or otherwise requires it)
xilinx-bootbin was skipped: PREFERRED_PROVIDER_virtual/boot-bin set to u-boot-xlnx, not xilinx-bootbin
NOTE: Runtime target 'xilinx-bootbin' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['xilinx-bootbin']
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'xilinx-bootbin']

Maybe adding a PREFERRED_PROVIDER_virtual/boot-bin="xilinx-bootbin" could resolve this issue, but I'm still try building a bootable image.

Which way is the recommended for building a proper boot.bin, this seems explained improperly?

Platform create command Update missing?

Hello, there might be a command update missing on the following file dtgen_dfx file.

The file contains the following commands (on lines 153-158):

   if {$params(rphdf) eq ""} {
       # Static xsa parsing
       platform create -name $params(hwpname) -hw $params(hdf) \
	-os device_tree -proc $processor -no-boot-bsp -out $params(ws)
    } else {
	# Partial xsa parsing which depends on static xsa for propcessor instance.
	platform create -name $params(hwpname) -hw $params(hdf) \
	-rm-hw $params(rphdf) -os device_tree -proc $processor -no-boot-bsp -out $params(ws)
    }

However, the documentation of the Platform-Create Command does not contain the -rm-hw flag.

I also created a post in Xilinx Community Forum that explains the issue in more detail, you can find it here.

Can someone confirm if this is an issue?

Thanks in advance for any help provided.

Kirkstone

Any thoughts on when you'll create a Kirkstone branch?

XSCT URL no longer valid.

URL does not work on rel-v2019.1 branch

XSCT_URL ?= "http://petalinux.xilinx.com/sswreleases/rel-v2019/xsct-trim/xsct-2019-1.tar.xz"

NOTE: Fetching xsct binary tarball from http://petalinux.xilinx.com/sswreleases/rel-v2019.1/xsct-trim/xsct.tar.xz;md5sum=d0c62c3b72efd5de5692f405aac400d7;downloadfilename=xsct_2019.1.tar.xz
WARNING: Failed to fetch URL http://petalinux.xilinx.com/sswreleases/rel-v2019.1/xsct-trim/xsct.tar.xz;md5sum=d0c62c3b72efd5de5692f405aac400d7;downloadfilename=xsct_2019.1.tar.xz, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export PATH="/yocto/projects/yocto-zcu102/openembedded-core/scripts:/yocto/projects/yocto-zcu102/build/tmp/work/aarch64-sgl-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/usr/bin/aarch64-sgl-linux:/yocto/projects/yocto-zcu102/build/tmp/work/aarch64-sgl-linux/defaultpkgname/1.0-r0/recipe-sysroot/usr/bin/crossscripts:/yocto/projects/yocto-zcu102/build/tmp/work/aarch64-sgl-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/usr/sbin:/yocto/projects/yocto-zcu102/build/tmp/work/aarch64-sgl-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/usr/bin:/yocto/projects/yocto-zcu102/build/tmp/work/aarch64-sgl-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/sbin:/yocto/projects/yocto-zcu102/build/tmp/work/aarch64-sgl-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/bin:/yocto/projects/yocto-zcu102/build/tmp/sysroots-xsct/Scout/2019.1/bin:/yocto/projects/yocto-zcu102/build/tmp/sysroots-xsct/Scout/2019.1/gnu/microblaze/lin/bin:/yocto/projects/yocto-zcu102/build/tmp/sysroots-xsct/Scout/2019.1/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/yocto/projects/yocto-zcu102/build/tmp/sysroots-xsct/Scout/2019.1/gnu/armr5/lin/gcc-arm-none-eabi/bin:/yocto/projects/yocto-zcu102/build/tmp/sysroots-xsct/Scout/2019.1/gnu/aarch64/lin/aarch64-none/bin:/yocto/projects/yocto-zcu102/bitbake/bin:/yocto/projects/yocto-zcu102/build/tmp/hosttools"; export HOME="/home/yoctouser"; /usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate -O /yocto/projects/yocto-zcu102/build/downloads/xsct//xsct_2019.1.tar.xz -P /yocto/projects/yocto-zcu102/build/downloads/xsct/ 'http://petalinux.xilinx.com/sswreleases/rel-v2019.1/xsct-trim/xsct.tar.xz' --progress=dot -v failed with exit code 8, output:
--2019-06-13 22:47:47--  http://petalinux.xilinx.com/sswreleases/rel-v2019.1/xsct-trim/xsct.tar.xz
Resolving petalinux.xilinx.com (petalinux.xilinx.com)... 23.0.80.217
Connecting to petalinux.xilinx.com (petalinux.xilinx.com)|23.0.80.217|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-06-13 22:47:47 ERROR 404: Not Found.

PetaLinux 2018.3: device tree build for Ultra96 fails

As described in Xilinx forums device tree build for board Avnet Ultra96 fails with the following error:

| Error: /opt/devel/git/1ghz-8bit-1gddr/petalinux-2018.3-ultra96/build/../components/plnx_workspace/device-tree/device-tree/mipi-support-ultra96.dtsi:9.1-17 Label or path axi_uart16550_0 not found
| Error: /opt/devel/git/1ghz-8bit-1gddr/petalinux-2018.3-ultra96/build/../components/plnx_workspace/device-tree/device-tree/mipi-support-ultra96.dtsi:121.2-10 Label or path i2csw_2 not found
| FATAL ERROR: Syntax error parsing input tree

After some investigation I discovered a difference between device tree files in /components/../device-tree from 2018.2 and 2018.3.

In 2018.2, system-top.dts is:

/dts-v1/;
/include/ "zynqmp.dtsi"
/include/ "zynqmp-clk-ccf.dtsi"
/include/ "zcu100-revc.dtsi"
/include/ "pl.dtsi"
/include/ "pcw.dtsi"
/ {
	chosen {
		bootargs = "earlycon clk_ignore_unused";
		stdout-path = "serial0:115200n8";
	};
	aliases {
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		serial0 = &uart1;
		serial1 = &uart0;
		spi0 = &spi0;
		spi1 = &spi1;
	};
	memory {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x7ff00000>;
	};
};
#include "system-user.dtsi"

In 2018.3 the file is different:

/dts-v1/;
#include "zynqmp.dtsi"
#include "zynqmp-clk-ccf.dtsi"
#include "pl.dtsi"
#include "pcw.dtsi"
/ {
	chosen {
		bootargs = "earlycon clk_ignore_unused";
		stdout-path = "serial0:115200n8";
	};
	aliases {
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		serial0 = &uart1;
		serial1 = &uart0;
		spi0 = &spi0;
		spi1 = &spi1;
	};
	memory {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x7ff00000>;
	};
};
/include/ "mipi-support-ultra96.dtsi"
#include "system-user.dtsi"

In PL 2018.3 zcu100-revc.dtsi was replaced with avnet-ultra96-rev1.dtsi, however the new file is not included in system-top.dts and is not present in components/.../device-tree/.

After I manually edited system-top.dtsi to include avnet-ultra96-rev1.dtsi compilation of device tree succeeded.

I seems that new platform file is skipped while preparing system-top.dts for board ultra96.

2019.2: boot-gen depency failure

Starting with 2019.2
(which one was appended on top of poky/oe/xilinx-bsp thud versions),
recipes parsing to build an image for zcu102-zynmp fails on:

Nothing PROVIDES 'bootgen-native' โ€ฆ Required by /xilinx-bootbin_1.0

  • local/conf:
CONF_VERSION = "1"
MACHINE = "zcu102-zynqmp"
LICENSE_FLAGS_WHITELIST+="xilinx"
#PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"
PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin"
#PREFERRED_PROVIDER_virtual/dtb = "device-tree"
#PREFERRED_PROVIDER_virtual/pmu-firmware = "zynqmp-pmu-pmu-firmware"
IMAGE_INSTALL_append=" xilinx-bootbin"
BIF_PARTITION_ATTR= "fsbl pmu atf u-boot"
BIF_PARTITION_ATTR[fsbl]="bootloader, destination_cpu=a53-0"
BIF_PARTITION_IMAGE[fsbl]="${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[fsbl]="virtual/fsbl:do_deploy"
BIF_PARTITION_ATTR[pmu]="destination_cpu=pmu"
BIF_PARTITION_IMAGE[pmu]="${DEPLOY_DIR_IMAGE}/pmu-firmware-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[pmu] ?= "virtual/pmu-firmware:do_deploy"

Despite what the README file states, the entry

PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin"

should be included in addition to :

IMAGE_INSTALL_append=" xilinx-bootbin"

The boot-gen tool do not come anymore from the XSCT tarball ?

No valid device tree binary found - after added meta-xilix-tools layer.

Hello, we have a problem with this layer. We use poky zeus and after we configure bblayers.conf and local.conf as described below, when booting the target system (zybo-zynq7) on serial we see this error:

No valid device tree binary found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb>
initcall sequence 04063390 failed at call 04058b00 (err=-1)
### ERROR ### Please RESET the board ###

bblayers.conf

BBLAYERS ?= " \
  /home/se/yocto/test_from_0/poky-zues/meta \
  /home/se/yocto/test_from_0/poky-zues/meta-poky \
  /home/se/yocto/test_from_0/poky-zues/meta-yocto-bsp \
  /home/se/yocto/test_from_0/poky-zues/meta-openembedded/meta-python \
  /home/se/yocto/test_from_0/poky-zues/meta-openembedded/meta-oe\
  /home/se/yocto/test_from_0/poky-zues/meta-xilinx/meta-xilinx-bsp \
  /home/se/yocto/test_from_0/poky-zues/meta-xilinx/meta-xilinx-contrib \
  /home/se/yocto/test_from_0/poky-zues/meta-xilinx/meta-xilinx-standalone \
  /home/se/yocto/test_from_0/poky-zues/meta-xilinx-tools \
"

local.conf

#Top is default file except for MACHINE that is configured for build on zybo-zynq7

HDF_BASE = "file://"
HDF_PATH = "/home/se/yocto/test_from_0/poky-zues/zybo/gpio.xsa"
XSCT_STAGING_DIR="/home/se/yocto/poky-zeus/zynq/xsct"

XILINX_VER_MAIN="2020.1"
PREFERRED_PROVIDER_virtual/boot-bin="xilinx-bootbin"

IMAGE_INSTALL_append = " xilinx-bootbin" 
BIF_PARTITION_ATTR= "fsbl bitstream u-boot"
BIF_PARTITION_ATTR[fsbl]="bootloader"
BIF_PARTITION_IMAGE[fsbl]="${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[fsbl]="virtual/fsbl:do_deploy"
BIF_PARTITION_IMAGE[bitstream]="${DEPLOY_DIR_IMAGE}/download-${MACHINE}.bit"
BIF_PARTITION_IMAGE[u-boot]="${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[u-boot]="virtual/bootloader:do_deploy"

We tried to change xsa but the results is the same.

Fpgautil failed if file doesn't exists

Hi,
Is there a gentle way to check if bitfile was successfully load if path to file is wrong?
Looks like there are no checks in code if system() methods with commands failed.
For example, starting from here.

recipes-bsp/bootbin/xilinx-bootbin_1.0.bb fails to generate deps

Dropping the + ":do_deploy" from old line 76 in commit a622db9 seems to have broken this recipe. It now produces the following error:

ERROR: Error for /home/ubuntu/git/yocto/poky/build/../../meta-xilinx-tools/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb:do_configure[depends], dependency virtual/fsbl in ' virtual/fsbl virtual/fsbl virtual/fsbl virtual/fsbl virtual/fsbl virtual/bitstream virtual/pmu-firmware virtual/arm-trusted-firmware virtual/bootloader virtual/kernel virtual/dtb' does not contain exactly one ':' character.
Task 'depends' should be specified in the form 'packagename:task'
ERROR: Command execution failed: Exited with 1

fpga-manager-util: Files/directories were installed but not shipped in any package

ERROR: fpga-manager-util-xilinx+gitAUTOINC+bc84458333-r0 do_package: QA Issue: fpga-manager-util: Files/directories were installed but not shipped in any package:
/usr
/usr/lib
/usr/lib/firmware
/usr/lib/firmware/xilinx
/usr/lib/firmware/xilinx/base
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
fpga-manager-util: 5 installed and not shipped files. [installed-vs-shipped]
ERROR: fpga-manager-util-xilinx+gitAUTOINC+bc84458333-r0 do_package: Fatal QA errors found, failing task.

Edit: an important update on this, this bug is occurring when I try to build an SDK (bitbake $POKY_RECIPE -c populate_sdk). Bitbaking an image is completing fine.

Edit2: I have patched in commit 4fc21a3 per #32. This allowed me to build a recipe image correctly (bootloaders, file system, kernel, etc), but still failed the SDK building. I don't think this is just a usrmerge problem.

attrflags is not expanded

If "attrflags" contains some environment variable, result.bif file will contain something like
"[destination_cpu=a53-0, offset=${DTB_OFFSET}] /mnt/ext/bla/blabla/build/tmp/deploy/images/blablabla/blablabla-system.dtb " instead of
"[destination_cpu=a53-0, offset=0x1c80000] /mnt/ext/bla/blabla/build/tmp/deploy/images/blablabla/blablabla-system.dtb "

To prevent it, attrflags should be expanded.

cfgval = attrflags[cfg].split(',')

Change to
cfgval = d.expand(attrflags[cfg]).split(',')

cfgval = attrflags[cfg].split(',')

Change to
cfgval = d.expand(attrflags[cfg]).split(',')

Issues importing HDF for petalinux-image-minimal

Hi,

I'm also getting an error with external HDF but it's different than the previous issue. I get the following output:

bitbake petalinux-image-minimal
WARNING: Host distribution "linuxmint-18.1" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |##################################################################################################| Time: 0:00:01
Loaded 3432 entries from dependency cache.
Parsing recipes: 100% |################################################################################################| Time: 0:00:02
Parsing of 2541 .bb files complete (2538 cached, 3 parsed). 3433 targets, 135 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.36.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-xilinx-linux"
MACHINE              = "zcu102-zynqmp"
DISTRO               = "petalinux"
DISTRO_VERSION       = "2018.1"
TUNE_FEATURES        = "aarch64"
TARGET_FPU           = ""
meta                 
meta-poky            = "rel-v2018.1:f46336354fcb02234ed246b64c4cf916d1019e7d"
meta-perl            
meta-python          
meta-filesystems     
meta-gnome           
meta-multimedia      
meta-networking      
meta-webserver       
meta-xfce            
meta-initramfs       
meta-oe              = "rel-v2018.1:a65c1acb1822966c3553de9fc98d8bb6be705c4e"
meta-browser         = "rel-v2018.1:c5ff301787ef76eec57ca500ec9d1ccf0f74b488"
meta-qt5             = "rel-v2018.1:db881bb4917628ad3eb1fa7c4f27915cf2ae60f4"
meta-xilinx-bsp      
meta-xilinx-contrib  = "rel-v2018.1:e7a6531bd8fc9ce5797be082c8478a2701c3766a"
meta-xilinx-tools    = "rel-v2018.1:93d6b87bdc451ee81d6d716809e0d7e9bc3b7021"
meta-petalinux       = "rel-v2018.1:4e84d60865bf505d1ea425f3e5c84e37bf8f7455"
meta-virtualization  = "rel-v2018.1:c618f3030c00044887ae2bca01ff8d4c609a9362"
meta-openamp         = "rel-v2018.1:efae46ec290d8c49940fa0c0a07bc26055399a95"

Initialising tasks: 100% |#############################################################################################| Time: 0:00:05
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: external-hdf-1.0-r0 do_deploy: Function failed: do_deploy (log file is located at /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.9535)
ERROR: Logfile of failure stored in: /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.9535
Log data follows:
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Removing manifest: /home/mydir/xilinx/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing shell function do_deploy
| install: cannot stat '/home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/zcu102_top.hdf': No such file or directory
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_deploy (log file is located at /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.9535)
ERROR: Task (/home/mydir/xilinx/sources/core/../meta-xilinx-tools/recipes-bsp/hdf/external-hdf.bb:do_deploy) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2103 tasks of which 2102 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory

Summary: 1 task failed:
  /home/mydir/xilinx/sources/core/../meta-xilinx-tools/recipes-bsp/hdf/external-hdf.bb:do_deploy
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

My local.conf has:

# This sets the default machine if no other machine is selected:
MACHINE = "zcu102-zynqmp"
 
#Provide the hdf base, path, and filename for HDF
HDF_BASE = "file://"
HDF_PATH = "/home/mydir/boards/ZCU102/zcu102_top/zcu102_top.sdk"
HDF_FILE = "zcu102_top.hdf"

EXTRA_IMAGEDEPENDS += " fsbl pmu-firmware"

The hdf file is exactly where it's located per the HDF_PATH/HDF_FILE. Just like the other person who had the issue with FSBL, if I change line 31 to ${HDF_PATH}/${HDF_FILE}, everything works. It's not clear to me how a simple definition of SRC_URI will copy the file to the working directory.

Thanks

Yocto build error `package require hsi FAILED`

I tried to do a fresh yocto build but got this error message:

ERROR: device-tree-xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0 do_configure: Function failed: do_configure (log file is located at /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_configure.2740)
ERROR: Logfile of failure stored in: /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_configure.2740
Log data follows:
| DEBUG: Executing shell function do_configure
| MISC_ARG is  -hdf_type xsa -yamlconf /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/device-tree.yaml
| APP_ARG is  -app "device-tree"
| Using xsct from: /home/dave/yocto/poky/build/tmp/sysroots-xsct/Vitis/2019.2/bin/xsct
| cmd is: xsct -sdx -nodisp /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/dtgen.tcl -ws /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/build -pname device-tree -rp /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/git -processor psu_cortexa53_0 -hdf /home/dave/yocto/poky/build/tmp/deploy/images/avg-mcb/Xilinx-avg-mcb.xsa -arch 64  -app "device-tree"  -hdf_type xsa -yamlconf /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/device-tree.yaml
| package require hsi FAILED:
| invalid command name "hsi::create_dt_node"
|     while executing
| "hsi::create_dt_node -help"
|     (in namespace eval "::hsi::help" script line 6)
|     invoked from within
| "namespace eval ::hsi::help {
|     variable version 0.1
| 
|     ::xsdb::setcmdmeta {hsi create_dt_node} categories {hsi}
|     ::xsdb::setcmdmeta {hsi create..."
|     (file "/home/dave/yocto/poky/build/tmp/sysroots-xsct/Vitis/2019.2/scripts/xsct/hsi/hsihelp.tcl" line 25)
|     invoked from within
| "source /home/dave/yocto/poky/build/tmp/sysroots-xsct/Vitis/2019.2/scripts/xsct/hsi/hsihelp.tcl"
|     ("package ifneeded hsi::help 0.1" script)WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_configure.2740)
ERROR: Task (/home/dave/yocto/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_configure) failed with exit code '1'

I had the same build running on another machine without problem. Is there some requirements about host tools / libraries which i need to have installed?

ERROR: Nothing RPROVIDES 'xilinx-bootbin' (but /home/madhanmohan/dtsi/layers/wrlinux/wrlinux-distro/recipes-base/images/wrlinux-image-std.bb RDEPENDS on or otherwise requires it) xilinx-bootbin was skipped: Not supported in this configuration by Wind River. To override, add to your local.conf: PNWHITELIST_xilinx += 'bootgen' PNWHITELIST_xilinx-tools += 'xilinx-bootbin' You may also have to add: BB_NO_NETWORK = '0' NOTE: Runtime target 'xilinx-bootbin' is unbuildable, removing... Missing or unbuildable dependency chain was: ['xilinx-bootbin'] ERROR: Required build target 'wrlinux-image-std' has no buildable providers. Missing or unbuildable dependency chain was: ['wrlinux-image-std', 'xilinx-bootbin']

ERROR: Nothing RPROVIDES 'xilinx-bootbin' (but /home/madhanmohan/dtsi/layers/wrlinux/wrlinux-distro/recipes-base/images/wrlinux-image-std.bb RDEPENDS on or otherwise requires it)
xilinx-bootbin was skipped: Not supported in this configuration by Wind River. To override, add to your local.conf:
PNWHITELIST_xilinx += 'bootgen'
PNWHITELIST_xilinx-tools += 'xilinx-bootbin'

You may also have to add: BB_NO_NETWORK = '0'
NOTE: Runtime target 'xilinx-bootbin' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['xilinx-bootbin']
ERROR: Required build target 'wrlinux-image-std' has no buildable providers.
Missing or unbuildable dependency chain was: ['wrlinux-image-std', 'xilinx-bootbin']

Change to bootbin generation causes circular dependency with initramfs

Commit: f9993c8

This change appears to create a circular dependency loop when using an initramfs. Reverting line 83 solves the issue. I've read the comment on the commit and I don't understand how this wouldn't be expected. If building the rootfs as initramfs into boot.bin, the do_xilinx_bootbin must occur after do_image_complete. Setting it to before do_image will, of course, cause a dependency loop.

generated boot.bin will not boot correctly after moving the bootbin recipe to meta-xilinx

In the new scheme in rel-v2021.2 the main botbin recipe was moved to meta-xilinx.
On the way several changes were made. The important one in our case is the removal of this line from the main recipe:

BIF_PARTITION_ATTR_zynqmp = "${@bb.utils.contains('MACHINE_FEATURES', 'fpga-overlay', 'fsbl pmu atf dtb u-boot', 'fsbl bitstream pmu atf dtb u-boot', d)}"

And replacing it in the bbappend with this line:

BIF_PARTITION_ATTR_append_zynqmp = "${@bb.utils.contains('MACHINE_FEATURES', 'fpga-overlay', '', ' bitstream', d)}"

Due to this change the system will not load past the PMU because a known bug listed here
68732 - 2017.1 Zynq UltraScale+ MPSoC, Boot Image fails to boot if bitstream is placed after ATF

As can be seen the old version places the bitstream correctly after the fsbl and before the pmu while the new version places it at the end causing boot to fail

Replacing the new line in the bbappend with the code below fixes the issue (It can probably be done more elegantly):

def add_bitstream_string (d):
    bifPartition = d.getVar("BIF_PARTITION_ATTR")
    if bifPartition is not None:
        fsblString = bb.utils.contains("MACHINE_FEATURES", "fpga-overlay", "fsbl", "fsbl bitstream", d)
        bifPartition = bifPartition.replace("fsbl", fsblString)
    return bifPartition

TEMP_zynqmp := "${@add_bitstream_string(d)}"
BIF_PARTITION_ATTR_zynqmp = "${TEMP_zynqmp}"

FSBL build fails

When trying to build the fsbl recipe using meta-xilinx-tools, i get the error message which i attached. I can not understand why this error occurs.

I checked that the repository indeed includes the source code for the fsbl, which is there called 'zynqmp_fsbl'.

There is also a feature called 'base' mentioned, which can't be loaded, but i can not understand where to look for this feature or what it means.

The error message can be found here: https://pastebin.com/txJEZ7QS

Thanks for any help!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.