Uploaded
↧
dnf-self-hosting-results.png
↧
Self hosting using dnf
...
g++ vector-test.cpp -o vector-testRun the generated executable and verify the output:
Related Links
{hello_world.c} {vector-test.cpp}
↧
↧
Self hosting using dnf
...
{dnf-self-hosting-results.png} Related Links
Xilinx Yocto
{hello_world.c} {vector-test.cpp}
↧
Yocto
...
Notesmaster
Tracking
Rocko
2.4 - 2017-10-xx
Stable
Morty
2.2 - 2016-10-xx
...
StateNotes
rel-v2018.1
Based on Rocko
Stable
Available on GitHub
rel-v2017.4
Based on Morty
...
Available on GitHubmeta-xilinx Mailing List
...
discussions, patches, meta-petalinux
meta-petalinux is a distro layer to provide all the supported packages to be consumed by PetaLinux Tools. There is support for Xilinx SDK toolchain as well.
...
Notesmaster
Based on
Tracking
rel-v2018.1
Based on Rocko
Stable
v2018.1 release
rel-v2017.4
Based on Morty
...
v2016.2 releasemeta-petalinux Mailing List
...
discussions, patches, ...
follow the meta-xilinx-tools
meta-xilinx-tools is a layer to support all baremetal components from Xilinx. This layer depends on XSCT being installed in the path.
...
Based on KrogothTracking
rel-v2018.1
Based on Rocko
Stable
v2018.1 release
rel-v2017.4
Based on Morty
...
meta-xilinx-tools Mailing ListThe meta-xilinx-tools layer is part of the meta-xilinx community. A mailing list exists where discussions, patches, comments and questions can be posted. To subscribe to the meta-xilinx-tools mailing list go to https://lists.yoctoproject.org/listinfo/meta-xilinx.
...
as indicated Getting Started With Yocto
The meta-xilinx layer can be used with a variety of Yocto setups and configurations. There are a number of resources available for which cover getting started with Yocto and OE, below is a collection of useful resources.
...
More Documentation is available at https://www.yoctoproject.org/documentation/currentRelated Links
How to add additional packages
Getting started with Yocto Xilinx layer
Build OSL images using Yocto
Adding Mali Userspace binaries
↧
How to build images through yocto
Repo Tool overview
Repo is a repository management tool that is built on top of Git. Repo unifies the many Git repositories when necessary, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of development.The repo command is an executable Python script that you can put anywhere in your path. In working with the source files, you will use Repo for across-network operations. For example, with a single Repo command you can download files from multiple repositories into your local working directory.
More details about repo tool is present at
https://source.android.com/source/developing.html
Step 1: Preparing the Build Environment
Install Repo
#Download the Repo script:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > repo
#Make it executable:
$ chmod a+x repo
#Move it on to your local home directory path:
$ mv repo ~/bin/
#Add it to your path
$ PATH=$PATH:~/bin
#If it is correctly installed, you should see a Usage message when invoked with the help flag.
$ repo --help
Fetch all sources
#repo init to the project of desire
$ repo init -u git://github.com/Xilinx/yocto-manifests.git -b <current-release>
#repo sync to get all sources
$ repo sync
#repo start a branch
$ repo start <current-release> --all
Source environment
#source the environment to build using bitbake
$ source setupsdk
Step 2: Build using bitbake
$ MACHINE=zcu102-zynqmp bitbake petalinux-minimal
Similarly build for other machines (ZC702, ZC706 etc)
Step 3: Checking build artifacts.
After the build is complete, you will find the build artifacts under build/tmp/deploy/<MACHINE>/ directory
Related Articles
Xilinx Yocto
↧
↧
Yocto
...
More Documentation is available at https://www.yoctoproject.org/documentation/currentRelated Links
Build
Adding Mali Userspace binaries
Using meta-xilinx-tools layer
↧
Adding MALI userspace binaries in Yocto builds
...
Once done, you can download MALI-400 userspace binaries relevant to ZynqMP (ZCU102 board)Contents
r7p0-00rel0.tar -- Binaries for 2017.x release
r5p1-01rel0.tar -- Binaries of MALI 400 userspace components 2016.4 release or below
meta-petalinux - recipes and conf files that can be added to rel-v2016.1 branch to support MALI-400
↧
Yocto
↧
Install and run applications through dnf on target
...
dnf install packagegroup-petalinux-qtdnf install packagegroup-petalinux-qt-extended
dnf install packagegroup-petalinux-matchbox
Start matchbox
/etc/init.d/xserver-nodm stop
/etc/init.d/xserver-nodm start
Qt testing
Set DISPLAY: The DISPLAY environment variable is required to communicate with X11.
↧
↧
Capture.PNG
Uploaded
↧
Booting XEN on ZCU102 using SD card
...
Build Xen image using bitbake for the target.Example: MACHINE=zcu102-zynqmp bitbake xen-image-minimal
...
prepare yourBOOT.bin
Image
...
Press any key when prompted to stop autoboot.Enter the below command and press enter
...
mmc $sdbootdev:$partid ...
fdt addr ...
1000000 - {xen.PNG} Stop auto boot and enter command to boot xen.
{Capture.PNG}
Related Links
How to format SD card for SD boot
↧
Booting XEN on ZCU102 using SD card (Reverted to Nov 13, 2017 11:43 am: typo)
...
Build Xen image using bitbake for the target.Example: MACHINE=zcu102-zynqmp bitbake xen-image-minimal
...
prepare your SD card.BOOT.bin
Image
...
Press any key when prompted to stop autoboot.Enter the below command and press enter
...
mmc $sdbootdev:$partid ...
fdt addr ...
1000000 - {Capture.PNG}
{xen.PNG} Stop auto boot and enter command to boot xen.
Related Links
How to format SD card for SD boot
↧
Capture.PNG
Uploaded
↧
↧
Booting XEN on ZCU102 using SD card
...
Press any key when prompted to stop autoboot.Enter the below command and press enter
...
mmc $sdbootdev:$partid ...
fdt addr ...
1000000 - {xen.PNG} Stop auto boot and enter command to boot xen.
{Capture.PNG}
Related Links
How to format SD card for SD boot
↧
2018.1 release notes - Yocto
Whats new in 2018.1?
Yocto updated to Rocko release(2.4.1)
Supported distros: RHEL 7.x, Centos-7.x, and Ubuntu-16.04
Update recipe of Linux-xlnx kernel version -> 4.14
Update recipe of Arm trusted firmware version → 1.4
Update recipe of U-boot-xlnx version → v2018.01
Update recipe of Xen version → 4.9
Update recipe of QEMU version → v2.11.0
Update to GCC 7.2, glibc 2.26, binutils, 2.29
Support for meta-browser
Updates in meta-petalinux:
Added hellopm userspace application package to test power manager functionalities on evaluation boards like zcu102, zcu104 etc
Added gstreamer-vcu-examples package to run vcu examples on zcu106, zcu104 evaluation boards
Updated gstreamer-omx, plugins-bad, plugins-good, plugins-base to work with zcu106, zcu104 evaluation boards
Added kernel-module-hdmi recipe
Update tcf-agent version to 1.7.0
Added rfdc-examples package to run rfdc examples on Caher evaluation boards
Changes to Packagegroups:
Introduce packagegroup-petalinux-lmsensorspackagegroup which provides tools and drivers for monitoring temperatures, voltage, humidity, and fans.
Introduce packagegroup-petalinux-v4lutils packgegroup which provide packages to handle multimedia data.
Introduce packagegroup-petalinux-qt-extended packagegroup which provides Qt additional supported packages.
Introduce packagegroup-petalinux-utils packagegroup which provides miscellaneous utility packages.
Introduce packagegroup-petalinux-multimedia packagegroup which provides packages for out of box multimedia experience.
Introduce packagegroup-petalinux-python-modules packagegroup which provides python modules.
Introduce packagegroup-petalinux-networking-stack packagegroup which provides packages to extend network stack.
Introduce packagegroup-petalinux-display-debug packagegroup which provides packages to test and debug display ports.
Introduce packagegroup-petalinux-networking-debug packagegroup which provides packages to debug network related issues.
Removed stale recipes and bbclass to make sure layer is compatible with Rocko v2.4.1 upstream version
Changes to support command line arguments to matchbox-terminal
Added udev handle for monitor hotplug
Patches to help certain packages work on our boards: Valgrind, webkit etc
Set all the providers so that pmu-firmware, fsbl will be built using XSCT from meta-xilinx-tools, boot.bin generation using xilinx-bootbin recipe.
https://github.com/Xilinx/meta-petalinux/blob/rel-v2018.1/conf/distro/include/petalinux-features.conf#L29-L34
Add source mirror url for the layer. This helps us to host the 2018.1 release sources in AWS server as a mirror url
https://github.com/Xilinx/meta-petalinux/blob/rel-v2018.1/conf/distro/include/petalinux-mirrors.conf
Deprecation of recipes/packages:
MB toolchain can be built from source, the external toolchain recipes will be deprecated in 2018.3
https://github.com/Xilinx/meta-petalinux/tree/rel-v2018.1/recipes-external/external-xilinx-toolchain
Enlightenment desktop was deprecated from upstream OE-core (matchbox is the replacment window manager)
smart was deprecated from upstream OE-core (dnf is the replacement RPM package manager)
Updates in meta-xilinx:
In 2017.x releases, we used to fork from upstream meta-xilinx release and remove all the unsupported boards (like microzed), SPL to create release branches.
To prevent forking, from 2018.x releases, all patches for Xilinx release sit on top of upstream meta-xilinx release (Rocko v2.4).
We use PREFERRED_PROVIDER switch to select the components: For example all the release testing is done with these PREFERRED_PROVIDERS
https://github.com/Xilinx/meta-petalinux/blob/rel-v2018.1/conf/distro/include/petalinux-features.conf#L29-L34
SOC_FAMILY: This is a defined override variable from OE-core that groups together machines based upon the same family of SOC (System On Chip).
This is defined as "zynqmp" for MPSoC devices, "zynq" for Zynq7000 devices in meta-xilinx layer. See https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc#L2
{SOC_FAMILY}{SOC_VARIANT}: This is a new override based on the Xilinx product table https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html and https://www.xilinx.com/products/silicon-devices/soc/rfsoc.html#ProductTable.The value of SOC_VARIANT can be "cg", "eg", "ev", "dr" for MPSoC devices and "7zs" or "7z" for Zynq 7000 devices. See https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc#L2
By default, the Zynq devices are set to "7z" https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc#L7-L11 and
By default, the MPSoC devices are set to "eg" https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc#L4-L9
mali400, vcu : This extends overrides from SOC_VARIANT, and is set to mali400 or vcu or both depending on the functionality of the set SOC_VARIANT device
https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc#L7-L11
NOTES:
Use Rocko meta-xilinx from upstream:
meta-xilinx is an umbrella which has meta-xilinx-bsp and meta-xilinx-contrib layers from Rocko v2.4
New machine support
Add support for zcu106 evaluation board
Add support for zcu104 evaluation board
Add support for zc1254 evaluation board
Add support for zc1275 evaluation board
Add support for zcu111 evaluation board
VCU hwcodec wiring: Includes VCU firmware, kernel-module, control software, VCU hwcodec
Update kernel-module-mali to newer version r8p0-01rel0
Update MALI userspace binaries to r8p0-01rel0
Added SOC_VARIANT and SOC_FAMILY as package archs : By adding this feature, certain packages can be reused among same SOC family (for ex: MALI can be used for both MPSoC eg and ev devices)
Added machine overrides mali400, vcu. This helps MPSoC devices like eg/ev to set PROVIDERS based on mali400 or vcu as overrides
https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc#L31-L36
Updates in meta-xilinx-tools:
Xsct now can use the Xvfb and xlsclients from HOSTTOOLS instead of hardcoded /usr/bin path.
Xvfb and xlsclients is added as HOSTTOOLS, meaning this has to be installed in host system using 'apt-get install -y xvfb x11-utils'
Change xilinx-bootbin from a class to a bb recipe: This helps in easy overrides using bbappends and using PREFERRED_PROVIDER for bootbin generation
device-tree.bbappend: device-tree-generation recipe is removed and replaced with device-tree.bbappend. device-tree recipe is available in meta-xilinx layer, this just extends the recipe to use DTG.
add hooks for all new boards: zcu111, zcu106, zcu104, zc1254, zc1275
Add support for dsa : dsa is a new format from Vivado tools which will be introduced from 2018.3 release
Related Links
yocto
↧
Yocto
...
The meta-xilinx-tools layer is part of the meta-xilinx community. A mailing list exists where discussions, patches, comments and questions can be posted. To subscribe to the meta-xilinx-tools mailing list go to https://lists.yoctoproject.org/listinfo/meta-xilinx.Please follow the guidlines as indicated in README
Release notes:
2018.1
Getting Started With Yocto
The meta-xilinx layer can be used with a variety of Yocto setups and configurations. There are a number of resources available for which cover getting started with Yocto and OE, below is a collection of useful resources.
↧
ZynqMP Ethernet Performance 2017.3
...
These measurements are obtained against Fedora-20 high performance peer machine. The NIC on motherboard has been used with default offload options(GSO, TSO) enabled. Performance is expected to differ when a different peer OS is used and peer NIC offload options are disabled.
Please note: We fully verified and tested the designs with ZCU102 Rev1.1, production silicon(4.0) board. For 1G validation, Cisco GLC-T 1000BASE-X Ethernet to SFP Module is used. For 10G, Solarflare's SFN6322F Dual-Port 10GbE SFP+ Adapter is the NIC that has been used; and together with Avago afbr-709smz optical to Ethernet SFP+ module.
TESTING WITH LINUX HOST MACHINE
1. PS-MIO Ethernet
↧
↧
ZynqMP Ethernet Performance 2017.3
...
(GSO, TSO) enabled. Performance is expected to differ when a different peer OS is used and peer NIC offload options are disabled.Please note: We fully verified and tested the designs with ZCU102 Rev1.1, production silicon(4.0) board. For 1G validation, Cisco GLC-T 1000BASE-X Ethernet to SFP Module is used. For 10G, Solarflare's SFN6322F Dual-Port 10GbE SFP+ Adapter is the NIC that has been used; and together with Avago afbr-709smz optical to Ethernet SFP+ module.
In order to get benchmark performance numbers
-> use a standard Linux machine on the other end
-> Make sure CPU frequency is of the order of 1GHz for ZynqMP.
-> Bus speed should be negotiated at 1000Mbps/Full duplex
TESTING WITH LINUX HOST MACHINE
1. PS-MIO Ethernet
↧
ZynqMP Ethernet Performance 2017.3
↧
Build U-Boot
...
PlatformU-Boot target
Zynq UltraScale+ MPSoC mini
xilinx_zynqmp_mini_defconfig
Zynq UltraScale+ MPSoC mini_emm0
xilinx_zynqmp_mini_emmc0_defconfig
Zynq UltraScale+ MPSoC mini_emm1
xilinx_zynqmp_mini_emmc1_defconfig
Zynq UltraScale+ MPSoC mini_nand
xilinx_zynqmp_mini_nand_defconfig
Zynq UltraScale+ MPSoC mini_qspi
xilinx_zynqmp_mini_qspi_defconfig
Zynq UltraScale+ MPSoC ZC1232
xilinx_zynqmp_zc1232_revA_defconfig
Zynq UltraScale+ MPSoC ZC1254
xilinx_zynqmp_zc1254_revA_defconfig
Zynq UltraScale+ MPSoC ZC1275
xilinx_zynqmp_zc1275_revB_defconfig
Zynq UltraScale+ MPSoC ZC1751_dc1
xilinx_zynqmp_zc1751_xm015_dc1_defconfig
Zynq UltraScale+ MPSoC ZC1751_dc2
xilinx_zynqmp_zc1751_xm016_dc2_defconfig
Zynq UltraScale+ MPSoC ZC1751_dc3
xilinx_zynqmp_zc1751_xm017_dc3_defconfig
Zynq UltraScale+ MPSoC ZC1751_dc4
xilinx_zynqmp_zc1751_xm018_dc4_defconfig
Zynq UltraScale+ MPSoC ZC1751_dc5
xilinx_zynqmp_zc1751_xm019_dc5_defconfig
Zynq UltraScale+ MPSoC ZCU100
xilinx_zynqmp_zcu100_revC_defconfig
Zynq UltraScale+ MPSoC ZCU102
Zynq UltraScale+ MPSoC ZCU104
xilinx_zynqmp_zcu104_revC_defconfig
Zynq UltraScale+ MPSoC ZCU106
xilinx_zynqmp_zcu106_revA_defconfig
Zynq UltraScale+ MPSoC ZCU111
xilinx_zynqmp_zcu111_revA_defconfig
Zynq CC108
zynq_cc108_defconfig
Zynq cse_nand
zynq_cse_nand_defconfig
Zynq cse_nor
zynq_cse_nor_defconfig
Zynq cse_qspi
zynq_cse_qspi_defconfig
Zynq MicroZedBoard
zynq_microzed_defconfig
Zynq PicoZedBoard
zynq_picozed_defconfig
Zynq ZC702
Zynq ZC702_RSA
zynq_zc702_RSA_defconfig
Zynq ZC706
Zynq ZC770 DC1
zynq_zc770_xm010_defconfig
Zynq ZC770 DC2 with x8 NAND
zynq_zc770_xm011_defconfig
Zynq ZC770 DC2 with x16 NAND
zynq_zc770_xm011_x16_defconfig
Zynq ZC770 DC3
zynq_zc770_xm012_defconfig
Zynq ZC770 DC4
zynq_zc770_xm013_defconfig
Zynq Zed Board
Zynq
zynq_microzed_config
zynq_z_turn_defconfig
Zynq
zynq_picozed_config
MicroBlaze
microblaze_generic_config
PPC
xilinx-ppc405-generic_config
xilinx-ppc440-generic_config
zynq_zybo_defconfig
Zynq Syzygy Board
syzygy_hub_defconfig
Zynq Miami Board
topic_miami_defconfig
To build U-Boot for ZC702 execute:
make zynq_zc702_config
↧