Rc.autostart contents not updating

I’m in the process of bring up a new FMU-v5 based flight controller and am trying to set up the init files specific to our drone. How does one update the contents of rc.autostart so my custom board init script can be called?

I’ve experimented by making changes to ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt, but the contents of rc.autostart do not seem to change when I build.

Any pointers to what I’m missing?

Checking this against a FMU-v4 build (modifying ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt with the desired contents of rc.autostart) also is not working, so either I’m not doing it right, or we have a bug in the build system.

Here’s my understanding:

  1. As part of the build process, ROMFS/px4fmu_common/init.d/airframes/CMakelist is used to create the rc.autostart file located at /etc/init.d/rc.autostart (located on the FMU filesystem).
  2. As part of the boot process, the system eventually calls Firmware/ROMFS/px4fmu_common/init.d/rcS
  3. if SYS_AUTOSTART is other than 0, rcS calls /etc/init.d/rc.autostart
  4. rc.autostart compares SYS_AUTOSTART and calls the drone specific init file defined in the step above.

Is this correct, or is their another way to do this?

Resolved with https://github.com/PX4/Firmware/issues/12631