Configuration Options#
When configuring the build (./pbl configure ...) there are several options you can enable or tune.
Below you will find a list of the most relevant ones.
Choosing your target#
There are a number of target boards to choose from when building PebbleOS. You can do so by
using the (--board) flag followed by:
asterix:(Core Devices) Pebble 2 Duo
obelix_dvt,obelix_pvt:(Core Devices) Pebble Time 2
getafix_evt,getafix_dvt,getafix_dvt2:(Core Devices) Pebble Round 2
qemu_emery,qemu_flint,qemu_gabbro:dedicated QEMU targets (see QEMU)
Keep in mind that some targets may not currently compile as-is.
Variant#
--variant:Build variant,
normal(main firmware) orprf(recovery firmware).
Release build#
-DCONFIG_RELEASE=y:Build a release-mode firmware. Strips debug aids, enables shipping defaults (e.g. Memfault crash reporting), and reduces battery usage compared to a debug build. Pass this to
./waf configure.
Main features#
-DCONFIG_MODDABLE_XS=y/-DCONFIG_MODDABLE_XS=n:Force the Moddable SDK’s XS JavaScript engine on or off, overriding the board defconfig. Pass to
./waf configure. See Moddable JS Engine. PRF (recovery) builds always disable the engine regardless of this value.
Debugging#
--nowatchdog:Disable watchdog
--nostop:Disable STOP mode
--nosleep:Disable sleep mode
Flashing#
--openocd-jtag:Choose alternative flash/debug probe when using OpenOCD runner.
Logging#
--log-level:Default log level.
--nohash:Disable log messages hashing. This will increase ROM usage, but will not require a dictionary file to decode logs.