Die seltsam innige Beziehung von multid und dnsmasq
Lieber Hermann, Folgendes habe ich mir auch erst mal angelesen, ich hoffe, es korrekt wiederzugeben:
- Das AVM-Skript /etc/initd.d/rc.net startet die Netzwerkdienste und somit auch multid, welcher u.a. auch für DynDNS und DHCP zuständig ist.
- Für beides wird auch Dnsmasq verwendet, daher muß dafür gesorgt werden, daß multid vom System nicht (bzw. nicht als erstes) gestartet wird, sondern stattdessen Dnsmasq.
- Um dies zu erreichen, wird rc.net gepatcht, siehe patches/<modellnr.>/100-rc.net-dnsmasq.patch.
- Der Patch setzt im wesentlichen den Pfad so, daß anstatt /sbin/multid vorher ein Wrapper-Skript gleichen Namens (multid) gefunden und aufgerufen wird (kann man sich anschauen unter packages/dnsmasq-2.38/root/usr/lib/dnsmasq/bin/multid).
- Das Wrapper-Skript startet und stoppt anstatt multid einfach Dnsmasq, indem es dessen Init-Skript aufruft.
Das ist also die Erklärung dafür, daß
Dnsmasq so früh aufgerufen wird: Es passiert indirekt bereits in
rc.net, und dieses Skript wird weit vor den Skripten des DS-Mod aufgerufen. Da Du
Dnsmasq aber zu jenem Zeitpunkt noch gar nicht nachgeladen hast, kann es auch nicht gefunden werden, mal ganz davon abgesehen, daß der Mod noch nicht initialisiert ist. Der Wrapper muß trotzdem installiert werden, denn auch im laufenden Betrieb soll ja später statt
multid immer
Dnsmasq getriggert werden, wenn jemand
rc.net aufruft. Später, während der normalen Mod-Initialisierung, kommt
Dnsmasq dann ja regulär nochmal dran, und dann klappt es auch, weil es bereits nachgeladen ist und die Konfigurationsdaten initialisiert sind.
Alle Klarheiten beseitigt?
Edit: Daniel war etwas schneller, das hat sich überschnitten.