-
-
Notifications
You must be signed in to change notification settings - Fork 749
General Compiling Guide (Linux)
zix edited this page Jun 22, 2025
·
1 revision
- This guide is for in case you are using some sort of not so common Linux distro, and you are expert, and you wanna compile on your Linux machine.
- This guide is only for experts, it won't offer any step by step instructions.
- If you are using any Debian or Debian based distro, or you are using Arch Linux, use it's dedicated guide.
- This program using cmake as building system
- cmake scripts called arm-none-eabi-gcc toolchain (note that it's called "gcc" but it contains the whole c/cpp toolchain).
- cmake scripts called some linker scripts to implement the external app feature
- cmake scripts called some python scripts during building to generate some not so regular file structure.
- make sure you satisfied git submodule
- make sure you got the correct arm-none-eabi-gcc toolchain from arm website or your package manager (it's a group of executable) and you are allowed to use any methods you want to have the system environment (and cmake) to be able to run it
- We already supported Ninja and ccache, if you want use them.
- finally just simply use the regular compile way for regular cmake project:
mkdir build && cd build && cmake .. && make
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.
How to collaborate
How to ask questions correctly
- First steps
- Usage cautions
- Intended use and Legality
- Features
- PortaPack Versions (which one to buy)
- HackRF Versions
- Firmware update procedure
- Description of the hardware
- User interface
- Powering the PortaPack
-
Troubleshooting
- Won't boot
- Config Menu
- Firmware upgrade
- Diagnose firmware update in Windows
- Receive Quality Issues
- No TX/RX
- TX Carrier Only
- H2+ speaker modifications
- Dead Coin Cell Battery
- Factory Defaults
- SD card not recognized by PC with the SD-card over USB selected
- DFU overlay
- Full reset
- SolveBoard
- How to Format SDCard
- What if I don't like some of the apps
- Applications
-
Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi)
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes