cloud9 startup question

I have found that after installing a freshly built image of cloud9. Some services (for example avahi, and cron) do not run until after the first reboot. Could someone explain the philosophy behind this, or point me to the code (service?) that runs the first time to enable a service, but not start it? For example, after the initial boot:

root@beaglebone:~# systemctl status avahi-daemon.service
avahi-daemon.service - Avahi mDNS/DNS-SD Stack
Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled)
Active: inactive (dead)
CGroup: name=systemd:/system/avahi-daemon.service

But on the second boot:

root@beaglebone:~# systemctl status avahi-daemon.service
avahi-daemon.service - Avahi mDNS/DNS-SD Stack
Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled)
Active: active (running) since Sat, 01 Jan 2000 00:07:33 +0000; 12s ago
Main PID: 86 (avahi-daemon)
Status: “avahi-daemon 0.6.31 starting up.”
CGroup: name=systemd:/system/avahi-daemon.service
├ 86 avahi-daemon: running [beaglebone.local]
└ 109 avahi-daemon: chroot helper

Jan 01 00:07:32 beaglebone avahi-daemon[86]: avahi-daemon 0.6.31 starting up.
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Successfully called chroot().
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Successfully dropped remaining …
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Loading service file /services/…
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Loading service file /services/…
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Network interface enumeration c…
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Registering HINFO record with v…
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Server startup complete. Host n…
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Service “beaglebone” (/services…
Jan 01 00:07:33 beaglebone avahi-daemon[86]: Service “beaglebone” (/ser

I have found that after installing a freshly built image of cloud9. Some
services (for example avahi, and cron) do not run until after the first
reboot. Could someone explain the philosophy behind this, or point me to the
code (service?) that runs the first time to enable a service, but not start
it? For example, after the initial boot:

What images are you starting from? When you build an Angstrom SD card
image with OE, installation of some packages require it to be booted
up one time. The card images that ship with the boards should be
pre-booted. If you download a fresh SD card image, the package
installer needs to run the install scripts for the various packages
before they are ready to run.

Thanks for your quick reply Jason. I am starting from a customized image based on the cloud9 image recipe. Now that I understand that "installation of some packages require it to be booted up one time", the next question is, how do I know when the installation is complete? If I know this, then I can initiate an automatic one-time reboot.

Regards,

Dave.

Do you bring up the serial console?

Yes, I do, but I would like to know the mechanism by which the “once only” code is run as I may have similar requirements.