I am having a weird boot looping issue on a Raspberry Pi Zero W. When the device is powered via USB, everything seems fine. When the device was powered using a battery power source through an AdaFruit PowerBoost 1000C, the particle-agent service crashes while booting, thus causing and endless boot loop. I am having difficulty getting meaningful information from the logs (though I can certainly post them.) There are some errors related to resolving the hostname for my device’s Particle endpoint. I thought I could resolve them by changing the init.d script to required-start networking. My theory was that powering the Pi via battery was causing WiFi signal strength issues. I am having a hard time determining the specific conditions that are causing the boot looping issues other than the power source, which causes the issues sometimes. Does anyone have any suggestions?
Can the pi boot and run off the battery when using fresh Raspbian?
EDIT: No, you are correct. It’s not booting with particle-agent uninstalled. Must be a power issue.
Yes. It can also run just fine when I disable particle-agent in systemd. It seems to be running OK when I modify the init script to require networking, though this may be a fluke since particle-agent still starts before dhcpcd, etc. I’ll give it more rigorous testing and rebooting tomorrow.
As a side note I did have an issue with some firmware locking up. Pretty sure it was bad library code. In any case, after the firmware locks up, if I reboot the Pi then particle-agent will once again force one reboot during startup before settling down again. I know that particle agent is supposed to make a Pi behave more like an IoT device that doesn’t require user intervention, but as far as development is concerned it would be nice to have some options to boot into a “safe” mode where the agent doesn’t automatically restart firmware that didn’t exit gracefully.
It looks like no logs are written when the boot looping issue occurs, only when particle-agent successfully starts. I checked this by clearing out my /var/log/particle-agent.log file, allowed the device to boot loop a few times, then let it startup normally from USB power. Only one startup log sequence was present (based on system timestamps.)