Added meta recipie / updated README.md and conf
parent
4af45d7eca
commit
cb46448a1f
74
README.md
74
README.md
|
@ -290,7 +290,6 @@ looks as follows:
|
||||||
Testing Wolfssl-py and Wolfcrypt-py
|
Testing Wolfssl-py and Wolfcrypt-py
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
|
|
||||||
To test the python wrapper for wolfSSL and wolfcrypt in a yocto build it will
|
To test the python wrapper for wolfSSL and wolfcrypt in a yocto build it will
|
||||||
require python3, python3-pytest, python3-cffi and wolfSSL are built on the target system.
|
require python3, python3-pytest, python3-cffi and wolfSSL are built on the target system.
|
||||||
|
|
||||||
|
@ -342,6 +341,79 @@ to add a DNS server to /etc/resolv.conf like such with root perms
|
||||||
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
|
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
|
wolfTPM examples
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Several wolfTPM example application recipes are included in this layer. These
|
||||||
|
include:
|
||||||
|
- attestation
|
||||||
|
- gpio
|
||||||
|
- pcr
|
||||||
|
- tls
|
||||||
|
- bench
|
||||||
|
- boot
|
||||||
|
- keygen
|
||||||
|
- csr
|
||||||
|
- endorsement
|
||||||
|
- firmware
|
||||||
|
- nvram
|
||||||
|
- management
|
||||||
|
- native
|
||||||
|
- pkcs7
|
||||||
|
- seal
|
||||||
|
- wrap
|
||||||
|
|
||||||
|
The recipes for these applications are located at:
|
||||||
|
|
||||||
|
```
|
||||||
|
meta-wolfssl/recipes-examples/wolftpm/wolftpm-examples.bb
|
||||||
|
```
|
||||||
|
|
||||||
|
This can be compiled with bitbake:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ bitbake wolftpm-examples
|
||||||
|
```
|
||||||
|
|
||||||
|
To install these applications into your image, you will need to edit your
|
||||||
|
"build/conf/local.conf" file and add them to the "IMAGE_INSTALL"
|
||||||
|
variable. You would need to do something like this for wolfssl, wolftpm, and wolftpm-examples:
|
||||||
|
|
||||||
|
- For Dunfell and newer versions of Yocto
|
||||||
|
```
|
||||||
|
IMAGE_INSTALL:append = " wolfssl wolftpm wolftpm-examples "
|
||||||
|
```
|
||||||
|
|
||||||
|
- For versions of Yocto older than Dunfell
|
||||||
|
```
|
||||||
|
IMAGE_INSTALL_append = " wolfssl wolftpm wolftpm-examples "
|
||||||
|
```
|
||||||
|
|
||||||
|
When your image builds, these will be installed to the '/usr/bin' system
|
||||||
|
directory. When inside your executing image, you can run them from the
|
||||||
|
terminal.
|
||||||
|
|
||||||
|
additional information
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Use to re-source your build environment
|
||||||
|
```
|
||||||
|
source ../poky/oe-init-build-env
|
||||||
|
```
|
||||||
|
|
||||||
|
Check for active bitbake processes
|
||||||
|
```
|
||||||
|
ps aux | grep bitbake
|
||||||
|
```
|
||||||
|
|
||||||
|
to kill any processes
|
||||||
|
```
|
||||||
|
kill <PID>
|
||||||
|
```
|
||||||
|
|
||||||
|
Dependencies and More
|
||||||
|
---------------------
|
||||||
|
|
||||||
wolfProvider
|
wolfProvider
|
||||||
------------
|
------------
|
||||||
To build wolfProvider view the instructions in this [README](recipes-wolfssl/wolfprovider/README.md)
|
To build wolfProvider view the instructions in this [README](recipes-wolfssl/wolfprovider/README.md)
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
# We have a conf and classes directory, add to BBPATH
|
# We have a conf and classes directory, add to BBPATH
|
||||||
BBPATH := "${LAYERDIR}:${BBPATH}"
|
BBPATH := "${LAYERDIR}:${BBPATH}"
|
||||||
|
|
||||||
|
# Add specific `wolf*` to run bitbake
|
||||||
|
IMAGE_INSTALL:append = "wolftpm wolfssl wolftpm-examples "
|
||||||
|
|
||||||
# We have a packages directory, add to BBFILES
|
# We have a packages directory, add to BBFILES
|
||||||
BBFILES += "${LAYERDIR}/recipes-wolfssl/wolfssl/*.bb \
|
BBFILES += "${LAYERDIR}/recipes-wolfssl/wolfssl/*.bb \
|
||||||
${LAYERDIR}/recipes-wolfssl/wolfssl/*.bbappend"
|
${LAYERDIR}/recipes-wolfssl/wolfssl/*.bbappend"
|
||||||
|
@ -75,6 +78,11 @@ BBFILES += "${@bb.utils.contains('IMAGE_INSTALL', \
|
||||||
'${LAYERDIR}/recipes-examples/wolfengine/wolfenginetest/*.bb ${LAYERDIR}/recipes-examples/wolfengine/wolfenginetest/*.bbappend', \
|
'${LAYERDIR}/recipes-examples/wolfengine/wolfenginetest/*.bb ${LAYERDIR}/recipes-examples/wolfengine/wolfenginetest/*.bbappend', \
|
||||||
'', d)}"
|
'', d)}"
|
||||||
|
|
||||||
|
BBFILES += "${@bb.utils.contains('IMAGE_INSTALL', \
|
||||||
|
'wolftpm-examples', \
|
||||||
|
'${LAYERDIR}/recipes-examples/wolftpm/*.bb ${LAYERDIR}/recipes-examples/wolftpm/*.bbappend', \
|
||||||
|
'', d)}"
|
||||||
|
|
||||||
# Uncomment if building bind with wolfSSL.
|
# Uncomment if building bind with wolfSSL.
|
||||||
#BBFILES += "${LAYERDIR}/recipes-connectivity/bind/*.bbappend"
|
#BBFILES += "${LAYERDIR}/recipes-connectivity/bind/*.bbappend"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
SUMMARY = "Examples for wolfTPM"
|
||||||
|
DESCRIPTION = "This recipe provides examples for wolfTPM"
|
||||||
|
HOMEPAGE = "https://www.wolfssl.com/products/wolfssl"
|
||||||
|
|
||||||
|
LICENSE = "GPL-2.0-only"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||||
|
SRC_URI = "git://github.com/wolfSSL/wolfTPM/examples.git;nobranch=1;protocol=https;rev=a5f6c912ac6903872d9666238440a76bc9f92517"
|
||||||
|
|
||||||
|
DEPENDS += "wolfssl wolftpm"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git/wolfTPM/examples"
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
# Iterate through each directory and compile C files
|
||||||
|
for dir in attestation \
|
||||||
|
gpio \
|
||||||
|
pcr \
|
||||||
|
tls \
|
||||||
|
bench \
|
||||||
|
boot \
|
||||||
|
keygen \
|
||||||
|
csr \
|
||||||
|
endorsement \
|
||||||
|
firmware \
|
||||||
|
nvram \
|
||||||
|
management \
|
||||||
|
native \
|
||||||
|
pkcs7 \
|
||||||
|
seal \
|
||||||
|
wrap \
|
||||||
|
timestamp; do
|
||||||
|
for src in ${S}/$dir/*.c; do
|
||||||
|
exe_name=$(basename $src .c)
|
||||||
|
${CC} $src -o ${D}/usr/bin/$exe_name ${CFLAGS} ${LDFLAGS} -lwolfssl -lwolfTPM -ldl
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}/usr/bin
|
||||||
|
for dir in attestation \
|
||||||
|
gpio \
|
||||||
|
pcr \
|
||||||
|
tls \
|
||||||
|
bench \
|
||||||
|
boot \
|
||||||
|
keygen \
|
||||||
|
csr \
|
||||||
|
endorsement \
|
||||||
|
firmware \
|
||||||
|
nvram \
|
||||||
|
management \
|
||||||
|
native \
|
||||||
|
pkcs7 \
|
||||||
|
seal \
|
||||||
|
wrap \
|
||||||
|
timestamp; do
|
||||||
|
for src in ${S}/$dir/*.c; do
|
||||||
|
exe_name=$(basename $src .c)
|
||||||
|
install -m 0755 ${D}/usr/bin/$exe_name ${D}/usr/bin/
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
install -d ${D}/usr/include/wolftpm
|
||||||
|
install -m 0644 ${S}/tpm_test_keys.h ${D}/usr/include/wolftpm/
|
||||||
|
install -m 0644 ${S}/tpm_test.h ${D}/usr/include/wolftpm/
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGES = "${PN} ${PN}-dev"
|
Loading…
Reference in New Issue