diff --git a/recipes-core/images/zup-image-soleil-fofb.bb b/recipes-core/images/zup-image-soleil-fofb.bb
index 6ecdf7fd57a133727affecac60395b48875cb855..c3620b06678fc1d6186e52530252c990ebe3c041 100644
--- a/recipes-core/images/zup-image-soleil-fofb.bb
+++ b/recipes-core/images/zup-image-soleil-fofb.bb
@@ -1,36 +1,34 @@
 DESCRIPTION = "FOFB system for DAMC-FMC2ZUP"
 
+COMPATIBLE_MACHINE = "damc-fmc2zup"
+
 # disable autologin at startup on serial tty
 IMAGE_AUTOLOGIN = "0"
 
-# Based on the petalinux image minimal
-require ./recipes-core/images/petalinux-image-minimal.bb
+# Based on techlab headless image
+require recipes-core/images/techlab-headless.inc
 
 # Include ZUP common
 # this deploy HW packages for zup, zup-demo package
 # and some applications (htop, vim, nano, python3...)
-require ./recipes-core/images/zup-common.inc
+require ./recipes-core/images/techlab-common.inc
 
 # Add features
 IMAGE_FEATURES_append = " \
     package-management \
-    petalinux-base \
-    petalinux-networking-stack \
-    petalinux-utils \
     petalinux-python-modules \
     "
 
+# If we want FPGA manager
+#IMAGE_FEATURES_append = " fpga-manager"
+
 # Add applications
-IMAGE_INSTALL_append = " haveged"
+IMAGE_INSTALL_append = " packagegroup-zup-support"
 IMAGE_INSTALL_append = " util-linux glibc-utils sudo"
-IMAGE_INSTALL_append = " packagegroup-techlab-devbox"
-IMAGE_INSTALL_append = " packagegroup-locale-support"
-IMAGE_INSTALL_append = " packagegroup-recovery-support"
 IMAGE_INSTALL_append = " python3-asyncua"
-
-# Switch root shell to zsh
-inherit extrausers
-EXTRA_USERS_PARAMS = "usermod -s /bin/zsh root"
+IMAGE_INSTALL_append = " python3-pytango"
+IMAGE_INSTALL_append = " cifs-utils"
+IMAGE_INSTALL_append = " boost"
 
 # Remove graphical features
 DISTRO_FEATURES_remove = " x11 wayland opengl qt jupyter"
diff --git a/recipes-fpga/hdf/damc-fmc2zup/zu11eg/damc_fmc2zup_top.xsa b/recipes-fpga/hdf/damc-fmc2zup/zu11eg/damc_fmc2zup_top.xsa
new file mode 100644
index 0000000000000000000000000000000000000000..d90aa3996e0d2eec6db779d961b836cf0b4aa4d1
Binary files /dev/null and b/recipes-fpga/hdf/damc-fmc2zup/zu11eg/damc_fmc2zup_top.xsa differ
diff --git a/recipes-fpga/hdf/external-hdf.bbappend b/recipes-fpga/hdf/external-hdf.bbappend
new file mode 100644
index 0000000000000000000000000000000000000000..ecb3b7fa8b1f272a5c68bdb6d29e56f3f9af625f
--- /dev/null
+++ b/recipes-fpga/hdf/external-hdf.bbappend
@@ -0,0 +1,16 @@
+# Written from techloab demo. Only one FPGA is targeted for us
+
+PL_VARIANTS_damc-fmc2zup = "zu11eg zu19eg"
+ZUP_FPGA_VARIANT ?= "zu11eg"
+
+# Default variant is selected if fpga-manager is not enabled
+PL_DEFAULT_VARIANT_damc-fmc2zup = "${ZUP_FPGA_VARIANT}"
+
+# Give info on the HDF file
+HDF_BASE = "file://${PL_DEFAULT_VARIANT}/"
+HDF_PATH_damc-fmc2zup = "damc_fmc2zup_top.xsa"
+
+S = "${WORKDIR}"
+SRC_URI += " file://*"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}:"