The Hawkeye Pi Camera is really just a computer with a digital image sensor and a bunch of other bits and pieces. As a computer, it has an operating system and a bunch of software which is loaded when it is powered on. If left to their own devices, computers can get slow quickly. The Hawkeye Pi Camera has been taking 50-55 seconds to start. That’s horrible.

The first task is finding out what is taking all of that time. There is a nice tool for this: systemd-analyze

systemd-blame

The red values with a plus sign indicate how much time those steps were taking. The biggest looser was the dhcp service. This was taking 30 seconds and blocking most other programs from continuing until it was finished. The service isn’t necessary. The network devices will load dhcp if/when they need it. Disabling this service saved 30 seconds – more than half of the total time to start the camera.

A small amount of additional time is saved by allowing the camera software to load in parallel to other system programs.