summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2019-12-02 18:46:45 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2020-01-09 19:49:47 +0100
commit799543474481325b72d3032a3b456ef635e9eb04 (patch)
tree2217ae0affcc9f21c180b830fd0982621c09ae13
parentdddc4b9e88e861afa2cfe61660c8d294c622da8d (diff)
images: add a new console/graphical/verification image
This is meant to replace the current demo images. The console and graphical image can be used as a base to create tailored images to the requirment of a specific use case. The verification image is meant to test the BSP. It provides the tools to exercise the CPU / GPU / VPU and the various SOC peripherals. Related-to: ELB-1284 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r--recipes-images/images/console-tdx-image.bb36
-rw-r--r--recipes-images/images/graphical-tdx-image.bb26
-rw-r--r--recipes-images/images/packagegroup-tdx-cli.bb194
-rw-r--r--recipes-images/images/packagegroup-tdx-graphical.bb142
-rw-r--r--recipes-images/images/verification-tdx-image.bb26
5 files changed, 406 insertions, 18 deletions
diff --git a/recipes-images/images/console-tdx-image.bb b/recipes-images/images/console-tdx-image.bb
index c8fc120..cb9634e 100644
--- a/recipes-images/images/console-tdx-image.bb
+++ b/recipes-images/images/console-tdx-image.bb
@@ -1,23 +1,28 @@
-SUMMARY = "Toradex Embedded Linux Console Demo"
+inherit core-image
+
+SUMMARY = "Toradex Embedded Linux Console Image"
SUMMARY_append_apalis-tk1-mainline = " (Mainline)"
DESCRIPTION = "Image without graphical interface"
LICENSE = "MIT"
-inherit core-image
-
-#start of the resulting deployable tarball name
+#Prefix to the resulting deployable tarball name
export IMAGE_BASENAME = "Console-Image"
MACHINE_NAME ?= "${MACHINE}"
IMAGE_NAME = "${MACHINE_NAME}_${IMAGE_BASENAME}"
-SYSTEMD_DEFAULT_TARGET = "graphical.target"
+# Copy Licenses to image /usr/share/common-license
+COPY_LIC_MANIFEST ?= "1"
+COPY_LIC_DIRS ?= "1"
-IMAGE_FEATURES += " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
- '', d), d)} \
-"
+add_rootfs_version () {
+ printf "${DISTRO_NAME} ${DISTRO_VERSION} (${DISTRO_CODENAME}) \\\n \\\l\n" > ${IMAGE_ROOTFS}/etc/issue
+ printf "${DISTRO_NAME} ${DISTRO_VERSION} (${DISTRO_CODENAME}) %%h\n" > ${IMAGE_ROOTFS}/etc/issue.net
+ printf "${IMAGE_NAME}\n\n" >> ${IMAGE_ROOTFS}/etc/issue
+ printf "${IMAGE_NAME}\n\n" >> ${IMAGE_ROOTFS}/etc/issue.net
+}
+# add the rootfs version to the welcome banner
+ROOTFS_POSTPROCESS_COMMAND += " add_rootfs_version;"
IMAGE_LINGUAS = "en-us"
#IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
@@ -30,20 +35,15 @@ CONMANPKGS ?= "connman connman-plugin-loopback connman-plugin-ethernet connman-p
IMAGE_INSTALL += " \
packagegroup-boot \
packagegroup-basic \
+ packagegroup-base-tdx-cli \
+ packagegroup-machine-tdx-cli \
+ packagegroup-wifi-tdx-cli \
udev-extra-rules \
${CONMANPKGS} \
${ROOTFS_PKGMANAGE_PKGS} \
timestamp-service \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', \
- 'weston weston-init wayland-terminal-launch', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', \
- 'weston-xwayland xterm', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', \
- 'x-window-xterm', '', d), d)} \
"
-require recipes-images/images/tdx-extra.inc
-
IMAGE_DEV_MANAGER = "udev"
IMAGE_INIT_MANAGER = "systemd"
IMAGE_INITSCRIPTS = " "
diff --git a/recipes-images/images/graphical-tdx-image.bb b/recipes-images/images/graphical-tdx-image.bb
new file mode 100644
index 0000000..b472701
--- /dev/null
+++ b/recipes-images/images/graphical-tdx-image.bb
@@ -0,0 +1,26 @@
+require console-tdx-image.bb
+
+SUMMARY = "Toradex Embedded Linux Graphical Image"
+SUMMARY_append_apalis-tk1-mainline = " (Mainline)"
+DESCRIPTION = "Image with a graphical interface, either using weston or X11"
+
+LICENSE = "MIT"
+
+#Prefix to the resulting deployable tarball name
+export IMAGE_BASENAME = "Graphical-Image"
+
+SYSTEMD_DEFAULT_TARGET = "graphical.target"
+
+IMAGE_FEATURES += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
+ '', d), d)} \
+"
+
+IMAGE_INSTALL += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', \
+ 'weston weston-init weston-examples wayland-terminal-launch', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', \
+ 'weston-xwayland xterm', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x-window-xterm', '', d), d)} \
+"
diff --git a/recipes-images/images/packagegroup-tdx-cli.bb b/recipes-images/images/packagegroup-tdx-cli.bb
new file mode 100644
index 0000000..8c03834
--- /dev/null
+++ b/recipes-images/images/packagegroup-tdx-cli.bb
@@ -0,0 +1,194 @@
+SUMMARY = "Packagegroups which provide cmdline releated packages"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES += " \
+ packagegroup-base-tdx-cli \
+ packagegroup-benchmark-tdx-cli \
+ packagegroup-devel-tdx-cli \
+ packagegroup-machine-tdx-cli \
+ packagegroup-networking-tdx-cli \
+ packagegroup-utils-tdx-cli \
+ packagegroup-utils-large-tdx-cli \
+ packagegroup-wifi-tdx-cli \
+ packagegroup-wifi-fw-tdx-cli \
+ packagegroup-wifi-fw-large-tdx-cli \
+"
+
+RDEPENDS_packagegroup-tdx-cli = "\
+ packagegroup-base-tdx-cli \
+ packagegroup-benchmark-tdx-cli \
+ packagegroup-devel-tdx-cli \
+ packagegroup-machine-tdx-cli \
+ packagegroup-networking-tdx-cli \
+ packagegroup-utils-tdx-cli \
+ packagegroup-utils-large-tdx-cli \
+ packagegroup-wifi-tdx-cli \
+ packagegroup-wifi-fw-tdx-cli \
+ packagegroup-wifi-fw-large-tdx-cli \
+"
+
+SUMMARY_packagegroup-base-tdx-cli = "Recommended for any image"
+RRECOMMENDS_packagegroup-base-tdx-cli = "\
+ can-utils \
+ dosfstools \
+ e2fsprogs-mke2fs \
+ iproute2 \
+ libgomp \
+ libgpiod-tools \
+ libsoc \
+ mtd-utils \
+ u-boot-fw-utils \
+ util-linux-fstrim \
+"
+
+SUMMARY_packagegroup-benchmark-tdx-cli = "Benchmarking tools"
+RRECOMMENDS_packagegroup-benchmark-tdx-cli = "\
+ hdparm \
+ iperf3 \
+ lmbench \
+ memtester \
+ nbench-byte \
+ rt-tests \
+ tinymembench \
+"
+
+SUMMARY_packagegroup-devel-tdx-cli = "Tools useful during development"
+RRECOMMENDS_packagegroup-devel-tdx-cli = "\
+ devmem2 \
+ evtest \
+ gdbserver \
+ i2c-tools \
+ ldd \
+ less \
+ perf \
+ serial-test \
+ spitools \
+ strace \
+"
+
+SUMMARY_packagegroup-machine-tdx-cli = "Machine specific tools"
+RRECOMMENDS_packagegroup-machine-tdx-cli = "\
+"
+RRECOMMENDS_packagegroup-machine-tdx-cli_mx6 = "\
+ bmode-usb \
+ gpio-export \
+"
+RRECOMMENDS_packagegroup-machine-tdx-cli_mx6ull = "\
+ bmode-usb \
+ mtd-utils-ubifs \
+ mwifiexap \
+"
+RRECOMMENDS_packagegroup-machine-tdx-cli_mx7 = "\
+ mtd-utils-ubifs \
+"
+RRECOMMENDS_packagegroup-machine-tdx-cli_mx8 = "\
+ mwifiexap \
+"
+RRECOMMENDS_packagegroup-machine-tdx-cli_tegra124 = "\
+ hdmi-hotplug \
+ lvds-tegra124 \
+ kernel-modules \
+"
+RRECOMMENDS_packagegroup-machine-tdx-cli_tegra124m = "\
+ hdmi-hotplug \
+ lvds-tegra124 \
+ kernel-modules \
+"
+
+SUMMARY_packagegroup-networking-tdx-cli = "Networking specific tools"
+RRECOMMENDS_packagegroup-networking-tdx-cli = "\
+ avahi-autoipd \
+ curl \
+ linuxptp \
+ nfs-utils-client \
+ ppp \
+ ptpd \
+"
+
+SUMMARY_packagegroup-utils-tdx-cli = "Useful utilities"
+
+# Entropy source daemon
+RANDOM_HELPER = "rng-tools"
+RANDOM_HELPER_tegra124 = "haveged"
+RANDOM_HELPER_tegra124m = "haveged"
+
+USB_GADGET_imx = " \
+ libusbgx \
+ libusbgx-examples \
+"
+USB_GADGET_tegra124 = "usb-rndis-systemd"
+USB_GADGET_tegra124m = ""
+
+RRECOMMENDS_packagegroup-utils-tdx-cli = "\
+ alsa-utils \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ bluez-alsa \
+ bzip2 \
+ e2fsprogs \
+ e2fsprogs-resize2fs \
+ e2fsprogs-tune2fs \
+ ethtool \
+ grep \
+ lsof \
+ minicom \
+ mmc-utils-cos \
+ pciutils \
+ procps \
+ ${RANDOM_HELPER} \
+ stress-ng \
+ sqlite3 \
+ tdx-oak-sensors \
+ ${USB_GADGET} \
+ util-linux \
+"
+RRECOMMENDS_packagegroup-utils-tdx-cli_append_mx6 = " \
+ mimetypes \
+"
+RRECOMMENDS_packagegroup-utils-tdx-cli_append_mx8 = " \
+ cpuburn-a53 \
+"
+RRECOMMENDS_packagegroup-utils-tdx-cli_append_tegra124 = " \
+ tegrastats \
+"
+
+SUMMARY_packagegroup-utils-large-tdx-cli = "Useful utilities, but large footprint"
+RRECOMMENDS_packagegroup-utils-large-tdx-cli = "\
+ aspell \
+ file \
+ joe \
+ packagegroup-dotnet-deps \
+"
+
+SUMMARY_packagegroup-wifi-tdx-cli = "Useful Wi-Fi utilities and firmware"
+BACKPORTS = ""
+BACKPORTS_tegra124 = "backports"
+RRECOMMENDS_packagegroup-wifi-tdx-cli = "\
+ ${BACKPORTS} \
+ hostapd \
+ wireless-regdb-static \
+"
+
+SUMMARY_packagegroup-wifi-fw-tdx-cli = "Wi-Fi firmware"
+RRECOMMENDS_packagegroup-wifi-fw-tdx-cli = "\
+ linux-firmware-ath10k \
+ linux-firmware-sd8686 \
+ linux-firmware-sd8688 \
+ linux-firmware-sd8787 \
+ linux-firmware-sd8797 \
+ linux-firmware-sd8887 \
+ linux-firmware-sd8997 \
+ linux-firmware-ralink \
+ linux-firmware-rtl8192cu \
+ linux-firmware-rtl8188eu \
+"
+
+SUMMARY_packagegroup-wifi-fw-large-tdx-cli = "Wi-Fi firmware with large footprint"
+RRECOMMENDS_packagegroup-wifi-fw-large-tdx-cli = "\
+ linux-firmware-ath9k \
+ linux-firmware-iwlwifi \
+"
diff --git a/recipes-images/images/packagegroup-tdx-graphical.bb b/recipes-images/images/packagegroup-tdx-graphical.bb
new file mode 100644
index 0000000..959cb59
--- /dev/null
+++ b/recipes-images/images/packagegroup-tdx-graphical.bb
@@ -0,0 +1,142 @@
+SUMMARY = "Packagegroups which provide graphical/display/multimedia releated packages"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES += " \
+ packagegroup-drm-utils-tdx-graphical \
+ packagegroup-gstreamer-tdx-graphical \
+ packagegroup-gpu-tdx-graphical \
+ packagegroup-x11-components-tdx-graphical \
+ packagegroup-x11-utils-tdx-graphical \
+"
+
+RRECOMMENDS_packagegroup-tdx-graphical = " \
+ packagegroup-gstreamer-tdx-graphical \
+ packagegroup-gpu-tdx-graphical \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', \
+ 'packagegroup-x11-components-tdx-graphical \
+ packagegroup-x11-utils-tdx-graphical', \
+ '', d), d)} \
+"
+RRECOMMENDS_packagegroup-tdx-graphical_append_mx8 = " \
+ packagegroup-drm-utils-tdx-graphical \
+"
+RRECOMMENDS_packagegroup-tdx-graphical_append_tegra124m = " \
+ packagegroup-drm-utils-tdx-graphical \
+"
+
+SUMMARY_packagegroup-drm-utils-tdx-graphical = "Utilities for DRM, Direct Rendering Manager"
+RRECOMMENDS_packagegroup-drm-utils-tdx-graphical = " \
+ libdrm-tests \
+"
+
+SUMMARY_packagegroup-gstreamer-tdx-graphical = "gstreamer packages"
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical = "\
+ gstreamer1.0 \
+ gstreamer1.0-plugins-base \
+ gstreamer1.0-plugins-good \
+ gstreamer1.0-plugins-bad \
+"
+GSTREAMER_MX6QDL = " \
+ gstreamer1.0-plugins-base-ximagesink \
+ gstreamer1.0-plugins-imx \
+"
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical_append_mx6dl = " ${GSTREAMER_MX6QDL}"
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical_append_mx6q = " ${GSTREAMER_MX6QDL}"
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical_colibri-imx6ull = ""
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical_append_mx7 = " imx-gst1.0-plugin"
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical_append_mx8 = " \
+ imx-gst1.0-plugin \
+ imx-gst1.0-plugin-gplay \
+ imx-gst1.0-plugin-grecorder \
+ packagegroup-fsl-gstreamer1.0-full \
+ gst-examples \
+"
+RRECOMMENDS_packagegroup-gstreamer-tdx-graphical_tegra124 = " \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-libav", "", d)} \
+ gstreamer1.0-plugins-bad-videoparsersbad \
+ gstreamer \
+ gst-plugins-base \
+ gst-plugins-good \
+ libgstcodecparsers-1.0 \
+ libgstnvegl \
+ libgstomx-0.10 \
+ libgstomx-1.0 \
+"
+
+SUMMARY_packagegroup-gpu-utils-tdx-graphical = "Utilities for GPU (OpenGL...)"
+IMAGE_INSTALL_OPENCL_IMX = " \
+ clpeak \
+ libopencl-imx \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical = " \
+ glmark2 \
+"
+IMAGE_INSTALL_MX6QDL = " \
+ packagegroup-fsl-gpu-libs \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_append_mx6dl = " ${IMAGE_INSTALL_MX6QDL}"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_append_mx6q = " \
+ ${IMAGE_INSTALL_MX6QDL} \
+ ${IMAGE_INSTALL_OPENCL_IMX} \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_mx6ull = ""
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_append_mx8 = " \
+ tinycompress \
+ libvdk-imx \
+ vulkan-headers \
+ vulkan-loader \
+ vulkan-tools \
+ ${IMAGE_INSTALL_OPENCL_IMX} \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_remove_mx8mm = " \
+ vulkan \
+ ${IMAGE_INSTALL_OPENCL_IMX} \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_append_mx8qm = " \
+ libopenvx-imx \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_append_tegra124 = " \
+ libglu \
+ freeglut \
+ tiff \
+ xvinfo \
+"
+RRECOMMENDS_packagegroup-gpu-tdx-graphical_append_tegra124m = " \
+ libglu \
+ freeglut \
+ tiff \
+ xvinfo \
+"
+
+SUMMARY_packagegroup-x11-components-tdx-graphical = "Components of X11"
+RRECOMMENDS_packagegroup-x11-components-tdx-graphical = "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', \
+ 'libxcursor \
+ libxdamage \
+ libxres \
+ libxvmc \
+ xcursor-transparent-theme \
+ xorg-minimal-fonts \
+ xrdb \
+ xserver-xorg-extension-dbe \
+ xserver-xorg-extension-extmod \
+ xserver-xorg-multimedia-modules \
+ xserver-xorg-utils', \
+ '', d), d)} \
+"
+
+SUMMARY_packagegroup-x11-utils-tdx-graphical = "Utilities for X11"
+RRECOMMENDS_packagegroup-x11-utils-tdx-graphical = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', \
+ 'scrot \
+ setxkbmap \
+ unclutter', \
+ '', d), d)} \
+"
diff --git a/recipes-images/images/verification-tdx-image.bb b/recipes-images/images/verification-tdx-image.bb
new file mode 100644
index 0000000..40fc032
--- /dev/null
+++ b/recipes-images/images/verification-tdx-image.bb
@@ -0,0 +1,26 @@
+require graphical-tdx-image.bb
+
+SUMMARY = "Toradex Embedded Linux Verification Image"
+SUMMARY_append_apalis-tk1-mainline = " (Mainline)"
+DESCRIPTION = "Image for BSP verification"
+
+LICENSE = "MIT"
+
+#Prefix to the resulting deployable tarball name
+export IMAGE_BASENAME = "Verification-Image"
+
+IMAGE_INSTALL += " \
+ packagegroup-tdx-cli \
+ packagegroup-tdx-graphical \
+ \
+ bash \
+ coreutils \
+ less \
+ makedevs \
+ mime-support \
+ util-linux \
+ v4l-utils \
+ \
+ gpicview \
+ media-files \
+"