Skip to content

confd: set IITO startup/failure conditions (fixes status LEDs) - #1587

Open
pjator wants to merge 1 commit into
kernelkit:mainfrom
pjator:nanopi-r2s-led
Open

confd: set IITO startup/failure conditions (fixes status LEDs)#1587
pjator wants to merge 1 commit into
kernelkit:mainfrom
pjator:nanopi-r2s-led

Conversation

@pjator

@pjator pjator commented Aug 14, 2026

Copy link
Copy Markdown

iitod.json expects /run/finit/cond/run/startup/success before the LAN and status LEDs light up, but nothing ever creates it. Add a small finit service (after confd/ready) that sets the condition on every boot.

Description

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

@wkz

wkz commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

When confd became its own daemon (in 77a7915), the conditions used by IITO where also removed.

Currently, a condition is set when startup is applied:

symlink("/run/finit/cond/reconf", "/run/finit/cond/usr/bootstrap");

But there are no corresponding conditions for the failure cases. I suggest we add those and then update the IITO configuration to match.

@wkz wkz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's fix the root cause so that it (1) fixes all boards and (2) also fixes the error cases when startup fails to apply cleanly.

The product and common iitod.json configurations reference finit
conditions /run/finit/cond/run/startup/success and
/run/finit/cond/run/failure/{success,failure} to drive status LEDs,
but nothing ever creates them, so the LEDs stay dark on every boot.

confd already signals usr/bootstrap when startup applies; add the
matching conditions for a clean startup and for the failure paths
(fail-secure fallback and the fatal runlevel 9 case), which fixes
LED behaviour on all boards.

Co-authored-by: Jarvis (Hermes Agent) <jarvis@woxblom.com>
@pjator

pjator commented Aug 14, 2026

Copy link
Copy Markdown
Author

Fixed per your suggestion. confd now sets run/startup/success after a clean bootstrap and run/failure/success/run/failure/failure in handle_startup_failure() (fail-secure + panic paths). The board-specific workaround is dropped. Verified on hardware: LED lights on boot, eMMC visible.

@pjator pjator changed the title board: nanopi-r2s: set iitod startup condition for LAN/status LEDs confd: set IITO startup/failure conditions (fixes status LEDs) Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants