Buildroot
- General info
- Setup
- Configuration
- Build
- Other buildroot commands
- Measurement software for Sleepy Pi 2
An external buildroot project to optimize the localizer project of DistriNet on the Raspberry Pi Zero W. The goal is to improve boot times to prolong running the Raspberry Pi Zero W in combination with a Sleepy Pi 2 on a battery.
To define the necessary paths (e.g. of buildroot), create a .env
file.
cp .env.example .env
Put buildroot source code (from git or a tarball) alongside this project (in ../buildroot
), or alter the BUILDROOT_PATH
variable in .env
.
Start configuring the image by first selecting a defconfig.
make rpi0w_defconfig
The optimized configuration is available as
rpi0w_fast_reboot_defconfig
with all measurement software enabled.To see all available defconfigs, list them with:
make list-defconfigs
Next, configure the image in menuconfig
if required.
make menuconfig
Target packages provided by this project can be found under External options ---> DistriNet
.
Build an image (this can take a while):
make all
For a full and clean (re)build, use:
make clean all
When finished, the image to flash on an SD card can be found at output/images/sdcard.img
, where output
is the folder specified in the .env
file.
Any command that buildroot supports can be used. The command will always be passed to buildroot with this project appended to the external tree and the output directory set as configured in .env
.
The software used to measure the boot time is included at board/distrinet/sleepypi2
and can be flashed with the Arduino IDE. The setup is documented at SpellFoundry. In addition to the Sleepy Pi libraries, the Arduino EDB library is used to store measurements in EEPROM.