Skip to content

chore: update Ubuntu 22.04 build environment script and docs#7209

Merged
pfeerick merged 6 commits into
mainfrom
pfeerick/update-ubuntu-2204
Mar 24, 2026
Merged

chore: update Ubuntu 22.04 build environment script and docs#7209
pfeerick merged 6 commits into
mainfrom
pfeerick/update-ubuntu-2204

Conversation

@pfeerick

Copy link
Copy Markdown
Member

Summary

  • Sync setup_buildenv_ubuntu22.04.sh with the CI Docker image (edgetx-dev)
  • Update docs/building/linux-ubuntu-22.04.md to reflect current build workflow

Script changes (setup_buildenv_ubuntu22.04.sh)

  • Add PPAs: Kitware (cmake), NodeSource (Node 20.x), git-core, savoury1/multimedia (SDL2)
  • Install dfu-util from apt instead of building from source
  • Add nodejs + install lv_font_conv globally
  • Remove i386 architecture support — no longer needed with ARM toolchain 14.x (native 64-bit)
  • 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
  • Add Qt bin dir to ~/.bashrc PATH alongside ARM toolchain
  • Create /opt/qt and set ownership before Qt installation
  • Update Python packages: unpin pillow/clang, add pydantic, remove unused packages

Doc changes (linux-ubuntu-22.04.md)

  • Switch firmware build commands from make to cmake --build (eliminates jobserver conflict warning)
  • Use cmake --fresh -S . -B <dir> style; drop cd build-output — all commands run from source root
  • Add CMAKE_BUILD_PARALLEL_LEVEL export for parallelism
  • Restructure Companion/Simulator section: current post-2.12 workflow (wasi-module) first, legacy 2.10–2.12 (libsimulator) in a separate subsection
  • Document required cp of .wasm file to native/ when building a single target
  • Mention tools/build-wasm-modules.sh as a helper to build all radio simulator modules
  • One command per code block throughout

🤖 Generated with Claude Code

pfeerick and others added 6 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>
@pfeerick pfeerick added documentation 📝 Improvements or additions to documentation compilation Related to compiling the firmware and firmware options labels Mar 24, 2026
@pfeerick pfeerick added this to the 3.0 milestone Mar 24, 2026
@pfeerick pfeerick merged commit d9e5859 into main Mar 24, 2026
1 check passed
@pfeerick pfeerick deleted the pfeerick/update-ubuntu-2204 branch March 24, 2026 02:55
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