Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
2526433
beep: Build with current OpenEmbedded
otavio Jun 8, 2026
b873b5c
linuxconsole: Build with current OpenEmbedded
otavio Jun 8, 2026
cc48c9a
wifi-connect: Build with current OpenEmbedded
otavio Jun 8, 2026
23e4556
inputattach-config: Build with current OpenEmbedded
otavio Jun 8, 2026
8280405
net-persistent-mac: Use UNPACKDIR for fetched sources
otavio Jun 8, 2026
cf42ee2
weston-touch-calibrator-service: Use UNPACKDIR for fetched sources
otavio Jun 8, 2026
f4ce981
chromium-ozone-wayland-init: Use UNPACKDIR for fetched sources
otavio Jun 8, 2026
6226ec3
qt-kiosk-browser-init: Use UNPACKDIR for fetched sources
otavio Jun 8, 2026
1617353
ppp: Use UNPACKDIR for fetched sources
otavio Jun 8, 2026
66684d8
telegraf: Use localstatedir instead of hardcoded /var
otavio Jun 8, 2026
582cd7e
classes/ossystems-factory-defaults: Use install -d instead of mkdir
otavio Jun 8, 2026
45aa2aa
classes/release-bundle-generation: Fix bundle generation and carry li…
otavio Jun 8, 2026
f82a0b9
contrib/oelint: Add oelint-adv configuration and runner
otavio Jun 8, 2026
b7a0bc7
recipes-core: Complete recipe metadata
otavio Jun 8, 2026
1be131f
recipes-staging: Complete recipe metadata
otavio Jun 8, 2026
2289913
telegraf: Add SUMMARY, BUGTRACKER and SECTION metadata
otavio Jun 8, 2026
54e1b21
zram-init: Add DESCRIPTION, HOMEPAGE, BUGTRACKER and SECTION metadata
otavio Jun 8, 2026
84e5066
cog-init: Complete recipe metadata
otavio Jun 8, 2026
224e3e6
chromium-ozone-wayland-init: Complete recipe metadata
otavio Jun 8, 2026
6138731
qt-kiosk-browser-init: Complete recipe metadata
otavio Jun 8, 2026
cea0e4c
html5-demo: Complete recipe metadata
otavio Jun 8, 2026
19be3a5
weston-touch-calibrator-service: Complete recipe metadata
otavio Jun 8, 2026
8149286
beep: Remove obsolete slugos special-case
otavio Jun 8, 2026
2baa340
initramfs-psplash-image: Drop debug-tweaks from IMAGE_FEATURES
otavio Jun 8, 2026
d385bd0
classes: Document custom tasks with task[doc] strings
otavio Jun 8, 2026
a171766
classes: Fix trailing whitespace and consecutive blank lines
otavio Jun 8, 2026
21aa736
recipes-core: Tidy whitespace and variable ordering
otavio Jun 8, 2026
9b265ba
recipes-staging: Tidy whitespace and assignment spacing
otavio Jun 8, 2026
c0a23ff
dynamic-layers: Tidy whitespace and variable ordering
otavio Jun 8, 2026
42075fd
cog-init: Tidy assignment spacing and variable order
otavio Jun 8, 2026
7297c0c
zram-init: Drop unneeded ${S} prefix in LIC_FILES_CHKSUM
otavio Jun 8, 2026
2ac0e51
weston-touch-calibrator-service: Tidy RDEPENDS spacing and order
otavio Jun 8, 2026
e4f6d87
contrib/oelint: Scope the runner to meta-ossystems-base only
otavio Jun 8, 2026
fab0bcd
linuxconsole: Install udev files under ${nonarch_base_libdir}
otavio Jun 9, 2026
9fd2beb
contrib/oelint: Trim run-oelint.sh header to essentials
otavio Jun 9, 2026
eedff30
classes/release-bundle-generation: Drop redundant inherit comment
otavio Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions classes/cve-filter.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

# The cve-filter class provides several configurable variables:

# CVE_FILTER_PREVIOUS_FILE: Specifies the previous version of
# CVE_FILTER_PREVIOUS_FILE: Specifies the previous version of
# the CVE JSON file. If no file is provided, only the current
# file will be considered.
# Default: empty
Expand All @@ -29,7 +29,7 @@
# Example: "1.0.0"
# Default: "0.0.0"

