Compiling Software and Adding with FAI

Started digging around a bit with the Linaro-FAI git repo. Hoping to add some software building (compiling C++ applications) to create a custom Debian image.

Can anyone point me in the right direction for accomplishing this?

I suppose I could build the applications outside of FAI and just pull them in. Would this be better?


FAI is a tool that can create custom debian images, during the generation of an image, FAI can do various types of customizations, like editing config files (in /etc) , adding remote package repos, installing packages from these repos, … I don’t think you can build an application within FAI, well, you probably can since you could write a script for that, but i think it was not meant to be used this way. So there is no built-in mechanism to do that.

the recommended method to install software is:

  1. setup your own debian repo
  2. publish your application, built as a proper debian package into your debian repo
  3. include your debian repo in your FAI config
  4. update your FAI package list so that your app is installed

Maybe @suihkulokki would know a better way…


Unless you need to distribute the image to lots of people, just building the software outside FAI is going to be easier and faster. The Debian image is intended for people who want a debian-like environment. Usually you don’t build a new disk image to add some new software on Debian server or desktop either. If you are just compiling the software for youself, Even though DB410C is quite slow, the fastest way to get the software to you dragonboard is to run “apt update; apt install build-essential” + all the build dependencies your software needs, and compile locally on the board.

If you have team that you want to share your builds with, you can set up an repository, build proper debian packages, a publish the repository. A lot of that can be automated using the public OBS server at

The image is to be distributed to lots of people. We use a custom assembled Linux distro for a hardware device we distribute. I’m trying to move away from Bitbake because it is consistently a hassle.

Thanks for the OBS server link. I’ll take a look.

Makes sense. Thanks for the info!