A friend who is building an Linux appliance is using Yocto: https://www.yoctoproject.org/. He also talked about Mender, mentioned in the other comment. I don't know how much overlap there is between these projects.
The Yocto Project is a popular build system for your own embedded Linux distribution.
Mender integrates with the Yocto Project with a layer (https://github.com/mendersoftware/meta-mender), but is a separate project for end-to-end OTA, which includes the client and the management server. Both are licensed under Apache 2.0 thus it is freely available and you're not locked into a hosted-only backend.
Although this is an older blog post, here is how you can port the Mender client to a non-Yocto build system: https://mender.io/blog/porting-mender-to-a-non-yocto-build-s...