# CVE_FILTER_MARKDOWN_FILE_NAME: Specifies the name of the
# CVE_FILTER_MARKDOWN_FILE_NAME: Specifies the name of the
# output Markdown file containing the list of detected CVEs.
# Default: "${IMAGE_NAME}.md"

Expand Down Expand Up @@ -96,10 +96,12 @@ python do_cve_filter (){
bb.plain("DONE!!")
}

do_cve_filter[doc] = "Compare the image CVE report against a previous version and emit a filtered Markdown summary of the new CVEs."
addtask cve_filter after do_rootfs before do_image

ROOTFS_POSTPROCESS_COMMAND:prepend = "link_cvefilter_markdownfile; "

link_cvefilter_markdownfile[doc] = "Create a stable-named symlink to the CVE filter Markdown report in the deploy directory."
link_cvefilter_markdownfile () {
ln -sf ${CVE_FILTER_MARKDOWN_FILE_NAME} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.md
}
2 changes: 2 additions & 0 deletions classes/deploy-license-manifest.bbclass
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
ROOTFS_POSTPROCESS_COMMAND += "deploy_license_manifest;"
IMAGE_POSTPROCESS_COMMAND += "link_license_manifest;"

deploy_license_manifest[doc] = "Copy the image license manifest into the deploy directory and generate a CSV variant."
deploy_license_manifest () {
if [ -e "${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest" ]; then
cp ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest ${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest
sed -n '/PACKAGE NAME/{: start; /^ *$/b done; /LICENSE:/{s/: /: "/; s/$/"/;}; s/^.*://; H; n; b start; : done; x; s/^[\n ]*//; s/ *\n */,/g; p}' ${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest >${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest.csv
fi
}

link_license_manifest[doc] = "Create stable-named symlinks to the deployed license manifest and its CSV variant."
link_license_manifest () {
if [ -e "${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest" ]; then
ln -sf ${IMAGE_NAME}.license_manifest ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.license_manifest
Expand Down
2 changes: 0 additions & 2 deletions classes/image-license-checker.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
IMAGE_LICENSE_CHECKER_ROOTFS_DENYLIST ?= ""
IMAGE_LICENSE_CHECKER_NON_ROOTFS_DENYLIST ?= ""


def bad_license(d, license, denylist):
"""
Check if a license string is denylisted. The license string will be
Expand Down Expand Up @@ -136,7 +135,6 @@ python check_rootfs_licenses() {
}
ROOTFS_POSTPROCESS_COMMAND:prepend = "check_rootfs_licenses; "


python check_deploy_licenses() {
"""
Check recipes that deploy files used in an image (e.g. U-Boot) for
Expand Down
1 change: 1 addition & 0 deletions classes/layerdirs.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ def save_layerdirs(d):
for layername in (l.getVar('BBFILE_COLLECTIONS', True) or '').split():
d.setVar('LAYERDIR_%s' % layername, layerpath)

cfg_save_layerdirs[doc] = "Record each layer's directory in LAYERDIR_<collection> at config-parse time."
python cfg_save_layerdirs () {
save_layerdirs(d)
}
Expand Down
3 changes: 2 additions & 1 deletion classes/ossystems-factory-defaults.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

inherit ossystems-factory-defaults-base

member[doc] = "Shell helper: succeed when the first argument is present among the remaining arguments."
member() {
elt=$1
shift
Expand Down Expand Up @@ -65,7 +66,7 @@ do_install:append() {
local dir
for file in $no_leading_slash; do
dir="${D}/`dirname $file`"
mkdir -p $dir
install -d $dir
cd $dir
ln -sf ${OSSYSTEMS_FACTORY_DEFAULTS_RUNTIME_DIR}/$file `basename $file`
done
Expand Down
13 changes: 11 additions & 2 deletions classes/release-bundle-generation.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
#
# Released under the MIT license (see packages/COPYING)

inherit release-bundle

do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[noexec] = "1"
Expand All @@ -25,6 +27,7 @@ do_package_qa[noexec] = "1"
do_packagedata[noexec] = "1"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PACKAGES = ""

INHIBIT_DEFAULT_DEPS = "1"
Expand Down Expand Up @@ -53,6 +56,7 @@ python() {
}

addtask collect_platform_source before do_release_bundle_finalize
do_collect_platform_source[doc] = "Garbage-collect and copy the platform source tree (.repo, sources, setup-environment) into the release bundle workdir."
do_collect_platform_source[cleandirs] = "${RELEASE_BUNDLE_WORKDIR}"
do_collect_platform_source[nostamp] = "1"
do_collect_platform_source() {
Expand All @@ -77,22 +81,27 @@ RELEASE_BUNDLE_TAR_OPTS = "--owner=root --group=root"
RELEASE_BUNDLE_OLDEST_KERNEL = "3.2.0"
RELEASE_BUNDLE_PATH = "\$HOME/src/${RELEASE_BUNDLE_NAME}/${RELEASE_BUNDLE_VERSION}"

tar_release_bundle[doc] = "Create the bzip2-compressed tarball of the assembled release bundle."
fakeroot tar_release_bundle() {
mkdir -p ${RELEASE_BUNDLE_DEPLOY}
cd ${RELEASE_BUNDLE_WORKDIR}
tar ${RELEASE_BUNDLE_TAR_OPTS} -cf - . | pbzip2 > ${RELEASE_BUNDLE_DEPLOY}/${RELEASE_BUNDLE_OUTPUTNAME}.tar.bz2
}

addtask release_bundle_finalize after do_unpack do_collect_platform_source before do_build
do_release_bundle_finalize[doc] = "Assemble the final self-extracting release bundle from the collected sources and download cache."
do_release_bundle_finalize[dirs] = "${RELEASE_BUNDLE_WORKDIR}/download"
do_release_bundle_finalize[depends] += "pbzip2-native:do_populate_sysroot "
do_release_bundle_finalize() {
cp --archive -L ${RELEASE_BUNDLE_TMP_DOWNLOAD_CACHE}/*/* ${RELEASE_BUNDLE_WORKDIR}/
# Only present when RELEASE_BUNDLE_RECIPES_WITH_SOURCE collected something.
if [ -n "$(ls -A "${RELEASE_BUNDLE_TMP_DOWNLOAD_CACHE}" 2>/dev/null)" ]; then
cp --archive -L ${RELEASE_BUNDLE_TMP_DOWNLOAD_CACHE}/*/* ${RELEASE_BUNDLE_WORKDIR}/
fi
find ${RELEASE_BUNDLE_WORKDIR} -type d -empty -delete

tar_release_bundle

cp "${WORKDIR}/bundle-shar-extract.sh" ${RELEASE_BUNDLE_DEPLOY}/${RELEASE_BUNDLE_OUTPUTNAME}.sh
cp "${UNPACKDIR}/bundle-shar-extract.sh" ${RELEASE_BUNDLE_DEPLOY}/${RELEASE_BUNDLE_OUTPUTNAME}.sh

# substitute variables
sed -e "s#@RELEASE_BUNDLE_PATH@#${RELEASE_BUNDLE_PATH}#g" \
Expand Down
1 change: 1 addition & 0 deletions classes/restore-dumped-headrevs.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ def restore_headrevs(d, dump_db_path):
DUMP_HEADREVS_DB ?= '${COREBASE}/saved_persist_data.db'
DUMP_HEADREVS_STAMP ?= '${STAMP}.restored_headrevs'

restore_dumped_headrevs[doc] = "Restore dumped BB_URI_HEADREVS persistent data once, at config-parse time, when a dump database is present."
python restore_dumped_headrevs() {
stamp_path = d.getVar('DUMP_HEADREVS_STAMP', True)
dump_db_path = d.getVar('DUMP_HEADREVS_DB', True)
Expand Down
22 changes: 22 additions & 0 deletions contrib/oelint/ossystems-constants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"comment": "oelint-adv constant DB additions for the meta-ossystems-base layer. Merge with: oelint-adv --constantmods +contrib/oelint/ossystems-constants.json. These are real variables/overrides oelint cannot know about when run standalone (outside a full bitbake build).",
"variables": {
"known": [
"OPENGL_WINSYS",
"OS_RELEASE_FIELDS",
"OSSYSTEMS_FACTORY_DEFAULTS_DIR",
"OSSYSTEMS_FACTORY_DEFAULTS_FILES",
"OSSYSTEMS_FACTORY_DEFAULTS_HOOKS",
"OSSYSTEMS_FACTORY_DEFAULTS_HOOKS_DIR",
"OSSYSTEMS_FACTORY_DEFAULTS_POSTINST_FILES",
"OSSYSTEMS_FACTORY_DEFAULTS_RUNTIME_DIR",
"RELEASE_BUNDLE_LAYERNAME",
"VERSION"
]
},
"replacements": {
"distros": [
"oel"
]
}
}
24 changes: 24 additions & 0 deletions contrib/oelint/run-oelint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh
# Run oelint-adv over meta-ossystems-base with the project's constant-DB
# additions and the agreed suppressions. Requires oelint-adv on PATH.
set -eu

here=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
layer=$(CDPATH= cd -- "$here/../.." && pwd)

# Suppressed rules (env limitations / project policy):
# - oelint.file.requirenotfound: image recipes 'require' OE-core files that
# only resolve inside a full bitbake build (BBPATH), not in standalone lint.
suppress="oelint.file.requirenotfound"

files=$(find "$layer" \
\( -name '*.bb' -o -name '*.bbappend' -o -name '*.bbclass' -o -name '*.inc' \) \
| sort)

# shellcheck disable=SC2086
exec oelint-adv \
--release wrynose \
--constantmods "+$here/ossystems-constants.json" \
--suppress "$suppress" \
"$@" \
$files
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
SUMMARY = "Startup script and service for the Chromium Browser using Ozone"
DESCRIPTION = "Init script and systemd service that launch the Chromium browser \
(Ozone/Wayland) at system startup."
HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base"
BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues"
SECTION = "graphics"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

Expand All @@ -13,7 +18,7 @@ inherit systemd update-rc.d
## Configuration variables

# URL to load when start.
CHROMIUM_URL ?= "https://ossystems.com.br"
CHROMIUM_URL ?= "https://ossystems.com.br"

# Extra arguments to pass to 'chromium' application.
CHROMIUM_EXTRA_ARGS ?= ""
Expand All @@ -34,13 +39,13 @@ do_compile[noexec] = "1"

do_install() {
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/chromium-ozone-wayland
install -Dm 0755 ${UNPACKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/chromium-ozone-wayland
fi
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -Dm 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/chromium-ozone-wayland.service
install -Dm 0644 ${UNPACKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/chromium-ozone-wayland.service
fi

install -Dm 0644 ${WORKDIR}/${BPN}.default ${D}${sysconfdir}/default/chromium-ozone-wayland
install -Dm 0644 ${UNPACKDIR}/${BPN}.default ${D}${sysconfdir}/default/chromium-ozone-wayland

echo ${CHROMIUM_ENV} >> ${D}${sysconfdir}/default/chromium-ozone-wayland

Expand All @@ -49,6 +54,6 @@ do_install() {
-i ${D}${sysconfdir}/default/chromium-ozone-wayland
}

RDEPENDS:${PN} += "chromium-ozone-wayland"

PACKAGE_ARCH = "${MACHINE_ARCH}"

RDEPENDS:${PN} += "chromium-ozone-wayland"
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
SUMMARY = "Startup script and service for the Kiosk Browser"
DESCRIPTION = "Init script and systemd service that launch the Qt kiosk browser \
at system startup."
HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base"
BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues"
SECTION = "graphics"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = " \
SRC_URI = "\
file://${BPN}.default \
file://${BPN}.initd \
file://${BPN}.service \
Expand All @@ -21,7 +26,6 @@ QT_KIOSK_SCREENSAVER_TIME ?= "0"
# Defines the time to restart the browser after entering in screen saving mode (0 to disable).
QT_KIOSK_RESTART_TIME ?= "0"


SYSTEMD_SERVICE:${PN} = "qt-kiosk-browser.service"

# Start after weston-init
Expand All @@ -34,22 +38,22 @@ INITSCRIPT_NAME = "qt-kiosk-browser"

do_install() {
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
install -Dm 0755 ${WORKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/kiosk
install -Dm 0755 ${UNPACKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/kiosk
fi
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -Dm 0644 ${WORKDIR}/${PN}.service ${D}${systemd_system_unitdir}/qt-kiosk-browser.service
install -Dm 0644 ${UNPACKDIR}/${PN}.service ${D}${systemd_system_unitdir}/qt-kiosk-browser.service
fi

install -Dm 0644 ${WORKDIR}/${PN}.default ${D}${sysconfdir}/default/qt-kiosk-browser
install -Dm 0644 ${UNPACKDIR}/${PN}.default ${D}${sysconfdir}/default/qt-kiosk-browser

install -Dm 0644 ${WORKDIR}/${PN}.conf ${D}${sysconfdir}/qt-kiosk-browser.conf
install -Dm 0644 ${UNPACKDIR}/${PN}.conf ${D}${sysconfdir}/qt-kiosk-browser.conf

sed -e 's,@QT_KIOSK_URL@,${QT_KIOSK_URL},g' \
-e 's,@QT_KIOSK_RESTART_TIME@,${QT_KIOSK_RESTART_TIME},g' \
-e 's,@QT_KIOSK_SCREENSAVER_TIME@,${QT_KIOSK_SCREENSAVER_TIME},g' \
-i ${D}${sysconfdir}/qt-kiosk-browser.conf
}

RDEPENDS:${PN} += "qt-kiosk-browser"

PACKAGE_ARCH = "${MACHINE_ARCH}"

RDEPENDS:${PN} += "qt-kiosk-browser"
11 changes: 8 additions & 3 deletions recipes-browser/cog/cog-init.bb
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
SUMMARY = "Startup script and service for the Cog Browser"
DESCRIPTION = "Init script and systemd service that launch the Cog web browser \
at system startup."
HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base"
BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues"
SECTION = "graphics"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

Expand All @@ -20,7 +25,7 @@ COG_PLATFORM ?= "wl"
COG_PLATFORM_WL_VIEW_FULLSCREEN ?= "1"

# URL to load when start.
COG_URL ?= "https://ossystems.com.br"
COG_URL ?= "https://ossystems.com.br"

# Extra arguments to pass to 'cog' application.
COG_EXTRA_ARGS ?= ""
Expand Down Expand Up @@ -58,6 +63,6 @@ do_install() {
-i ${D}${sysconfdir}/default/cog
}

RDEPENDS:${PN} += "cog"

PACKAGE_ARCH = "${MACHINE_ARCH}"

RDEPENDS:${PN} += "cog"
2 changes: 1 addition & 1 deletion recipes-connectivity/ppp/ppp_%.bbappend
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += "file://options"

do_install:append() {
install -Dm 0755 ${WORKDIR}/options ${D}${sysconfdir}/${PN}/options
install -Dm 0755 ${UNPACKDIR}/options ${D}${sysconfdir}/${PN}/options
}
9 changes: 4 additions & 5 deletions recipes-core/images/initramfs-psplash-image.bb
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
SUMMARY = "Initramfs image showing a psplash boot splash"
DESCRIPTION = "Small image with psplash implementation to use as \
an alternative to the splash kernel."
LICENSE = "MIT"

IMAGE_FSTYPES = "cpio.gz.u-boot"
IMAGE_ROOTFS_SIZE = "0"

IMAGE_FEATURES = " \
splash \
debug-tweaks \
"
IMAGE_FEATURES = "splash"

# Avoid installation of syslog
BAD_RECOMMENDATIONS += "busybox-syslog"
Expand All @@ -17,7 +16,7 @@ USE_DEVFS = "1"

inherit core-image

CORE_IMAGE_BASE_INSTALL = " \
CORE_IMAGE_BASE_INSTALL = "\
initramfs-framework-base \
initramfs-module-psplash \
initramfs-module-rootfs \
Expand Down
4 changes: 3 additions & 1 deletion recipes-core/images/ossystems-minimal-initramfs.bb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
# Released under the MIT license

SUMMARY = "The very minimal initramfs image capable of booting a device"
DESCRIPTION = "Minimal initramfs image capable of mounting the root filesystem \
and booting the device."

PACKAGE_INSTALL = "initramfs-module-mdev ${VIRTUAL-RUNTIME_base-utils} ${ROOTFS_BOOTSTRAP_INSTALL}"

Expand All @@ -22,7 +24,7 @@ inherit core-image
IMAGE_ROOTFS_SIZE = "8192"
IMAGE_ROOTFS_EXTRA_SPACE = "0"

BAD_RECOMMENDATIONS += " \
BAD_RECOMMENDATIONS += "\
busybox-udhcpc \
busybox-syslog \
initramfs-module-rootfs \
Expand Down
Loading