Skip to content

RM-7673 create new configuration arm_cortexm_sdk_lite_defconfig#10

Open
vdskvortsov wants to merge 6 commits intoemcraft-fdpic-2022.08.xfrom
rm7673-buildroot-integration
Open

RM-7673 create new configuration arm_cortexm_sdk_lite_defconfig#10
vdskvortsov wants to merge 6 commits intoemcraft-fdpic-2022.08.xfrom
rm7673-buildroot-integration

Conversation

@vdskvortsov
Copy link
Copy Markdown
Contributor

New configuration to build a mininal set of packages to be included to the rootfs project when the buildroot will be integrated to the common EmCraft build subsystem. Support for kernel header 6.12 from the EmCraft's distro.

Add BR2_KERNEL_HEADERS_6_12 option and BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12
to support Linux 6.12.x kernel headers in the toolchain build.

Add arm_cortexm_sdk_lite_defconfig — a lightweight SDK configuration
without aktualizr, libostree, boost, and their dependencies. Suitable
for general-purpose development with the Emcraft uClinux BSP.
Enable BR2_PACKAGE_BUSYBOX and BR2_PACKAGE_BUSYBOX_SHOW_OTHERS to
build busybox and allow standalone i2c-tools alongside busybox
applets. Add BR2_PACKAGE_I2C_TOOLS and BR2_PACKAGE_TSLIB. Remove
BR2_PACKAGE_LIBTIRPC (unused on noMMU targets with kernel >= 2.6.23).
Enable BR2_PACKAGE_DROPBEAR for SSH server support via inetd.

Add openssh-sftp-server package -- a minimal buildroot package that
builds only sftp-server from OpenSSH 9.1p1. Key design decisions:
- Built with --without-openssl to avoid libssl/libcrypto dependency
  (sftp-server runs inside an already-encrypted dropbear session)
- Uses -ffunction-sections/-fdata-sections with --gc-sections to
  drop unreferenced code from libssh.a (notably misc.c:subprocess()
  which calls fork() and would fail to link on noMMU targets)
lshw allocates large buffers during hardware enumeration that exceed
the noMMU heap on RT1170. The package builds but the binary cannot
run usefully on the target, so it has no place in either the lite or
the full SDK output.
The rootfs project's initramfs does not stage bzip2, jq, openssl,
libcurl, expat, urandom-scripts, util-linux (libblkid/libuuid), or
the rootfs tarball -- rfs-builder reads target/ directly. Building
them only inflates the SDK without affecting the deployed image.

Drop them. The remaining set -- busybox, gdb, i2c-tools, libubootenv,
tslib, dropbear, openssh-sftp-server -- covers everything the rootfs
initramfs actually places in the image.
  * BR2_KERNEL_HEADERS_5_15 -> BR2_KERNEL_HEADERS_6_12 to match the
    shipped Linux 6.12.20 kernel
  * Enable BR2_PACKAGE_BUSYBOX (was disabled, which made
    BUSYBOX_OVERRIDE_SRCDIR / BUSYBOX_CONFIG_FILE written to local.mk
    by the consuming project inert)
  * Add BR2_PACKAGE_BUSYBOX_SHOW_OTHERS, I2C_TOOLS, TSLIB, DROPBEAR,
    OPENSSH_SFTP_SERVER -- parity with sdk_lite
@vdskvortsov vdskvortsov force-pushed the rm7673-buildroot-integration branch from 41af89a to 90a5d8e Compare April 30, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant