unleashed-firmware/documentation/HowToBuild.md
2023-07-06 01:20:09 +03:00

2.3 KiB

How to Build by yourself:

Install required software

  • Git - Download for Windows, on Linux/Mac install via package manager (brew, apt, ...)

For development:

  • Git
  • VSCode

Clone the Repository

You should clone with

$ git clone --recursive https://github.com/DarkFlippers/unleashed-firmware.git

VSCode integration

fbt includes basic development environment configuration for VS Code. Run ./fbt vscode_dist to deploy it. That will copy the initial environment configuration to the .vscode folder. After that, you can use that configuration by starting VS Code and choosing the firmware root folder in the "File > Open Folder" menu.

Build on Linux/macOS

Check out documentation/fbt.md for details on building and flashing firmware.

Compile plugin and run it on connected flipper

./fbt COMPACT=1 DEBUG=0 launch_app APPSRC=applications_user/yourplugin

Compile everything for development

Edit this file to enable/disable Main apps that you need in DEBUG mode, flash space doesn't allows us to fit them all in DEBUG currently

  • applications/main/application.fam
./fbt FIRMWARE_APP_SET=debug_pack updater_package

Compile everything for release + get updater package to update from microSD card

./fbt COMPACT=1 DEBUG=0 updater_package

Check dist/ for build outputs.

Use flipper-z-{target}-update-{suffix}.tgz to flash your device.

Build on Windows

Check out documentation/fbt.md for details on building and flashing firmware.

Compile everything for development

Edit this file to enable/disable Main apps that you need in DEBUG mode, flash space doesn't allows us to fit them all in DEBUG currently

  • applications/main/application.fam
./fbt.cmd FIRMWARE_APP_SET=debug_pack updater_package

Compile everything for release + get updater package to update from microSD card

./fbt.cmd COMPACT=1 DEBUG=0 updater_package

You may need to change / to \ in front of fbt command (Only for Windows)!

Check dist/ for build outputs.

Use flipper-z-{target}-update-{suffix}.tgz to flash your device.

If compilation fails, make sure all submodules are all initialized. Either clone with --recursive or use git submodule update --init --recursive.