Actions
Feature #1217
openUtilize latest features of Buildroot
Status:
In Progress
Priority:
Immediate
Assignee:
Category:
00 - Basic Build Issues
Target version:
Start date:
28 Jul 2025
Due date:
% Done:
10%
Estimated time:
Severity:
01 - Critical
Description
There are a number of items I can use to improve PiBox.
This list will expand over time.- Use a skeleton overlay directory instead of the customize package
- Build out of tree
- Add make buildroot-pkg-stats
- Add make buildroot-show-info
- Add make buildroot-graph-depends
- Add make buildroot-graph-size
- Install toolchain to ~/toolchain/version using deb tools
- Install Buildroot staging tree to ~/.cache/pibox for use by package builds.
- Build buildroot before kernel - kernel tools often depend on sysroot/rootfs tools
- Use squashfs packaging of firmware and userland and add via an overlay setup
- Use proper package directories
- Use patch directories
- Fix rundock to run BASH from the current directory (re: use -w option).
- Add -targets to component and top level builds. Use .target to hide targets that shouldn't be called directly.
Related issues
Updated by Hammel about 1 month ago
- Related to Feature #1100: Update lightsw registration to match new imrest requirements. added
Updated by Hammel about 1 month ago
- Related to deleted (Feature #1100: Update lightsw registration to match new imrest requirements.)
Updated by Hammel about 1 month ago
- Related to Action Item #775: Check if migration to Buildroot recommended customizations is warranted added
Updated by Hammel 2 days ago
-show-info is implemented and working.
The other new targets have problems:
$ make buildroot-graph-depends ERROR: The 'dot' program from Graphviz is needed for graph-depends make[1]: *** [Makefile:881: graph-depends-requirements] Error 1 make: *** [configs/buildroot.mk:258: buildroot-graph-depends] Error 2 $ make buildroot-graph-size /bin/bash: line 1: mkdir: No such file or directory make[1]: *** [Makefile:896: graph-size] Error 127 make: *** [configs/buildroot.mk:265: buildroot-graph-size] Error 2 $ make buildroot-pkg-stats /usr/bin/env: 'python3': No such file or directory make[1]: *** [Makefile:925: pkg-stats] Error 127 make: *** [configs/buildroot.mk:258: buildroot-pkg-stats] Error 2
It appears these won't work with the version of Buildroot in use currently. I'll probably need to bump the Buildroot version. There are targets in place that are disabled for these features until that is done.
Updated by Hammel about 21 hours ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
To use custom skeleton overlays:
- Disable System->RootFS Skeleton
- Remove configuration for System->custom target skeleton path
- Add package/customize/skeleton as a path to System->Root filesystem overlay directories
- Update buildroot.mk
- -rebuild target deletes and recopies skeleton directory (no need to clean up target anymore)
- Update -preconfig-customize
- Update -preconfig to remove kernel modules (they will be installed as an overlay lowerdir instead)
- Update -preconfig to remove gles (they will be installed as an overlay lowerdir instead)
- Generate kernel modules as squashfs for use in overlay
- Generate gles as squashfs for use in overlay
- Generate RPI Tools as either
- built by Buildroot, if possible
- built as a squashfs image
- Update Busybox init script to mount kernel modules and gles squashfs files and add them to overlay.
- Add RPI Tools squashfs, if used.
- Check if CUSTOMSRC is still needed in post-build.sh
- Add kernel modules, gles and (maybe) RPI Tools squashfs to install script.
Updated by Hammel about 21 hours ago
Building out of tree
O=$(BUILDROOT_BLDDIR)
will require changing all
$(BUILDROOT_SRCDIR)/output
to
$(BUILDROOT_BLDDIR)/output
Actions