Skip to content

chore: update Ubuntu 24.04 build environment script and docs#7211

Merged
pfeerick merged 9 commits into
mainfrom
pfeerick/update-ubuntu-2404
Mar 27, 2026
Merged

chore: update Ubuntu 24.04 build environment script and docs#7211
pfeerick merged 9 commits into
mainfrom
pfeerick/update-ubuntu-2404

Conversation

@pfeerick

Copy link
Copy Markdown
Member

Summary

  • Sync setup_buildenv_ubuntu24.04.sh with the CI Docker image (edgetx-dev)
  • Update docs/building/linux-ubuntu-24.04.md to reflect current build workflow
  • Add link to compilation-options.md in both Ubuntu 22.04 and 24.04 build guides

Script changes (setup_buildenv_ubuntu24.04.sh)

  • Add Kitware PPA (cmake) and NodeSource Node 20.x PPA
  • Install dfu-util from apt instead of building from source
  • Add nodejs and install lv_font_conv globally
  • Remove i386 packages and libfox-1.6-dev (not needed with 64-bit toolchain)
  • Update Qt 6.9.0 → 6.9.3; ARM toolchain stays at 14.2.rel1
  • Extract QT_VERSION and GCC_ARM_VERSION as top-level constants
  • Create /opt/qt, set ownership, and add Qt bin dir to ~/.bashrc PATH
  • Fix --break-system-package typo → --break-system-packages
  • Update Python packages: unpin clang, remove unused filelock/future/lxml, add pydantic

Doc changes (linux-ubuntu-24.04.md)

  • Add "last tested" header; fix WSL2 reference and chmod command
  • Switch to cmake --build throughout (eliminates jobserver conflict warning)
  • Use cmake --fresh -S . -B <dir> with -Wno-dev; all commands from source root
  • Add CMAKE_BUILD_PARALLEL_LEVEL export; one command per code block
  • Restructure Companion/Simulator section: post-2.12 (wasi-module) first, legacy 2.10–2.12 (libsimulator) as subsection
  • Document cp of .wasm to native/ and tools/build-wasm-modules.sh helper

🤖 Generated with Claude Code

pfeerick and others added 8 commits March 23, 2026 23:19
…r image

Sync setup_buildenv_ubuntu22.04.sh with the edgetx-dev Dockerfile:

- Add PPAs: Kitware (newer cmake), NodeSource Node 20.x, git-core, savoury1/multimedia (newer SDL2)
- Install dfu-util from apt instead of building from source; removes 4 steps and libusb-1.0-0-dev dependency
- Add nodejs (Node 20.x) and install lv_font_conv globally for font generation
- Remove i386 architecture support and 32-bit libs — no longer needed since the ARM GNU toolchain 14.x ships as native 64-bit binaries
- Update Qt 6.9.0 → 6.9.3
- Update Python packages: unpin pillow and clang, add pydantic, remove unused filelock/future/lxml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Makes version bumps a single-line change rather than hunting through the script.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Qt bin dir to ~/.bashrc alongside the ARM toolchain, using a heredoc
to cleanly handle variable expansion (QT_VERSION expands now, $PATH is
written literally).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
aqt runs as the current user so it needs write access to the output
directory before installing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add "last tested" version/date header
- Fix WSL2 reference to mention Windows 11 and correct link text
- Fix chmod command (a+x -> +x)
- Drop cd into build-output; all commands now run from source root
- Fix cmake options listing command (../ -> -S . to match new working directory)
- Replace make-based workflow with cmake --build throughout, eliminating
  the jobserver conflict warning caused by the superbuild
- Add CMAKE_BUILD_PARALLEL_LEVEL export so --parallel works without a count
- Use cmake --fresh -S . -B <dir> configure style for clarity and correctness
- Add -Wno-dev to suppress developer warnings
- Remove outdated "Starting with 2.8" note
- Restructure Companion/Simulator section with current (post-2.12) workflow
  first, using wasi-module target and multi-target cmake --build
- Document required cp of .wasm file from wasm-build/ to native/ when
  building a single target manually
- Mention tools/build-wasm-modules.sh as a helper to build all radio
  simulator modules in one go
- Add legacy section for EdgeTX 2.10-2.12 using libsimulator target
- Separate cd and binary launch into individual code blocks for easier
  copy/paste; enforce one command per code block throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Brings the 24.04 script and documentation in line with the 22.04 updates.

Script changes:
- Add Kitware PPA (newer cmake) and NodeSource Node 20.x PPA
- Install dfu-util from apt instead of building from source
- Add nodejs and install lv_font_conv globally
- Remove i386 architecture support and libfox-1.6-dev (not needed)
- Add QT_VERSION and GCC_ARM_VERSION as top-level constants
- Update Qt 6.9.0 → 6.9.3; ARM toolchain stays at 14.2.rel1
- Create /opt/qt and set ownership before Qt installation
- Add Qt bin dir to ~/.bashrc PATH alongside ARM toolchain (heredoc quoting)
- Update Python packages: fix --break-system-package typo, unpin clang,
  remove unused filelock/future/lxml, add pydantic
- Remove --no-install-recommends packages now covered by dfu-util apt dep

Doc changes:
- Add "last tested" header
- Fix WSL2 reference to mention Windows 11 and correct link text
- Fix chmod command (a+x → +x)
- Drop cd into build-output; all commands run from source root
- Fix cmake options listing command (../ → -S .)
- Replace make-based workflow with cmake --build throughout
- Add CMAKE_BUILD_PARALLEL_LEVEL export
- Use cmake --fresh -S . -B <dir> configure style with -Wno-dev
- Remove outdated "Starting with 2.8" note
- Restructure Companion/Simulator section: post-2.12 (wasi-module) first,
  legacy 2.10–2.12 (libsimulator) in a separate subsection
- Document cp of .wasm to native/ and tools/build-wasm-modules.sh helper
- One command per code block; separate cd from binary launch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add a link to the Compilation Options page alongside the cmake -LAH
command in both the 22.04 and 24.04 build instructions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pfeerick pfeerick added documentation 📝 Improvements or additions to documentation compilation Related to compiling the firmware and firmware options labels Mar 24, 2026
…4.04

Add --ignore-installed to pip install to prevent failures when packages
like typing-extensions are installed by apt without a RECORD file and
cannot be uninstalled by pip.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pfeerick pfeerick marked this pull request as ready for review March 27, 2026 10:31
@pfeerick pfeerick modified the milestones: 3.0, 2.12.0 Mar 27, 2026
@pfeerick pfeerick closed this Mar 27, 2026
@pfeerick pfeerick reopened this Mar 27, 2026
@pfeerick pfeerick merged commit 32bc992 into main Mar 27, 2026
2 checks passed
@pfeerick pfeerick deleted the pfeerick/update-ubuntu-2404 branch March 27, 2026 10:34
@pfeerick pfeerick added this to the 3.0 milestone Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compilation Related to compiling the firmware and firmware options documentation 📝 Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant