Skip to content

[RFC] Distro to fragments#2527

Open
angolini wants to merge 4 commits into
Freescale:masterfrom
angolini:distro-to-fragments
Open

[RFC] Distro to fragments#2527
angolini wants to merge 4 commits into
Freescale:masterfrom
angolini:distro-to-fragments

Conversation

@angolini
Copy link
Copy Markdown
Member

@angolini angolini commented May 27, 2026

Phase 1 of the distro-to-fragments migration (RFC: meta-freescale-distro deprecation)

This series adds BitBake configuration fragments for BSP selection and the X11 display backend,
registers the conf/fragments/ tree with bitbake-config-build, and updates the default-registry
JSON to match.

What changes:

  • conf/fragments/graphics/x11.conf: new fragment for the X11 display backend (wayland, xwayland,
    framebuffer already existed).
  • conf/fragments/bsp/fslc.conf: selects the FSLC mainline BSP (IMX_DEFAULT_BSP = "mainline",
    linux-fslc, u-boot-fslc).
  • conf/fragments/bsp/nxp.conf: selects the NXP downstream BSP (linux-imx, u-boot-imx) and carries
    the provider overrides and GStreamer version pins previously found in fsl-base.inc in
    meta-freescale-distro.
  • default-registry: replaces the old distro-bundled presets (which did not express a BSP choice)
    with fslc-framebuffer, nxp-framebuffer, and fslc-eula-framebuffer; replaces the phantom
    distro/fsl and distro/fslc one-of options with the real upstream fragments yocto/distro/poky and
    core/distro/nodistro.

No breaking changes. Existing users of DISTRO = "fslc-wayland" (or any other distro from
meta-freescale-distro) are not affected. A companion patch to meta-freescale-distro wires those
distros through these fragments so they are validated by existing builds before the distros are
deprecated.


  • meta-freescale-distro/conf/distro/include/fsl-base.inc remains untouched and not linked
  • provides 2 distro options poky and nodistro. (bitbake configuration template requires a DISTRO)
  • X11 fragment is there, but I'm not really sure we want that
  • [RFC] conf/distro: wire distros through meta-freescale fragments meta-freescale-distro#138 depends on this PR
  • another point to remember is that if we decide to deprecate meta-freescale-distro and only use fragments, sstate-cache/sdk are impacted

angolini added 4 commits May 27, 2026 19:57
fslc-x11 was the only display backend distro with no fragment
equivalent; users migrating from meta-freescale-distro had no
way to replicate its DISTRO_FEATURES adjustments with the new
fragment-based workflow.

Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
BSP selection (linux-fslc vs linux-imx, u-boot-fslc vs u-boot-imx)
previously required a separate DISTRO from meta-freescale-distro.
These fragments let users express the same choice with DISTRO = "poky"
without depending on a dedicated distro layer.

The fslc fragment covers the mainline-tracking BSP (linux-fslc,
u-boot-fslc). The nxp fragment covers the NXP downstream BSP
(linux-imx, u-boot-imx) and carries the provider preferences and
GStreamer version pins previously found in fsl-base.inc.

Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
Replace the old display-backend-only and distro-bundled preset
configurations with ones that explicitly select a BSP fragment
alongside the display backend:

- fslc-framebuffer: bsp/fslc + framebuffer
- nxp-framebuffer: eula/accept-fsl-eula + bsp/nxp + framebuffer
- fslc-eula-framebuffer: eula/accept-fsl-eula + bsp/fslc + framebuffer

The phantom fsl preset (no fragments) and the broken accept-fsl-eula
preset (wrong fragment path freescale-layer/accept-fsl-eula) are
removed. The old fsl-{wayland,xwayland,framebuffer} and standalone
{wayland,xwayland,framebuffer} presets are removed; they did not
express a BSP choice and are superseded by the new presets.

Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
…references

distro/fsl and distro/fslc were referenced as one-of options but never
existed as real fragments; they were a leftover from an older format
where the distro variable drove a bitbake-setup template name.

Replace them with the built-in distro/ fragment prefix (distro/poky and
distro/nodistro), which maps directly to the DISTRO variable via the
OE_FRAGMENTS_BUILTIN mechanism. No fragment files are needed; the
built-in handler sets DISTRO = <value> from the fragment name.

Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
@angolini angolini force-pushed the distro-to-fragments branch from 135469d to 74349d7 Compare May 27, 2026 23:09
@angolini
Copy link
Copy Markdown
Member Author

tested with

./sources/bitbake/bin/bitbake-setup init \
      -L meta-freescale ./sources/meta-freescale \
      https://raw.githubusercontent.com/angolini/meta-freescale/refs/heads/distro-to-fragments/default-registry/configurations/fsl-community-bsp-master.conf.json

3,24,1

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