mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-25 03:29:58 -07:00
72 lines
1.8 KiB
Markdown
72 lines
1.8 KiB
Markdown
|
|
# How to Build by yourself
|
|
|
|
## Install required software
|
|
|
|
- Git - [Download](https://git-scm.com/downloads) for Windows, on Linux/Mac install via package manager (`brew`, `apt`, ...)
|
|
|
|
For development:
|
|
|
|
- Git
|
|
- Python3
|
|
- VSCode
|
|
|
|
## Clone the Repository
|
|
|
|
You should clone with
|
|
|
|
```shell
|
|
git clone --recursive https://github.com/RogueMaster/flipperzero-firmware-wPlugins.git
|
|
```
|
|
|
|
## Building
|
|
|
|
Check out [documentation/fbt.md](fbt.md) for details on building and flashing firmware.
|
|
|
|
### Compile
|
|
|
|
Linux.MacOS
|
|
|
|
```shell
|
|
./fbt
|
|
```
|
|
|
|
Windows (powershell)
|
|
|
|
```powershell
|
|
.\fbt.cmd
|
|
```
|
|
|
|
Production standard Options
|
|
|
|
```shell
|
|
./fbt
|
|
--with-updater
|
|
COMPACT=1
|
|
DEBUG=0
|
|
updater_package
|
|
```
|
|
|
|
Usefull options, check `./fbt -h` and [fbt.md](fbt.md) for more
|
|
|
|
```shell
|
|
DEBUG=1 # Enable debug build
|
|
COMPACT=1 # Optimize for size
|
|
DIST_SUFFIX=custom # Suffix for binaries in build output for dist targets
|
|
CUSTOM_FLIPPER_NAME=Flipper # Replaces OTP flipper name with custom string of 8 chars
|
|
UPDATE_SPLASH=update_default # Directory name with slideshow frames to render after installing update package
|
|
LOADER_AUTOSTART= # Application name to automatically run on Flipper boot
|
|
FIRMWARE_APPS="{
|
|
'default': ['crypto_start', 'basic_services', 'basic_apps', 'updater_app', 'archive', 'custom_apps', 'passport', 'system_settings', 'about', 'basic_plugins', 'custom_games', 'wifi_plugins', 'external_apps', 'debug_apps'],
|
|
'unit_tests': ['basic_services', 'updater_app', 'unit_tests'],
|
|
'ext_apps': ['basic_services', 'external_apps']}"
|
|
# Map of (configuration_name->application_list)
|
|
-c # Clean
|
|
```
|
|
|
|
Check `dist/` for build outputs.
|
|
|
|
Use **`flipper-z-{target}-full-{suffix}.dfu`** 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`.
|