packagegroups: split images into meaningful groups
Packagegroups are divided by functionality level and by features. The functionality levels start with minimal which includes the bare minimum packages required for the system to boot. This mainly means firmwares and drivers. The base packages include the packages providing basic functionality. These are usually cli tools allowing access to different interfaces. The extended packages include advanced tool and services providing full functionality of the system. BugzID: 73593 Signed-off-by: Patrick Zysset <patrick.zysset@netmodule.com>
This commit is contained in:
parent
e2b7364c83
commit
f584e63000
|
|
@ -28,7 +28,6 @@ BENCH_TOOLS = " \
|
|||
rt-tests \
|
||||
"
|
||||
GPS_TOOLS = " \
|
||||
gps-utils \
|
||||
ser2net \
|
||||
gnss-mgr-test \
|
||||
"
|
||||
|
|
@ -50,18 +49,15 @@ IMAGE_INSTALL_append = " \
|
|||
${GPS_TOOLS} \
|
||||
${MONITORING} \
|
||||
python3 \
|
||||
python3-misc \
|
||||
python3-pip \
|
||||
python3-pycurl \
|
||||
minicom \
|
||||
binutils \
|
||||
util-linux \
|
||||
i2c-tools \
|
||||
spitools \
|
||||
ethtool \
|
||||
evtest \
|
||||
devmem2 \
|
||||
board-descriptor \
|
||||
tmate \
|
||||
python3-pycurl \
|
||||
"
|
||||
OSTREE_BRANCHNAME = "${LAYERSERIES_CORENAMES}-${MACHINE}-dev"
|
||||
|
|
|
|||
|
|
@ -6,18 +6,13 @@ SUMMARY = "Minimal image for bringup"
|
|||
|
||||
NO_RECOMMENDATIONS = "1"
|
||||
|
||||
# Minimal NM distribution + tools to fetch and flash images
|
||||
IMAGE_INSTALL = " \
|
||||
packagegroup-core-boot \
|
||||
packagegroup-nm-minimal \
|
||||
e2fsprogs-mke2fs \
|
||||
devmem2 \
|
||||
util-linux-agetty \
|
||||
systemd-serialgetty \
|
||||
networkmanager \
|
||||
curl \
|
||||
tar \
|
||||
less \
|
||||
ncurses-terminfo-base \
|
||||
haveged \
|
||||
"
|
||||
|
||||
IMAGE_INSTALL_append_netbird = " kernel-module-wlan-backports"
|
||||
|
|
|
|||
|
|
@ -10,95 +10,16 @@ PROVIDES += "virtual/netmodule-image"
|
|||
|
||||
IMAGE_FEATURES_append = " \
|
||||
package-management \
|
||||
ssh-server-openssh \
|
||||
"
|
||||
|
||||
BASE_TOOLS = " \
|
||||
bash \
|
||||
less \
|
||||
curl \
|
||||
parted \
|
||||
mmc-utils \
|
||||
"
|
||||
|
||||
NET_TOOLS = " \
|
||||
iproute2 \
|
||||
ethtool \
|
||||
iptables \
|
||||
networkmanager \
|
||||
bridge-utils \
|
||||
"
|
||||
|
||||
WWAN_TOOLS = " \
|
||||
modemmanager \
|
||||
wwan-config \
|
||||
"
|
||||
|
||||
BT_TOOLS = " \
|
||||
bluez5 \
|
||||
bluez5-obex \
|
||||
bluez5-noinst-tools \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "tibluetooth", "tibluetooth", "", d)} \
|
||||
"
|
||||
WIFI_TOOLS = " \
|
||||
hostapd \
|
||||
iw \
|
||||
wpa-supplicant \
|
||||
wireless-regdb-static \
|
||||
"
|
||||
|
||||
TIME_TOOLS = " \
|
||||
chrony \
|
||||
chronyc \
|
||||
"
|
||||
|
||||
NM_TOOLS = " \
|
||||
nmhw-auto-part \
|
||||
udev-rules-nmhw \
|
||||
nmhw-fwupdate \
|
||||
packagegroup-system-state-framework \
|
||||
"
|
||||
|
||||
IMAGE_INSTALL_append = " \
|
||||
${CORE_IMAGE_BASE_INSTALL} \
|
||||
${BASE_TOOLS} \
|
||||
${NET_TOOLS} \
|
||||
${NM_TOOLS} \
|
||||
${TIME_TOOLS} \
|
||||
IMAGE_INSTALL = " \
|
||||
packagegroup-nm-minimal \
|
||||
packagegroup-nm-base \
|
||||
packagegroup-nm-extended \
|
||||
${FIRMWARE} \
|
||||
openssh-sftp-server \
|
||||
haveged \
|
||||
openvpn \
|
||||
pciutils \
|
||||
kernel-modules \
|
||||
packagegroup-netmodule-linux \
|
||||
rng-tools \
|
||||
gpsd \
|
||||
gps-utils \
|
||||
socat \
|
||||
cryptodev-module \
|
||||
packagegroup-ublox-modules \
|
||||
\
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "custom-mac-addresses", "mac-address-set", "", d)} \
|
||||
\
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "can", "can-utils", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "wwan", "${WWAN_TOOLS}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "gnss", "gnss-mgr", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "${BT_TOOLS}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "imx-boot", "", "bootloader-config", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "usb-hub-reset", "usb-hub-reset", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "v2x", "v2x-ieee802.11p", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "fpga", "fpga-image", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "am335x-wakeup-timer", "wakeup-timer", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "spi", "spitools", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "imu", "imu-setup", "", d)} \
|
||||
"
|
||||
|
||||
|
||||
IMAGE_INSTALL_append_imx8-nmhw23 = " \
|
||||
gnss-init \
|
||||
"
|
||||
|
||||
IMAGE_INSTALL_append_sota = " mount-overlay"
|
||||
|
||||
IMAGE_INSTALL_append_netbird = " kernel-module-wlan-backports"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
inherit packagegroup
|
||||
|
||||
PACKAGES = "${PN}-minimal ${PN}-base ${PN}-extended"
|
||||
|
||||
SUMMARY_${PN}-minimal = "Minimal packages for ${PN}"
|
||||
SUMMARY_${PN}-base = "Base packages for ${PN}"
|
||||
SUMMARY_${PN}-extended = "Extended packages for ${PN}"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
SUMMARY = "Bluetooth tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
RDEPENDS_${PN}-base = " \
|
||||
bluez5 \
|
||||
bluez5-obex \
|
||||
bluez5-noinst-tools \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "tibluetooth", "tibluetooth", "", d)} \
|
||||
"
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
SUMMARY = "Bootloader management tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "imx-boot", "", "bootloader-config", d)} \
|
||||
"
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
SUMMARY = "CAN tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-base = " \
|
||||
can-utils \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
cannelloni \
|
||||
"
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
SUMMARY = "FPGA image for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-base = " \
|
||||
fpga-image \
|
||||
"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
SUMMARY = "GNSS tools for NetModule distributions"
|
||||
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
gpsd \
|
||||
gps-utils \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "advanced-gnss", "gnss-mgr", "", d)} \
|
||||
"
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
SUMMARY = "IMU tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
imu-setup \
|
||||
"
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
SUMMARY = "Network tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
# less is needed for nmcli to show proper output
|
||||
RDEPENDS_${PN}-minimal = " \
|
||||
networkmanager \
|
||||
less \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-base = " \
|
||||
iproute2 \
|
||||
packagegroup-core-ssh-openssh \
|
||||
openssh-sftp-server \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-extended= " \
|
||||
ethtool \
|
||||
iptables \
|
||||
bridge-utils \
|
||||
openvpn \
|
||||
"
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
SUMMARY = "SPI tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-base = " \
|
||||
spitools \
|
||||
"
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
SUMMARY = "Time tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
chrony \
|
||||
chronyc \
|
||||
"
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
SUMMARY = "V2X tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
v2x-ieee802.11p \
|
||||
"
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
SUMMARY = "Wakeup Timer driver for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
wakeup-timer \
|
||||
"
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
SUMMARY = "Wifi tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
hostapd \
|
||||
iw \
|
||||
wpa-supplicant \
|
||||
wireless-regdb-static \
|
||||
"
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
SUMMARY = "WWAN tools for NetModule distributions"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-feature.inc
|
||||
|
||||
RDEPENDS_${PN}-extended = " \
|
||||
modemmanager \
|
||||
wwan-config \
|
||||
"
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
SUMMARY = "Netmodule Linux Base Packages"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-nm.inc
|
||||
FEATURE_LEVEL = "base"
|
||||
|
||||
RDEPENDS_${PN} = " \
|
||||
packagegroup-nm-minimal \
|
||||
bash \
|
||||
curl \
|
||||
parted \
|
||||
mmc-utils \
|
||||
usbutils \
|
||||
udev-rules-nmhw \
|
||||
"
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
DESCRIPTION = "Netmodule Linux Extended Packages"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-nm.inc
|
||||
FEATURE_LEVEL = "extended"
|
||||
|
||||
RDEPENDS_${PN} = " \
|
||||
packagegroup-nm-base \
|
||||
nmhw-auto-part \
|
||||
nmhw-fwupdate \
|
||||
packagegroup-system-state-framework \
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "custom-mac-addresses", "mac-address-set", "", d)} \
|
||||
\
|
||||
rng-tools \
|
||||
cryptodev-module \
|
||||
kernel-modules \
|
||||
\
|
||||
socat \
|
||||
pciutils \
|
||||
"
|
||||
|
||||
# Hacks for V2X-GNSS-HUB power sequence on HW23
|
||||
RDEPENDS_${PN}_append_imx8-nmhw23 = " \
|
||||
usb-hub-reset \
|
||||
gnss-init \
|
||||
"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
SUMMARY = "Netmodule Linux Minimal Packages"
|
||||
LICENSE = "MIT"
|
||||
|
||||
require packagegroup-nm.inc
|
||||
FEATURE_LEVEL = "minimal"
|
||||
|
||||
RDEPENDS_${PN} = " \
|
||||
packagegroup-core-boot \
|
||||
util-linux-agetty \
|
||||
systemd-serialgetty \
|
||||
ncurses-terminfo-base \
|
||||
haveged \
|
||||
"
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
inherit packagegroup
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
# FEATURE_LEVEL must be defined by including file
|
||||
|
||||
RDEPENDS_${PN}_append = " \
|
||||
\
|
||||
packagegroup-nm-net-${FEATURE_LEVEL} \
|
||||
packagegroup-nm-boot-tools-${FEATURE_LEVEL} \
|
||||
packagegroup-nm-time-${FEATURE_LEVEL} \
|
||||
\
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "packagegroup-nm-bluetooth-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "can", "packagegroup-nm-can-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "imu", "packagegroup-nm-imu-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "fpga", "packagegroup-nm-fpga-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "gnss", "packagegroup-nm-gnss-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "spi", "packagegroup-nm-spi-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "v2x", "packagegroup-nm-v2x-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "wakeup-timer", "packagegroup-nm-wakeup-timer-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "wifi", "packagegroup-nm-wifi-${FEATURE_LEVEL}", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "wwan", "packagegroup-nm-wwan-${FEATURE_LEVEL}", "", d)} \
|
||||
"
|
||||
Loading…
Reference in New Issue