Skip to content

Add demo for wolfBoot + wolfIP on AMD UltraScale+ MPSoC (ZCU102)#12

Open
dgarske wants to merge 3 commits into
wolfSSL:masterfrom
dgarske:zcu102-wolfip-demo
Open

Add demo for wolfBoot + wolfIP on AMD UltraScale+ MPSoC (ZCU102)#12
dgarske wants to merge 3 commits into
wolfSSL:masterfrom
dgarske:zcu102-wolfip-demo

Conversation

@dgarske

@dgarske dgarske commented Jun 16, 2026

Copy link
Copy Markdown
Member

No description provided.

@dgarske dgarske self-assigned this Jun 16, 2026
Copilot AI review requested due to automatic review settings June 16, 2026 21:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new ZCU102 (ZynqMP) example demonstrating secure boot of a bare-metal wolfIP application chain-loaded by wolfBoot, including a signed OTA update flow staged to the SD card.

Changes:

  • New ZCU102 demo README documenting boot chain, build, SD programming, and OTA update steps.
  • New build.sh to build wolfBoot, build/sign the wolfIP app, and assemble BOOT.BIN via bootgen.
  • New program-sd.sh to provision BOOT.BIN and the signed application onto an SD card, plus supporting boot.bif.in and .gitignore.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
zynqmp-zcu102-wolfip/README.md Documents the demo’s boot chain, build steps, SD provisioning, and OTA update workflow.
zynqmp-zcu102-wolfip/build.sh Automates building wolfBoot + wolfIP app, signing, and generating BOOT.BIN.
zynqmp-zcu102-wolfip/program-sd.sh Writes BOOT.BIN to the FAT partition and the signed app to the raw slot on SD.
zynqmp-zcu102-wolfip/boot.bif.in bootgen template describing the ZynqMP boot image composition.
zynqmp-zcu102-wolfip/.gitignore Ignores build artifacts under out/.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread zynqmp-zcu102-wolfip/README.md Outdated
Comment thread zynqmp-zcu102-wolfip/README.md Outdated
Comment thread zynqmp-zcu102-wolfip/build.sh Outdated
Comment thread zynqmp-zcu102-wolfip/build.sh Outdated
Comment thread zynqmp-zcu102-wolfip/program-sd.sh Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Comment thread zynqmp-zcu102-wolfip/build.sh Outdated
Comment on lines +44 to +46
( cd "$WOLFBOOT" && make keytools >/dev/null \
&& make clean >/dev/null 2>&1 || true )
( cd "$WOLFBOOT" && make CROSS_COMPILE="$CROSS" wolfboot.elf )
Comment thread zynqmp-zcu102-wolfip/build.sh Outdated
cp "$OUT/wolfip_app_v${UPDATE_VERSION}_signed.bin" "$OUT/wolfip_update.bin"

echo "== 3/3 BOOT.BIN (FSBL+PMUFW+BL31+wolfBoot) =="
sed -e "s|@FW@|$FW|g" -e "s|@WOLFBOOT@|$OUT|g" "$HERE/boot.bif.in" > "$OUT/boot.bif"
Comment thread zynqmp-zcu102-wolfip/program-sd.sh Outdated
Comment on lines +42 to +45
MNT="$(mktemp -d)"
sudo mount "${SD}${P}1" "$MNT"
sudo cp "$OUT/BOOT.BIN" "$MNT/BOOT.BIN"
sync; sudo umount "$MNT"; rmdir "$MNT"
Comment on lines +25 to +27
[ -f "$IMG" ] || { echo "ERROR: $IMG not found - run ./build.sh first" >&2; exit 1; }
[ -d "$TFTP_ROOT" ] || { echo "ERROR: TFTP_ROOT $TFTP_ROOT is not a directory - start a TFTP server or set TFTP_ROOT=" >&2; exit 1; }
command -v nc >/dev/null || { echo "ERROR: 'nc' (netcat) not found" >&2; exit 1; }
Comment thread zynqmp-zcu102-wolfip/README.md Outdated
## Prerequisites

- **wolfBoot** - the `../wolfBoot` submodule: `git submodule update --init --recursive wolfBoot`
- **wolfIP** - a sibling clone of [wolfssl/wolfip](https://github.com/wolfSSL/wolfip) (the AMD/Xilinx ports + the ZCU102 OTA support): `git clone https://github.com/wolfSSL/wolfip ../../wolfip` (override with `WOLFIP=/path/to/wolfip`).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants