From a5d98e9351a0c8c8f3b398e8f534e5579eea7c39 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 15:16:53 +0200 Subject: [PATCH] board/common: Collect all system init in a dedicated runparts dir This makes it easier to add more scripts without having to update the finit config file, and it clarifies which of the scripts in /libexec/infix only execute at boot. --- board/common/rootfs/etc/finit.d/10-infix.conf | 4 +--- board/common/rootfs/libexec/infix/{probe => init.d/00-probe} | 0 .../{sysctl-sync-ip-conf => init.d/10-sysctl-sync-ip-conf} | 3 +-- .../common/rootfs/libexec/infix/{nameif => init.d/20-nameif} | 0 board/common/rootfs/libexec/infix/init.d/99-done | 2 ++ package/confd/confd.conf | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) rename board/common/rootfs/libexec/infix/{probe => init.d/00-probe} (100%) rename board/common/rootfs/libexec/infix/{sysctl-sync-ip-conf => init.d/10-sysctl-sync-ip-conf} (87%) rename board/common/rootfs/libexec/infix/{nameif => init.d/20-nameif} (100%) create mode 100755 board/common/rootfs/libexec/infix/init.d/99-done diff --git a/board/common/rootfs/etc/finit.d/10-infix.conf b/board/common/rootfs/etc/finit.d/10-infix.conf index 17aede21..024848e9 100644 --- a/board/common/rootfs/etc/finit.d/10-infix.conf +++ b/board/common/rootfs/etc/finit.d/10-infix.conf @@ -1,3 +1 @@ -run [S] log:console /libexec/infix/probe -- Probing system information -run [S] /libexec/infix/sysctl-sync-ip-conf -- -run [S] /libexec/infix/nameif -- Probing network interfaces +task name:ixinit log:tag:ixinit [S] /libexec/finit/runparts -p /libexec/infix/init.d -- Probing system diff --git a/board/common/rootfs/libexec/infix/probe b/board/common/rootfs/libexec/infix/init.d/00-probe similarity index 100% rename from board/common/rootfs/libexec/infix/probe rename to board/common/rootfs/libexec/infix/init.d/00-probe diff --git a/board/common/rootfs/libexec/infix/sysctl-sync-ip-conf b/board/common/rootfs/libexec/infix/init.d/10-sysctl-sync-ip-conf similarity index 87% rename from board/common/rootfs/libexec/infix/sysctl-sync-ip-conf rename to board/common/rootfs/libexec/infix/init.d/10-sysctl-sync-ip-conf index 941f8759..5120fb8a 100755 --- a/board/common/rootfs/libexec/infix/sysctl-sync-ip-conf +++ b/board/common/rootfs/libexec/infix/init.d/10-sysctl-sync-ip-conf @@ -10,8 +10,7 @@ sysctl net.ipv4.conf.default >$tmp sysctl net.ipv6.conf.default >>$tmp for iface in $(ip -j link show | jq -r .[].ifname); do - sed -e "s/.default./.${iface}./g" $tmp | sysctl -p - + sed -e "s/.default./.${iface}./g" $tmp | sysctl -q -p - done rm $tmp - diff --git a/board/common/rootfs/libexec/infix/nameif b/board/common/rootfs/libexec/infix/init.d/20-nameif similarity index 100% rename from board/common/rootfs/libexec/infix/nameif rename to board/common/rootfs/libexec/infix/init.d/20-nameif diff --git a/board/common/rootfs/libexec/infix/init.d/99-done b/board/common/rootfs/libexec/infix/init.d/99-done new file mode 100755 index 00000000..84954e6d --- /dev/null +++ b/board/common/rootfs/libexec/infix/init.d/99-done @@ -0,0 +1,2 @@ +#!/bin/sh +exec initctl -bq cond set ixinit-done diff --git a/package/confd/confd.conf b/package/confd/confd.conf index b34f7b70..92832d09 100644 --- a/package/confd/confd.conf +++ b/package/confd/confd.conf @@ -1,6 +1,6 @@ #set DEBUG=1 -run name:bootstrap log:prio:user.notice norestart \ +run name:bootstrap log:prio:user.notice norestart \ [S] /usr/libexec/confd/bootstrap \ -- Bootstrapping YANG datastore