aboutsummaryrefslogtreecommitdiffstats
path: root/meta-zephyr-core/recipes-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'meta-zephyr-core/recipes-kernel')
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-add-yocto-toolchain.patch63
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-added-missing-file-ext-to.patch42
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch80
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/files/arduino-nano-33-ble-storage-partition.patch49
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/files/dtc.patch43
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-blinky.bb3
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-client.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-server.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-echo-client.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb3
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-http-client.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-image.inc17
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc67
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.6.1.inc20
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.1.inc20
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-dev.inc17
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb19
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc27
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test-all.bb18
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb4
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc63
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-lvgl.bb18
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-mqtt-publisher.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openamp-rsc-table.bb10
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openthread-echo-client.bb13
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb5
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb3
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-sample.inc23
-rw-r--r--meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-websocket-client.bb5
31 files changed, 667 insertions, 0 deletions
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-add-yocto-toolchain.patch b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-add-yocto-toolchain.patch
new file mode 100644
index 0000000..563af7d
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-add-yocto-toolchain.patch
@@ -0,0 +1,63 @@
+From bfab268c870548e3e7a24ea67ebed2a0513b2307 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 7 Jul 2021 13:53:05 +0800
+Subject: [PATCH] cmake: add yocto toolchain
+
+Upstream status: inappropriate [OE specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ cmake/compiler/gcc/target.cmake | 7 -------
+ cmake/toolchain/yocto/generic.cmake | 13 +++++++++++++
+ cmake/toolchain/yocto/target.cmake | 1 +
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+ create mode 100644 cmake/toolchain/yocto/generic.cmake
+ create mode 100644 cmake/toolchain/yocto/target.cmake
+
+diff --git a/cmake/compiler/gcc/target.cmake b/cmake/compiler/gcc/target.cmake
+index 2b90c5d2ef..b6f28b2f87 100644
+--- a/cmake/compiler/gcc/target.cmake
++++ b/cmake/compiler/gcc/target.cmake
+@@ -68,13 +68,6 @@ execute_process(
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+-assert_exists(LIBGCC_FILE_NAME)
+-
+-get_filename_component(LIBGCC_DIR ${LIBGCC_FILE_NAME} DIRECTORY)
+-
+-assert_exists(LIBGCC_DIR)
+-
+-LIST(APPEND LIB_INCLUDE_DIR "-L\"${LIBGCC_DIR}\"")
+ LIST(APPEND TOOLCHAIN_LIBS gcc)
+
+ if(SYSROOT_DIR)
+diff --git a/cmake/toolchain/yocto/generic.cmake b/cmake/toolchain/yocto/generic.cmake
+new file mode 100644
+index 0000000000..45e5777e2a
+--- /dev/null
++++ b/cmake/toolchain/yocto/generic.cmake
+@@ -0,0 +1,13 @@
++set(COMPILER gcc)
++set(LINKER ld)
++set(BINTOOLS gnu)
++
++set(ZEPHYR_SYSROOT ${ZEPHYR_SYSROOT})
++set(SYSROOT_DIR ${ZEPHYR_SYSROOT})
++set(LIBC_LIBRARY_DIR "\"${SYSROOT_DIR}\"/")
++set(LIBC_INCLUDE_DIR ${SYSROOT_DIR}/include)
++LIST(APPEND TOOLCHAIN_LIBS gcc)
++
++LIST(APPEND LIB_INCLUDE_DIR "-L\"${STAGING_LIBDIR}\"")
++
++set(TOOLCHAIN_LIBS gcc)
+diff --git a/cmake/toolchain/yocto/target.cmake b/cmake/toolchain/yocto/target.cmake
+new file mode 100644
+index 0000000000..9881313609
+--- /dev/null
++++ b/cmake/toolchain/yocto/target.cmake
+@@ -0,0 +1 @@
++# SPDX-License-Identifier: Apache-2.0
+--
+2.17.1
+
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-added-missing-file-ext-to.patch b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-added-missing-file-ext-to.patch
new file mode 100644
index 0000000..6aeca14
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-cmake-added-missing-file-ext-to.patch
@@ -0,0 +1,42 @@
+From 783c1f78c8e39751fe89d0883c8bce7336f55e94 Mon Sep 17 00:00:00 2001
+From: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
+Date: Thu, 19 Aug 2021 08:53:00 +0200
+Subject: [PATCH] cmake: added missing file ext to
+ lv_font_dejavu_16_persian_hebrew.c
+
+CMake >= 3.20 requires file extensions explicitly added to source files.
+
+See CMP0115:
+> Starting in CMake 3.20, CMake prefers all source files to have their
+> extensions explicitly listed:
+
+In the CMakeLists.txt, the file lv_font_dejavu_16_persian_hebrew.c
+was added without its .c extension, causing never CMakes ti fail
+discovering the file.
+
+This has been fixed by correctly add the file as:
+lv_font_dejavu_16_persian_hebrew.c
+
+Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
+---
+Upstream-status: Accepted
+
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57b07c84..0f433edc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,7 +58,7 @@ zephyr_library_sources(
+ src/lv_misc/lv_utils.c
+
+ src/lv_font/lv_font.c
+- src/lv_font/lv_font_dejavu_16_persian_hebrew
++ src/lv_font/lv_font_dejavu_16_persian_hebrew.c
+ src/lv_font/lv_font_fmt_txt.c
+ src/lv_font/lv_font_loader.c
+ src/lv_font/lv_font_montserrat_12.c
+--
+Gitee
+
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch
new file mode 100644
index 0000000..fd6fc6b
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch
@@ -0,0 +1,80 @@
+From cfde3b1018c3151b6cc1fbe3e9e163d0aaf16954 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Tue, 11 May 2021 13:46:39 +0800
+Subject: [PATCH] x86: fix efi binary generation issue in cross compilation env
+
+Set root directory for headers.
+
+Upstream-Status: Inappropriate [Cross-compilation specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ arch/x86/zefi/zefi.py | 6 +++++-
+ boards/x86/ehl_crb/CMakeLists.txt | 1 +
+ boards/x86/qemu_x86/CMakeLists.txt | 1 +
+ boards/x86/up_squared/CMakeLists.txt | 1 +
+ 4 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/arch/x86/zefi/zefi.py b/arch/x86/zefi/zefi.py
+index d3514391a8..b9eccbfa10 100755
+--- a/arch/x86/zefi/zefi.py
++++ b/arch/x86/zefi/zefi.py
+@@ -106,7 +106,10 @@ def build_elf(elf_file):
+ # + We need pic to enforce that the linker adds no relocations
+ # + UEFI can take interrupts on our stack, so no red zone
+ # + UEFI API assumes 16-bit wchar_t
+- cmd = [args.compiler, "-shared", "-Wall", "-Werror", "-I.",
++
++ # Pass --sysroot path for cross compilation
++ sysrootarg = "--sysroot=" + args.sysroot
++ cmd = [args.compiler, "-shared", "-Wall", "-Werror", "-I.", sysrootarg,
+ "-fno-stack-protector", "-fpic", "-mno-red-zone", "-fshort-wchar",
+ "-Wl,-nostdlib", "-T", ldscript, "-o", "zefi.elf", cfile]
+ verbose(" ".join(cmd))
+@@ -145,6 +148,7 @@ def parse_args():
+ parser.add_argument("-o", "--objcopy", required=True, help="objcopy to be used")
+ parser.add_argument("-f", "--elf-file", required=True, help="Input file")
+ parser.add_argument("-v", "--verbose", action="store_true", help="Verbose output")
++ parser.add_argument("-s", "--sysroot", required=True, help="Cross compilation --sysroot=path")
+
+ return parser.parse_args()
+
+diff --git a/boards/x86/ehl_crb/CMakeLists.txt b/boards/x86/ehl_crb/CMakeLists.txt
+index 0d572eff30..6a228107dc 100644
+--- a/boards/x86/ehl_crb/CMakeLists.txt
++++ b/boards/x86/ehl_crb/CMakeLists.txt
+@@ -5,6 +5,7 @@ set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
+ -c ${CMAKE_C_COMPILER}
+ -o ${CMAKE_OBJCOPY}
+ -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
++ -s ${SYSROOT_DIR}
+ $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+ )
+diff --git a/boards/x86/qemu_x86/CMakeLists.txt b/boards/x86/qemu_x86/CMakeLists.txt
+index 1131a5c7ce..489f17192b 100644
+--- a/boards/x86/qemu_x86/CMakeLists.txt
++++ b/boards/x86/qemu_x86/CMakeLists.txt
+@@ -4,6 +4,7 @@ set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
+ -c ${CMAKE_C_COMPILER}
+ -o ${CMAKE_OBJCOPY}
+ -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
++ -s ${SYSROOT_DIR}
+ $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+ )
+diff --git a/boards/x86/up_squared/CMakeLists.txt b/boards/x86/up_squared/CMakeLists.txt
+index 0eaa9753fc..2e8ce7cfbc 100644
+--- a/boards/x86/up_squared/CMakeLists.txt
++++ b/boards/x86/up_squared/CMakeLists.txt
+@@ -5,6 +5,7 @@ set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
+ -c ${CMAKE_C_COMPILER}
+ -o ${CMAKE_OBJCOPY}
+ -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
++ -s ${SYSROOT_DIR}
+ $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+ )
+--
+2.17.1
+
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/arduino-nano-33-ble-storage-partition.patch b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/arduino-nano-33-ble-storage-partition.patch
new file mode 100644
index 0000000..4568a41
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/arduino-nano-33-ble-storage-partition.patch
@@ -0,0 +1,49 @@
+commit 6c9945aafa00c09149e2052a9c2bccad16dd1d8a
+Author: Stefan Schmidt <stefan.schmidt@huawei.com>
+Date: Fri May 7 11:47:44 2021 +0200
+
+ boards/arduino_nano_33_ble: add storage partition at end of flash
+
+ Change default partition table to allow for application which need
+ storage. One use case is running the OpenThread integration which has
+ a dependency on this.
+
+ Upstream-Status: Backported [https://github.com/zephyrproject-rtos/zephyr/commit/6c9945aafa00c09149e2052a9c2bccad16dd1d8a]
+
+ Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com>
+ Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+
+diff --git a/boards/arm/arduino_nano_33_ble/arduino_nano_33_ble.dts b/boards/arm/arduino_nano_33_ble/arduino_nano_33_ble.dts
+index d09b66ec43..d11d800eb5 100644
+--- a/boards/arm/arduino_nano_33_ble/arduino_nano_33_ble.dts
++++ b/boards/arm/arduino_nano_33_ble/arduino_nano_33_ble.dts
+@@ -44,15 +44,27 @@
+
+ boot_partition: partition@0 {
+ label = "sam-ba";
+- reg = <0x0 0x10000>;
++ reg = <0x00000000 0x00010000>;
+ read-only;
+ };
+
+ code_partition: partition@10000 {
+ label = "code";
+- reg = <0x10000 0xf0000>;
++ reg = <0x00010000 0x000e8000>;
+ read-only;
+ };
++
++ /*
++ * The flash starting at 0x000f8000 and ending at
++ * 0x000fffff is reserved for use by the application.
++ *
++ * Storage partition will be used by FCB/LittleFS/NVS
++ * if enabled.
++ */
++ storage_partition: partition@f8000 {
++ label = "storage";
++ reg = <0x000f8000 0x00008000>;
++ };
+ };
+ };
+
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/dtc.patch b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/dtc.patch
new file mode 100644
index 0000000..f23a438
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/dtc.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Submitted [https://github.com/zephyrproject-rtos/zephyr/pull/40364]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From deb6e9b29d77f0d86eb188fb3c5fc6f470277d3d Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Mon, 15 Nov 2021 14:01:47 +0000
+Subject: [PATCH] cmake: expand DTC version regex
+
+DTC can be built with both traditional Makefiles or Meson. When built
+with Makefiles the --version output looks like 'Version: DTC
+1.6.1-dirty' but when built with Meson the output is 'Version: DTC
+v1.6.1+.
+
+This fails to match the version regex and the cmake then fails:
+
+CMake Error at cmake/host-tools.cmake:28 (if):
+ if given arguments:
+ "VERSION_GREATER" "1.4.6"
+ Unknown arguments specified
+
+Expanding the regex with an optional 'v' covers both cases and the build
+succeeds.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ cmake/host-tools.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/host-tools.cmake b/cmake/host-tools.cmake
+index cb7bf2e281..93d33d6390 100644
+--- a/cmake/host-tools.cmake
++++ b/cmake/host-tools.cmake
+@@ -20,7 +20,7 @@ if(DTC)
+ )
+
+ if(${dtc_status} EQUAL 0)
+- string(REGEX MATCH "Version: DTC ([0-9]+[.][0-9]+[.][0-9]+).*" out_var ${dtc_version_output})
++ string(REGEX MATCH "Version: DTC v?([0-9]+[.][0-9]+[.][0-9]+).*" out_var ${dtc_version_output})
+
+ # Since it is optional, an outdated version is not an error. If an
+ # outdated version is discovered, print a warning and proceed as if
+--
+2.25.1
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-blinky.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-blinky.bb
new file mode 100644
index 0000000..bd5ce4f
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-blinky.bb
@@ -0,0 +1,3 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/basic/blinky"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-client.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-client.bb
new file mode 100644
index 0000000..1c79dbe
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-client.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/sockets/coap_client"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-server.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-server.bb
new file mode 100644
index 0000000..7100f96
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-coap-server.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/sockets/coap_server"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-echo-client.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-echo-client.bb
new file mode 100644
index 0000000..e7fcaab
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-echo-client.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/sockets/echo_client"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb
new file mode 100644
index 0000000..c66c7ec
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/bluetooth/hci_uart"
+
+COMPATIBLE_MACHINE = "(96b-nitrogen)"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb
new file mode 100644
index 0000000..ac5ce62
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb
@@ -0,0 +1,3 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/hello_world"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-http-client.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-http-client.bb
new file mode 100644
index 0000000..d06ad37
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-http-client.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/sockets/http_client"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-image.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-image.inc
new file mode 100644
index 0000000..c77692d
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-image.inc
@@ -0,0 +1,17 @@
+require zephyr-kernel-src.inc
+require zephyr-kernel-common.inc
+
+inherit testimage
+inherit deploy
+
+QEMU_BIN_PATH = "${STAGING_BINDIR_NATIVE}"
+
+ZEPHYR_BASE = "${S}"
+OECMAKE_SOURCEPATH = "${S}/${ZEPHYR_SRC_DIR}"
+
+do_deploy () {
+ install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${ZEPHYR_IMAGENAME}
+}
+
+addtask deploy after do_compile
+do_install[noexec] = "1"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
new file mode 100644
index 0000000..5ae7504
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
@@ -0,0 +1,67 @@
+# Common settings for all Zephyr recipes
+
+ZEPHYR_INHERIT_CLASSES += "zephyr cmake"
+inherit ${ZEPHYR_INHERIT_CLASSES}
+inherit python3native
+
+# There shouldn't be a manifest for zephyr kernels since there is no root
+# filesystem.
+IMAGE_NO_MANIFEST = "1"
+
+ZEPHYR_GCC_VARIANT="yocto"
+ZEPHYR_SYSROOT="${STAGING_DIR_TARGET}"
+
+ZEPHYR_MAKE_OUTPUT = "zephyr.elf"
+ZEPHYR_MAKE_BIN_OUTPUT = "zephyr.bin"
+ZEPHYR_MAKE_EFI_OUTPUT = "zephyr.efi"
+
+EXTRA_OECMAKE = "\
+ -DZEPHYR_BASE=${S} \
+ -DZEPHYR_GCC_VARIANT=yocto \
+ -DBOARD=${BOARD} \
+ -DARCH=${ARCH} \
+ -DCROSS_COMPILE=${CROSS_COMPILE} \
+ -DZEPHYR_SYSROOT=${ZEPHYR_SYSROOT} \
+ -DZEPHYR_TOOLCHAIN_VARIANT=yocto \
+ -DEXTRA_CPPFLAGS=${CPPFLAGS} \
+ "
+
+ZEPHYR_MODULES = ""
+ZEPHYR_MODULES:append:arm = "\;${S}/modules/cmsis"
+ZEPHYR_MODULES:append:nordic = "\;${S}/modules/hal/nordic"
+ZEPHYR_MODULES:append:stm32 = "\;${S}/modules/hal/stm32"
+ZEPHYR_MODULES:append:openamp = "\;${S}/modules/lib/open-amp\;${S}/modules/hal/libmetal"
+
+EXTRA_OECMAKE:append = " -DZEPHYR_MODULES=${ZEPHYR_MODULES}"
+
+export ZEPHYR_BASE="${S}"
+
+DEPENDS += "gperf-native python3-pyelftools-native python3-pyyaml-native python3-pykwalify-native"
+CROSS_COMPILE = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}"
+
+DEPENDS:append:qemuall = " qemu-native qemu-helper-native"
+
+# The makefiles are explicit about the flags they want, so don't unset
+# them so zephyr flags actually get used.
+# This is done here rather than in the task so that things still work
+# in devshell.
+
+python () {
+ d.delVar('CFLAGS')
+ d.delVar('CXXFLAGS')
+ d.delVar('LDFLAGS')
+}
+
+OE_TERMINAL_EXPORTS += "CROSS_COMPILE"
+OE_TERMINAL_EXPORTS += "BOARD"
+OE_TERMINAL_EXPORTS += "ZEPHYR_SRC_DIR"
+OE_TERMINAL_EXPORTS += "ZEPHYR_BASE"
+OE_TERMINAL_EXPORTS += "ZEPHYR_SYSROOT"
+OE_TERMINAL_EXPORTS += "ZEPHYR_GCC_VARIANT"
+
+IMAGE_FSTYPES = "elf bin"
+
+do_configure:prepend() {
+ # Zephyr expects CPPFLAGS as cmake argument as and ignores env variables.
+ unset CPPFLAGS
+}
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.6.1.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.6.1.inc
new file mode 100644
index 0000000..ce5e067
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.6.1.inc
@@ -0,0 +1,20 @@
+SRCREV_FORMAT = "default_cmsis"
+SRCREV_cmsis = "c3bd2094f92d574377f7af2aec147ae181aa5f8e"
+SRCREV_default = "2d6322d74aaac838ead46bfcba0db619cff4b534"
+SRCREV_libmetal = "39d049d4ae68e6f6d595fce7de1dcfc1024fb4eb"
+SRCREV_lvgl = "31acbaa36e9e74ab88ac81e3d21e7f1d00a71136"
+SRCREV_mbedtls = "5765cb7f75a9973ae9232d438e361a9d7bbc49e7"
+SRCREV_nordic = "574493fe29c79140df4827ab5d4a23df79d03681"
+SRCREV_open-amp = "6010f0523cbc75f551d9256cf782f173177acdef"
+SRCREV_openthread = "385e19da1ae15f27872c2543b97276a42f102ead"
+SRCREV_stm32 = "f8ff8d25aa0a9e65948040c7b47ec67f3fa300df"
+SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
+
+ZEPHYR_BRANCH = "v2.6-branch"
+PV = "2.6.1+git${SRCPV}"
+
+SRC_URI:append = " \
+ file://0001-cmake-add-yocto-toolchain.patch \
+ file://0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch \
+ file://arduino-nano-33-ble-storage-partition.patch \
+"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.1.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.1.inc
new file mode 100644
index 0000000..9d31c69
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.1.inc
@@ -0,0 +1,20 @@
+SRCREV_FORMAT = "default_cmsis"
+SRCREV_cmsis = "b0612c97c1401feeb4160add6462c3627fe90fc7"
+SRCREV_default = "e4da3e528088a34a9989f5a50e7ed3149d57de92"
+SRCREV_libmetal = "39d049d4ae68e6f6d595fce7de1dcfc1024fb4eb"
+SRCREV_lvgl = "31acbaa36e9e74ab88ac81e3d21e7f1d00a71136"
+SRCREV_mbedtls = "5765cb7f75a9973ae9232d438e361a9d7bbc49e7"
+SRCREV_nordic = "a6e5299041f152da5ae0ab17b2e44e088bb96d6d"
+SRCREV_open-amp = "6010f0523cbc75f551d9256cf782f173177acdef"
+SRCREV_openthread = "5d706547ebcb0a85e11412bcd88e80e2af98c74d"
+SRCREV_stm32 = "5c8275071ec1cf160bfe8c18bbd9330a7d714dc8"
+SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
+
+ZEPHYR_BRANCH = "v2.7-branch"
+PV = "2.7.1+git${SRCPV}"
+
+SRC_URI:append = " \
+ file://0001-cmake-add-yocto-toolchain.patch \
+ file://0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch \
+ file://dtc.patch \
+"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-dev.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-dev.inc
new file mode 100644
index 0000000..da2a5d5
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-dev.inc
@@ -0,0 +1,17 @@
+SRCREV_FORMAT = "default_cmsis"
+SRCREV_default = "72bb75a360ce05bfc94ff0fbecda2e2d094e3d84"
+SRCREV_cmsis = "c3bd2094f92d574377f7af2aec147ae181aa5f8e"
+SRCREV_nordic = "00fd2aa97a22ea1052d9dabe1b18ab396daab93a"
+SRCREV_stm32 = "4200321ef1cd27cacc37b0439389424156bb1267"
+SRCREV_open-amp = "6010f0523cbc75f551d9256cf782f173177acdef"
+SRCREV_openthread = "542b14a5bc5b38f29e2cab892c66da670a524b05"
+SRCREV_libmetal = "39d049d4ae68e6f6d595fce7de1dcfc1024fb4eb"
+SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
+SRCREV_mbedtls = "5765cb7f75a9973ae9232d438e361a9d7bbc49e7"
+
+ZEPHYR_BRANCH = "main"
+PV = "2.6.0+git${SRCPV}"
+
+SRC_URI:append = " file://0001-cmake-add-yocto-toolchain.patch \
+ file://0001-x86-fix-efi-binary-generation-issue-in-cross-compila.patch \
+ "
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb
new file mode 100644
index 0000000..92d277d
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb
@@ -0,0 +1,19 @@
+include zephyr-kernel-src.inc
+
+ZEPHYR_TEST_SRCDIR = "tests/legacy/kernel/"
+
+IMAGE_NO_MANIFEST = "1"
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_install () {
+ kerneldir=${D}/usr/src/zephyr
+ install -d $kerneldir
+ cp -r ${S}/* $kerneldir
+}
+
+PACKAGES = "${PN}"
+FILES:${PN} = "/usr/src/zephyr"
+
+SYSROOT_DIRS += "/usr/src/zephyr"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc
new file mode 100644
index 0000000..da1efea
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc
@@ -0,0 +1,27 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
+
+inherit cmake
+
+# This file might be included from other places (like other layers) and not
+# having an explicit path to the patches directory, will make bitbake fail to
+# find the patch(es) in SRC_URI.
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI = "\
+ git://github.com/zephyrproject-rtos/zephyr.git;protocol=https;branch=${ZEPHYR_BRANCH};name=default \
+ git://github.com/zephyrproject-rtos/cmsis.git;protocol=https;nobranch=1;destsuffix=git/modules/cmsis;name=cmsis \
+ git://github.com/zephyrproject-rtos/hal_nordic.git;protocol=https;nobranch=1;destsuffix=git/modules/hal/nordic;name=nordic \
+ git://github.com/zephyrproject-rtos/hal_stm32.git;protocol=https;branch=main;destsuffix=git/modules/hal/stm32;name=stm32 \
+ git://github.com/zephyrproject-rtos/libmetal.git;protocol=https;nobranch=1;destsuffix=git/modules/hal/libmetal;name=libmetal \
+ git://github.com/zephyrproject-rtos/lvgl.git;branch=zephyr;protocol=https;destsuffix=git/modules/lib/gui/lvgl;name=lvgl \
+ git://github.com/zephyrproject-rtos/mbedtls.git;protocol=https;nobranch=1;destsuffix=git/modules/lib/mbedtls;name=mbedtls \
+ git://github.com/zephyrproject-rtos/open-amp.git;protocol=https;nobranch=1;destsuffix=git/modules/lib/open-amp;name=open-amp \
+ git://github.com/zephyrproject-rtos/openthread.git;protocol=https;nobranch=1;branch=zephyr;destsuffix=git/modules/lib/openthread;name=openthread \
+ git://github.com/zephyrproject-rtos/tinycrypt.git;protocol=https;nobranch=1;destsuffix=git/modules/crypto/tinycrypt;name=tinycrypt \
+ "
+S = "${WORKDIR}/git"
+
+# Default to a stable version
+PREFERRED_VERSION_zephyr-kernel ??= "2.7.1"
+include zephyr-kernel-src-${PREFERRED_VERSION_zephyr-kernel}.inc
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test-all.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test-all.bb
new file mode 100644
index 0000000..85efd24
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test-all.bb
@@ -0,0 +1,18 @@
+LICENSE = "Apache-2.0"
+INHIBIT_DEFAULT_DEPS = "1"
+
+require zephyr-kernel-test.inc
+
+addtask testimage
+deltask compile
+deltask install
+
+do_testimage () {
+ :
+}
+
+do_testimage[depends] = '${@" ".join(["zephyr-kernel-test-" + x + ":do_testimage" for x in d.getVar("ZEPHYRTESTS", True).split()])}'
+
+do_build[depends] = '${@" ".join(["zephyr-kernel-test-" + x + ":do_build" for x in d.getVar("ZEPHYRTESTS", True).split()])}'
+
+do_clean[depends] = '${@" ".join(["zephyr-kernel-test-" + x + ":do_clean" for x in d.getVar("ZEPHYRTESTS", True).split()])}'
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb
new file mode 100644
index 0000000..2918d2d
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb
@@ -0,0 +1,4 @@
+require zephyr-image.inc
+require zephyr-kernel-test.inc
+
+BBCLASSEXTEND = '${@" ".join(["zephyrtest:" + x for x in d.getVar("ZEPHYRTESTS", True).split()])}'
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc
new file mode 100644
index 0000000..77f45a7
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc
@@ -0,0 +1,63 @@
+ZEPHYRTESTS:remove = "fifo fpu_sharing lifo mbox mem_heap mem_pool \
+ mem_protect mem_slab msgq mutex pipe profiling sched semaphore \
+ stack threads tickless timer workq"
+
+# Exclude tests which does not build for various reasons
+ZEPHYRTESTS:remove = "gen_isr_table spinlock smp mp"
+
+# Exclude tests that are not currently compiling
+ZEPHYRTESTS:remove:96b-avenger96 = "common device poll queue sleep"
+ZEPHYRTESTS:remove:96b-nitrogen = "common device poll queue sleep"
+ZEPHYRTESTS:remove:arduino-nano-33-ble = "common device poll queue sleep"
+ZEPHYRTESTS:remove:nrf52840dk-nrf52840 = "common device poll queue sleep"
+ZEPHYRTESTS:remove:qemu-x86 = "common device interrupt poll queue sleep"
+ZEPHYRTESTS:remove:stm32mp157c-dk2 = "common device poll queue sleep"
+
+# test_context will fail because QEMU for ARM does not emulate CortexM3 BASEPRI register
+#ZEPHYRTESTS:remove:arm = ""
+
+# test_critical never finishes in an unpatched QEMU either
+#ZEPHYRTESTS:remove:arm = ""
+
+#Remove ARM specific tests
+#ZEPHYRTESTS:remove:x86 = ""
+
+#Remove tests not intended for Nios2
+#ZEPHYRTESTS:remove:nios2 = ""
+
+# List of all available kernel tests
+ZEPHYRTESTS = " \
+ common \
+ context \
+ device \
+ early_sleep \
+ fifo \
+ fpu_sharing \
+ gen_isr_table \
+ interrupt \
+ lifo \
+ mbox \
+ mem_heap \
+ mem_pool \
+ mem_protect \
+ mem_slab \
+ mp \
+ msgq \
+ mutex \
+ pending \
+ pipe \
+ poll \
+ profiling \
+ queue \
+ sched \
+ semaphore \
+ sleep \
+ smp \
+ spinlock \
+ stack \
+ threads \
+ tickless \
+ timer \
+ workq \
+ xip \
+ "
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-lvgl.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-lvgl.bb
new file mode 100644
index 0000000..4f08fc7
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-lvgl.bb
@@ -0,0 +1,18 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/subsys/display/lvgl"
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/gui/lvgl\;${S}/modules/debug/segger"
+
+# TODO Once more machines and displays are supported, add a PACKAGECONFIG.
+EXTRA_OECMAKE:append =" -DSHIELD=adafruit_2_8_tft_touch_v2"
+
+SRC_URI:append = " \
+ file://0001-cmake-added-missing-file-ext-to.patch;patchdir=modules/lib/gui/lvgl \
+ git://github.com/zephyrproject-rtos/segger.git;protocol=https;nobranch=1;destsuffix=git/modules/debug/segger;name=segger \
+ git://github.com/zephyrproject-rtos/TraceRecorderSource.git;branch=zephyr;protocol=https;destsuffix=git/modules/debug/TraceRecorder;name=TraceRecorderSource \
+"
+
+SRCREV_segger = "3a52ab222133193802d3c3b4d21730b9b1f1d2f6"
+SRCREV_TraceRecorderSource = "36c577727642457b0db7274298a4b96558374832"
+
+COMATIBLE_MACHINE = "(nrf52840dk-nrf52840)"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-mqtt-publisher.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-mqtt-publisher.bb
new file mode 100644
index 0000000..02b3c16
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-mqtt-publisher.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/mqtt_publisher"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openamp-rsc-table.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openamp-rsc-table.bb
new file mode 100644
index 0000000..3eec58a
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openamp-rsc-table.bb
@@ -0,0 +1,10 @@
+include zephyr-sample.inc
+
+
+ZEPHYR_MAKE_OUTPUT = "zephyr_openamp_rsc_table.elf"
+ZEPHYR_MAKE_BIN_OUTPUT = "zephyr_openamp_rsc_table.bin"
+ZEPHYR_MAKE_EFI_OUTPUT = "zephyr_openamp_rsc_table.efi"
+
+ZEPHYR_SRC_DIR = "${S}/samples/subsys/ipc/openamp_rsc_table"
+
+COMPATIBLE_MACHINE = "(stm32mp157c-dk2)"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openthread-echo-client.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openthread-echo-client.bb
new file mode 100644
index 0000000..88922b8
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-openthread-echo-client.bb
@@ -0,0 +1,13 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/sockets/echo_client"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/openthread"
+
+EXTRA_OECMAKE += "-DOVERLAY_CONFIG=overlay-ot.conf"
+
+# The overlay config and OpenThread itself imposes some specific requirements
+# towards the boards (e.g. flash layout and ieee802154 radio) so we need to
+# limit to known working machines here.
+COMPATIBLE_MACHINE = "(arduino-nano-33-ble)"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb
new file mode 100644
index 0000000..045ea36
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/bluetooth/peripheral_esp"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/crypto/tinycrypt"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb
new file mode 100644
index 0000000..64fd0ec
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/bluetooth/peripheral_hr"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/crypto/tinycrypt"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb
new file mode 100644
index 0000000..a2afb57
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb
@@ -0,0 +1,3 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/philosophers"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-sample.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-sample.inc
new file mode 100644
index 0000000..77fa5ad
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-sample.inc
@@ -0,0 +1,23 @@
+require zephyr-kernel-src.inc
+require zephyr-kernel-common.inc
+inherit deploy
+
+ZEPHYR_BASE = "${S}"
+OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}"
+
+do_install[noexec] = "1"
+
+do_deploy () {
+ install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${PN}.elf
+
+ if [ -f ${B}/zephyr/${ZEPHYR_MAKE_BIN_OUTPUT} ]
+ then
+ install -D ${B}/zephyr/${ZEPHYR_MAKE_BIN_OUTPUT} ${DEPLOYDIR}/${PN}.bin
+ fi
+
+ if [ -f ${B}/zephyr/${ZEPHYR_MAKE_EFI_OUTPUT} ]
+ then
+ install -D ${B}/zephyr/${ZEPHYR_MAKE_EFI_OUTPUT} ${DEPLOYDIR}/${PN}.efi
+ fi
+}
+addtask deploy after do_compile
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-websocket-client.bb b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-websocket-client.bb
new file mode 100644
index 0000000..85f2cda
--- /dev/null
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-websocket-client.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/net/sockets/websocket_client"
+
+ZEPHYR_MODULES:append = "\;${S}/modules/lib/mbedtls"