-
-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Xilinx ZCU102 #427
Open
karthikpoduval
wants to merge
4
commits into
YoeDistro:dunfell
Choose a base branch
from
karthikpoduval:dunfell_xilinx_staging
base: dunfell
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,3 +82,4 @@ IMG_VERSION = "0.0.1" | |
#-l ${@int(os.sysconf(os.sysconf_names['SC_NPROCESSORS_ONLN'])) * 150/100} \ | ||
#" | ||
# | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Notes on using Yoe on the Xilinx ZCU102 | ||
|
||
[up](README.md) | ||
|
||
[BSP Layer documentation](meta-xilinx/meta-xilinx-bsp/README.building.md) | ||
|
||
## Building/installing an image | ||
|
||
1. `git clone git://github.com/YoeDistro/yoe-distro.git` | ||
1. `cd yoe-distro` | ||
1. `. zcu102-zynqmp-envsetup.sh` | ||
1. `yoe_setup` | ||
1. add following to conf/local.conf | ||
```console | ||
IMAGE_BOOT_FILES_append = " boot.bin" | ||
PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware" | ||
PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin" | ||
PREFERRED_PROVIDER_virtual/dtb = "device-tree" | ||
PREFERRED_PROVIDER_qemu-native = "qemu-xilinx-native" | ||
PREFERRED_PROVIDER_qemu-helper-native = "qemu-helper-native" | ||
IMAGE_INSTALL_remove = " qemu" | ||
``` | ||
1. `bitbake petalinux-image-minimal` | ||
1. insert SD card | ||
1. `lsblk` (note sd card device, and substitute for /dev/sdX below) | ||
1. `yoe_install_image /dev/sdX petalinux-image-minimal` | ||
1. optional: configure console for serial port (see below) | ||
1. `sudo eject /dev/sdX` | ||
|
||
*core-image-minimal also works, but yoe-simple-image builds but would not boot up and gets stuck in kernel * |
Submodule meta-petalinux
added at
6daf05
Submodule meta-xilinx
added at
084f9d
Submodule meta-xilinx-tools
added at
0e1e3b
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
envsetup.sh |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally we would advise putting these changes in site.conf to be captured in git and shared with the team. local.conf is intended only for settings that are use specific and not checked into git.
https://github.com/YoeDistro/yoe-distro/blob/dunfell/docs/conf-files.md
However, I wonder if these settings can be captured just for these machines (machine conf, etc)?
One thing we try to do with Yoe is keep the system such that you can build for multiple machines in one build system -- this is handy if you are maintaining multiple projects/products.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @cbrake I am adding them to site.conf with machine specific variables, something like this.
diff --git a/conf/site.conf b/conf/site.conf
index f643f48..81d26d5 100644
--- a/conf/site.conf
+++ b/conf/site.conf
@@ -71,6 +71,14 @@ IMAGE_BOOT_FILES_append_sama5d27-som1-ek-sd = "
"
WKS_FILE_sama5d27-som1-ek-sd = "yoe-sdimage.wks"
+# Xilinx zcu102 specific configurations
+IMAGE_BOOT_FILES_append_zcu102-zynqmp = " boot.bin"
+PREFERRED_PROVIDER_qemu-native_zcu102-zynqmp = "qemu-xilinx-native"
+PREFERRED_PROVIDER_virtual/pmu-firmware_zcu102-zynqmp = "pmu-firmware"
+PREFERRED_PROVIDER_virtual/boot-bin_zcu102-zynqmp = "xilinx-bootbin"
+PREFERRED_PROVIDER_virtual/dtb_zcu102-zynqmp = "device-tree"
It works fine.
Maybe its the inclusion of the Xilinx machine (which also provides QEMU) there is NOTE in the build.
NOTE: Resolving any missing task queue dependencies
NOTE: Multiple providers are available for qemu-native (qemu-native, qemu-xilinx-native)
Consider defining a PREFERRED_PROVIDER entry to match qemu-native
NOTE: Multiple providers are available for runtime nativesdk-qemu (nativesdk-qemu, nativesdk-qemu-xilinx)
Consider defining a PREFERRED_RPROVIDER entry to match nativesdk-qemu
Kindly advice on how to resolve.
Also what to do about these warnings (introduced by Xilinx layers) ?
WARNING: No recipes available for:
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_10.%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/newlib/libgloss_3.3.%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/newlib/newlib_3.3.%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-browser/chromium/chromium-x11_%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-browser/chromium/gn-native_%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-extended/images/xen-image-minimal.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-extended/xen/xen_git.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux/recipes-support/opencv/opencv_4.3%.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess those warnings are because of stale recipes from Xilinx layers, I wish there was patch process on the layers themselves :). For the NOTE I think I have it working with defining some defaults before the xilinx specific confs.
+PREFERRED_PROVIDER_qemu-native ?= "qemu-native"
+PREFERRED_PROVIDER_nativesdk-qemu ?= "nativesdk-qemu"
I will put up a new pull request now, thanks.