IPv6 on, forgetest dual-stack, the release rootfs sheds 22 MB

The distro keeps its ipv6 feature (busybox networking and ifupdown
inet6, openssh, ntp and rsyslog follow); forgetest binds "::" by
default, one dual-stack socket that still serves IPv4. The release
image drops nano (with it file and the libmagic database, 8.7 MB; the
dev image keeps nano), the udev hardware database (7.7 MB of USB and
PCI identities for buses the board lacks, via BAD_RECOMMENDATIONS) and
urllib3's pyOpenSSL/cryptography recommendation (6 MB; nothing imports
them, TLS goes through the standard library). BRINGUP item 21 records
the round and the bench checks it owes; item 16 gets its re-measure
plan on the UP kernel with the performance governor.

Coverage: image.* covers the rootfs composition and the distro conf
(platform); forgetest's own suite covers the server.
This commit is contained in:
ScottW514
2026-08-24 15:40:19 -04:00
parent dd6f459d7b
commit 326c3e758b
7 changed files with 54 additions and 11 deletions
+4 -1
View File
@@ -5,7 +5,7 @@ DISTRO_NAME = "OpenGlow/ForgeFIRM"
DISTRO_VERSION = "0.0.0"
DISTRO_FEATURES:remove = " \
3g alsa avahi bluetooth bluez5 ext2 ipv6 irda nfc nfs pci pcmcia \
3g alsa avahi bluetooth bluez5 ext2 irda nfc nfs pci pcmcia \
pulseaudio vulkan wayland x11 zeroconf "
# opengl stays: forgectrl's camera demosaic runs as GLES2 fragment
@@ -15,6 +15,9 @@ DISTRO_FEATURES:remove = " \
# (both remain removed above), so the cost is the libraries and the one
# driver, not a graphics stack.
PACKAGECONFIG:pn-mesa = "opengl gles egl gbm gallium etnaviv"
# udev's hardware database is USB and PCI vendor/product identities (7.7 MB);
# the board has neither bus.
BAD_RECOMMENDATIONS += "eudev-hwdb"
# System logger: rsyslog replaces busybox syslogd/klogd. Every ForgeFIRM
# process logs through it and it is the only log writer (one directory
@@ -0,0 +1,6 @@
# urllib3's optional pyOpenSSL/cryptography backend is not used here: the cloud
# client and the machine glue talk TLS through the standard library's ssl
# module (nothing imports OpenSSL or cryptography). Dropping the two runtime
# recommendations takes cryptography, pyOpenSSL, cffi, pycparser and ply
# (about 6 MB) off the rootfs.
RDEPENDS:${PN}:remove = "python3-cryptography python3-pyopenssl"
@@ -12,6 +12,7 @@ IMAGE_INSTALL += " \
forgetest \
python3-gfutilities-emulator \
htop \
nano \
"
# debug-tweaks (passwordless root, root SSH login) belongs ONLY to the dev
@@ -10,8 +10,10 @@ DESCRIPTION = "OpenGlow/ForgeFIRM image for Glowforge"
# (gfui-client connects to Glowforge's servers). Removing it here (override
# only; the shared glowforge-image base is untouched) also sidesteps its
# do_package failure. Its role is filled locally by forgectrl and the
# controllers below.
IMAGE_INSTALL:remove = "gfui-client"
# controllers below. nano is a bench convenience (the dev image keeps it);
# on the release rootfs it costs 8.7 MB, most of it libmagic and its
# database, which nothing else here uses.
IMAGE_INSTALL:remove = "gfui-client nano"
# grblhal-glowforge: the grblHAL motion controller (Grbl over TCP:23).
# forgectrl: the ForgeFIRM machine-services daemon (HTTP :8080): controller