freetz-trunk: (Re)Start von dnsmasq und openntp über WebIF friert 7270 ein

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Seit den Laborversionen nach der offiziellen .80er FW habe ich folgendes Problem:

freetz-trunk u.a. mit DNSMasq und Openntp startet und läuft einwandfrei. Wenn ich aber einen dieser Dienste über das Web-Interface neustarte (was ja bei Änderungen an der Konfiguration auch automatisch passiert), friert die Box ein, und ich kann nur noch den Stecker ziehen.

Mache ich den Neustart hingegen über die Kommandozeile, funktioniert es bestens:

Code:
# /etc/init.d/rc.dnsmasq restart
Stopping dnsmasq...done.
Starting dnsmasq...done.

Syslog dazu:

Apr 13 01:06:19 fritz daemon.info dnsmasq[2491]: exiting on receipt of SIGTERM
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: started, version 2.52 cachesize 150
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: compile time options: no-IPv6 GNU-getopt no-DBus no-I18N DHCP TFTP
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: asynchronous logging enabled, queue limit is 10 messages
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: reading /etc/resolv.conf
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: using nameserver 8.8.8.8#53
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: using nameserver 8.8.4.4#53
Apr 13 01:06:20 fritz daemon.info dnsmasq[2579]: read /etc/hosts - 3 addresses
Apr 13 01:06:20 fritz user.debug multid[2582]: DEBUG: upnpdev_start_usb
Der Fehler tritt nur auf, wenn die Box die Internet-Verbindung selber aufbaut.
Internetverbindung selbst aufbauen (NAT-Router mit PPPoE oder IP)
(DSL habe ich nicht)

Wenn ich im Modus
Vorhandene Internetverbindung im Netzwerk mitbenutzen (IP-Client)
arbeite, tritt das Problem nicht auf.

Ich bin etwas ratlos, wie ich das Problem debuggen soll. Es tritt auf zwei 7270er Boxen auf.
 
Passiert das mit dem aktuellen Trunk wirklich noch? Wir hatten da ein Problem, nachdem ich das Freetz Webinterface ohne die AVM Environment Variablen gestartet habe. Wenn die AVM Daemons die nicht vorfinden, dann starten sie nicht. Eigentlich sollte das aber gefixt sein.

MfG Oliver
 
Wir hatten schon, daß die Prozesse nicht starten konnten. Aber daß gleich die Box gar nicht mehr reagiert?

Antwortet die Box denn noch auf Pings in diesem Zustand?
 
Beit mir startete die Box früher auch nach einem dnsmasq restart. Das wurde aber mittlerweile gefixt. Ich glaube Ursache war ein falscher Parameter von multid
 
Passiert das mit dem aktuellen Trunk wirklich noch?
Ja, ich habe gerade aktuell ausgecheckt (freetz-devel 4717) und gebaut, das Problem ist immer noch da.

- WebIF (AVM und Freet) sind tot.
- SSH und Telnet: tot.
- Ping auf LAN1 (externes IP) von extern geht.
- Ping auf LAN2-4 (interne IP) von intern geht nicht.
- Telefonie geht noch, jedenfalls erhält man einen Wählton.
- WLAN Funksignal ist noch da, aber ohne IP-Verbindung.

Hoffe es hilft Euch, das Problem einzukreisen ...

Udo
 
Könntest du bitte mal auf Netzwerkverbindung mitbenutzen umstellen und schauen welche AVM Daemons laufen (vorher/nacher)? Ist das der Modus in dem der dsld nicht benötigt wird? Dann könnte der evtl. daran Schuld sein.

MfG Oliver
 
- Ping auf LAN1 (externes IP) von extern geht.
- Ping auf LAN2-4 (interne IP) von intern geht nicht.

Das ist ja eine ungewöhnliche Konstellation. Der Kernel reagiert noch auf Pings, aber nur von Außen. Anders herum wäre es noch halbwegs nachvollziehbar.

Kannst Du einen Neustart von der KOmmandozeile versuchen, mit leerem Environment?
Code:
env - /bin/sh -x /etc/init.d/rc.dnsmasq restart
 
Nach einem (Neu)Start laufen folgende Dienste (Verbindung selber aufbauen, Kabelmodem, kein DSL):

Code:
  PID USER       VSZ STAT COMMAND      1 root      1428 S    init
      2 root         0 SWN  [ksoftirqd/0]
      3 root         0 SW   [watchdog/0]
      4 root         0 SW<  [events/0]
      5 root         0 SW<  [khelper]
      6 root         0 SW<  [kthread]
     18 root         0 SW<  [kblockd/0]
     32 root         0 SW   [pdflush]
     33 root         0 SW   [pdflush]
     34 root         0 SW<  [kswapd0]
     35 root         0 SW<  [aio/0]
     72 root         0 SW   [pm_info]
     76 root         0 SW<  [CPMAC]
     80 root         0 SW   [mtdblockd]
    102 root         0 SW   [tffsd_mtd_0]
    104 root      1612 S    /bin/sh /etc/init.d/rc.S
    358 root         0 SW   [cleanup_timer_f]
    370 root         0 SW   [dectuart_route]
    378 root         0 SWN  [jffs2_gcd_mtd5]
    406 root         0 SW<  [loop0]
    457 root         0 SW<  [capi_oslib]
    458 root         0 SW<  [capi_oslib]
    459 root         0 SW   [capitransp]
    465 root         0 SW   [glob_codecs]
    468 root         0 SW<  [avm_dect_thread]
    469 root         0 SW   [ksock tcp worke]
    470 root         0 SW   [ksock tcp serve]
    485 root         0 SW<  [khubd]
    598 root         0 SW<  [scsi_eh_0]
    599 root         0 SW<  [usb-storage]
    653 root      9580 R N  ctlmgr
    659 root      4940 S    upnpd
    692 nobody    1232 S    dnsmasq --pid-file=/var/run/dnsmasq/dnsmasq.pid -p 53
    699 root      3644 S    multid -t
    897 root      9580 S N  ctlmgr
    899 root      9580 S N  ctlmgr
    903 root      9580 S N  ctlmgr
    984 root      3644 S    multid -t
   1265 root      4940 S    upnpd
   1266 root      4940 S    upnpd
   1267 root      4940 S    upnpd
   1283 root      4776 S    mediasrv
   1317 root      4776 S    mediasrv
   1318 root      4776 S    mediasrv
   1320 root      4776 S    mediasrv
   1448 root      3112 S    hostapd -B /var/tmp/wlan_ath0_topology
   1476 root      4032 S    dsld -i -n
   1483 root      3204 S    /bin/configd
   1486 root         0 RWN  [kdsld_token]
   1494 root      5852 S    telefon a127.0.0.1
   1507 root      5080 S <  voipd
   1512 root      3252 S    pbd
   1513 root      3252 S    pbd
   1517 root      3252 S    pbd
   1518 root      3252 S    pbd
   1520 root      1612 S    /usr/sbin/inetd
   1525 root      3252 S    pbd
   1536 root      1116 S    /bin/run_clock -c /dev/tffs -d
   1543 root      1612 S    /bin/sh /etc/init.d/rc.S
   1545 root      1612 S    tee /var/log/mod.log
   1547 root      5852 S    telefon a127.0.0.1
   1548 root      5852 S    telefon a127.0.0.1
   1549 root      5852 S    telefon a127.0.0.1
   1560 root      4268 S    dect_manager
   1612 root      1408 S    /sbin/chronyd -f /var/tmp/chrony.conf
   1630 root      1620 S    crond -b
   1635 root      1612 S    telnetd -l /sbin/ar7login
   1647 root      1420 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
   1685 root      1612 S    syslogd -L -O /var/media/ftp/SD1/var/log/syslog -b 99 -s 1000
   1711 root      2852 S    usermand
   1880 root      1768 S    /bin/ash /usr/sbin/callmonitor
   1885 root      1612 S    logger -t callmonitor -p daemon.info
   1905 root      1768 S    /bin/ash /usr/sbin/callmonitor
   1906 root      1768 S    /bin/ash /usr/sbin/callmonitor
   1907 root      1768 S    /bin/ash /usr/sbin/callmonitor
   1908 root      1612 S    busybox nc 127.0.0.1 1012
   1909 root      1768 S    /bin/ash /usr/sbin/callmonitor
   1925 nobody    1236 S    /usr/sbin/portmap
   1928 root         0 SW   [lockd]
   1929 root         0 SW<  [rpciod/0]
   1930 root         0 SW   [nfsd]
   1932 root      1392 S    /usr/sbin/mountd
   1967 root      1428 S    dropbear -p 22 -R
   2124 root      1508 S    dropbear -p 22 -R
   2137 root      1444 S    -sh
   2547 root      1636 S    /bin/sh /etc/init.d/rc.swap
   2550 root      1444 S    -sh
   2607 root      1428 R    ps
Bei Verbindung mitbenutzen sieht es so aus:
Code:
  PID USER       VSZ STAT COMMAND
    1 root      1428 S    init
    2 root         0 SWN  [ksoftirqd/0]
    3 root         0 SW   [watchdog/0]
    4 root         0 SW<  [events/0]
    5 root         0 SW<  [khelper]
    6 root         0 SW<  [kthread]
   18 root         0 SW<  [kblockd/0]
   32 root         0 SW   [pdflush]
   33 root         0 SW   [pdflush]
   34 root         0 SW<  [kswapd0]
   35 root         0 SW<  [aio/0]
   72 root         0 SW   [pm_info]
   76 root         0 SW<  [CPMAC]
   80 root         0 SW   [mtdblockd]
  102 root         0 SW   [tffsd_mtd_0]
  358 root         0 SW   [cleanup_timer_f]
  370 root         0 SW   [dectuart_route]
  378 root         0 SWN  [jffs2_gcd_mtd5]
  406 root         0 SW<  [loop0]
  457 root         0 SW<  [capi_oslib]
  458 root         0 SW<  [capi_oslib]
  459 root         0 SW   [capitransp]
  465 root         0 SW   [glob_codecs]
  468 root         0 SW<  [avm_dect_thread]
  469 root         0 SW   [ksock tcp worke]
  470 root         0 SW   [ksock tcp serve]
  485 root         0 SW<  [khubd]
  603 root         0 SW<  [scsi_eh_0]
  604 root         0 SW<  [usb-storage]
  653 root     10244 S N  ctlmgr
  658 root      4936 S    upnpd
  907 root     10244 S N  ctlmgr
  908 root     10244 S N  ctlmgr
  912 root     10244 S N  ctlmgr
 1264 root      4936 S    upnpd
 1265 root      4936 S    upnpd
 1266 root      4936 S    upnpd
 1288 root      4776 S    mediasrv
 1316 root      4776 S    mediasrv
 1317 root      4776 S    mediasrv
 1318 root      4776 S    mediasrv
 1449 root      3112 S    hostapd -B /var/tmp/wlan_ath0_topology
 1486 root      3204 S    /bin/configd
 1503 root      5948 S    telefon a127.0.0.1
 1512 root      3232 S    pbd
 1513 root      3232 S    pbd
 1518 root      3232 S    pbd
 1520 root      1612 S    /usr/sbin/inetd
 1525 root      3232 S    pbd
 1526 root      5948 S    telefon a127.0.0.1
 1527 root      5948 S    telefon a127.0.0.1
 1528 root      5948 S    telefon a127.0.0.1
 1535 root      1116 S    /bin/run_clock -c /dev/tffs -d
 1540 root      4268 S    dect_manager
 1541 root      5948 S    telefon a127.0.0.1
 1542 root      5948 S    telefon a127.0.0.1
 1543 root      5948 S    telefon a127.0.0.1
 1602 root      1620 S    crond -b
 1605 root      1612 S    telnetd -l /sbin/ar7login
 1627 root      1420 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
 1657 root      1428 S    /sbin/chronyd -f /var/tmp/chrony.conf
 1673 root      1612 S    syslogd -L -O /var/media/ftp/SD1/var/log/syslog -b 99 -s 1000
 1883 root      1768 S    /bin/ash /usr/sbin/callmonitor
 1884 root      1612 S    logger -t callmonitor -p daemon.info
 1907 root      1768 S    /bin/ash /usr/sbin/callmonitor
 1908 root      1768 S    /bin/ash /usr/sbin/callmonitor
 1909 root      1768 S    /bin/ash /usr/sbin/callmonitor
 1910 root      1612 S    busybox nc 127.0.0.1 1012
 1911 root      1768 S    /bin/ash /usr/sbin/callmonitor
 1928 nobody    1236 S    /usr/sbin/portmap
 1931 root         0 SW   [lockd]
 1932 root         0 SW<  [rpciod/0]
 1933 root         0 SW   [nfsd]
 1935 root      1392 S    /usr/sbin/mountd
 1970 root      1428 S    dropbear -p 22 -R
 2057 root      1484 S    dropbear -p 22 -R
 2059 root      1484 R    dropbear -p 22 -R
 2067 root      1444 S    -sh
 2073 root      1444 S    -sh
 2637 root      1428 S    init
 3028 nobody    1228 S    dnsmasq --pid-file=/var/run/dnsmasq/dnsmasq.pid -p 53
 3034 root      3648 S    multid -t
 3046 root      3648 S    multid -t
 3050 root      3892 S    dsld -i -n
 3098 root      5084 S <  voipd
 3100 root         0 Z N  [sh]
 3102 root      1200 R N  /cgi-bin/webcm
 3104 root      1428 R    ps
Und nun der Test (im Modus 'selber aufbauen'):

Code:
# env - /bin/sh -x /etc/init.d/rc.dnsmasq restart
  + DAEMON=dnsmasq
  + DAEMON_LONG_NAME=dnsmasq
  + DAEMON_USER=nobody
  + DAEMON_GROUP=nobody
  + PID_FILE=/var/run/dnsmasq/dnsmasq.pid
  + . /etc/init.d/modlibrc
  + export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin
  + export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib
  + [ -n dnsmasq ]
  + [ ! -r /mod/etc/conf/dnsmasq.cfg ]
  + modlib_loadconfig
  + local CONF_FILE=/mod/etc/conf/dnsmasq.cfg
  + [ -r /mod/etc/conf/dnsmasq.cfg ]
  + . /mod/etc/conf/dnsmasq.cfg
  + export DNSMASQ_BOGUSPRIV=yes
  + export DNSMASQ_DHCP=no
  + export DNSMASQ_DHCP_BOOT=no
  + export DNSMASQ_DHCP_BOOTFILE=
  + export DNSMASQ_DHCP_RANGE=192.168.178.201,192.168.178.220,12h
  + export DNSMASQ_DNS_PORT=53
  + export DNSMASQ_DOMAIN=fritz.box
  + export DNSMASQ_ENABLED=yes
  + export DNSMASQ_ETHERS=yes
  + export DNSMASQ_OPTIONS=
  + export DNSMASQ_TFTP=no
  + export DNSMASQ_TFTP_TFTPROOT=
  + pidof -s multid
  + PID_MULTID=984
  + [ ! -z 984 ]
  + xargs -0
  + MULTID=multid -t
  + multid -s
  + stop nomultid
  + echo -n Stopping dnsmasq...
  Stopping dnsmasq...+ [ nomultid != nomultid ]
  + cat /var/run/dnsmasq/dnsmasq.pid
  + kill 692
  + exitval=0
  + [ nomultid != nomultid ]
  + rm -f /mod/etc/dnsmasq.conf
  + [ -L /var/flash/multid.leases ]
  + [ 0 -eq 0 ]
  + echo done.
  done.
  + sleep 1
  + start nomultid
  + local lease
  + modlib_addgroup nobody
  + local group=nobody
  + shift
  + grep -q ^nobody: /etc/group
  + return 0
  + modlib_adduser nobody -s /bin/false -D -S -H -G nobody -g nobody
  + local user=nobody
  + shift
  + grep -q ^nobody: /etc/passwd
  + return 0
  + mkdir -p /var/run/dnsmasq
  + chown nobody:nobody /var/run/dnsmasq
  + [ -x /tmp/flash/dnsmasq_conf ]
  + /mod/etc/default.dnsmasq/dnsmasq_conf
  + [ -r /tmp/flash/dnsmasq/dnsmasq.extra ]
  + echo -n Starting dnsmasq...
  Starting dnsmasq...+ [ nomultid != nomultid ]
  + OPTIONS=--pid-file=/var/run/dnsmasq/dnsmasq.pid 
  + [ 53 ]
  + OPTIONS=--pid-file=/var/run/dnsmasq/dnsmasq.pid  -p "53"
  + eval dnsmasq --pid-file=/var/run/dnsmasq/dnsmasq.pid  -p "53"
  + dnsmasq --pid-file=/var/run/dnsmasq/dnsmasq.pid -p 53
  + exitval=0
  + [ nomultid != nomultid ]
  + [ ! -L /var/flash/multid.leases -a no = yes ]
  + [ -f /var/tmp/multid.leases ]
  + [ -f /var/tmp/dnsmasq.leases ]
  + [ 0 -eq 0 ]
  + echo done.
  done.
  + multid -t
  + exit 0
  /var/mod/root #
Und ab genau diesem Moment ist das Teil tot.
 
Hm, ich dachte wir hätten das Problem für alle Dienste behoben, aber dem ist wohl nicht so. Folgender Patch sollte abhilfe schaffen:
Code:
Index: make/openntpd/files/root/etc/default.openntpd/openntpd.save
===================================================================
--- make/openntpd/files/root/etc/default.openntpd/openntpd.save	(revision 0)
+++ make/openntpd/files/root/etc/default.openntpd/openntpd.save	(revision 0)
@@ -0,0 +1,4 @@
+pkg_pre_save {
+	# include environment required for multid restart
+	. /var/env.cache
+}
Index: make/dnsmasq/files/root/etc/default.dnsmasq/dnsmasq.save
===================================================================
--- make/dnsmasq/files/root/etc/default.dnsmasq/dnsmasq.save	(revision 0)
+++ make/dnsmasq/files/root/etc/default.dnsmasq/dnsmasq.save	(revision 0)
@@ -0,0 +1,4 @@
+pkg_pre_save {
+	# include environment required for multid restart
+	. /var/env.cache
+}
MfG Oliver
 
Wäre es nicht einfacher und sicherer, das Environment direkt in /etc/init.d/rc.dnsmasq einzulesen? Dann ist es auf jeden Fall da, unabhängig davon, woher das Skript aufgerufen wird.
 
@olistudent: Danke, aber IMHO hat der Patch einen Fehler: Es wird die Datei
/make/openntpd/files/root/etc/default.openntpd/openntpd.save in der Box angelegt. Das bringt aber nichts.

Ich habe dann die Zeile im Patch auf etc/default.openntpd/openntpd.save geändert. Ok, dann wurde /etc/default.openntpd/openntpd.save.

Die hat das Problem aber auch nicht behoben. Jetzt versuche ich gerade, den Vorschlag von RalfFriedl umzusetzen, und die Zeile . /var/env.cache im /etc/init.d/rc.dnsmasq unterzubringen.

Ein diff -u alte-datei neue-datei hat mir das erzeugt:

Code:
--- etc/init.d/rc.dnsmasq  2010-04-11 23:27:38.000000000 +0200
+++ etc/init.d/rc.dnsmasq      2010-04-14 21:11:21.000000000 +0200
@@ -7,6 +7,7 @@
 PID_FILE=/var/run/$DAEMON/$DAEMON.pid
 
 . /etc/init.d/modlibrc
+. /var/env.cache
 
 PID_MULTID=$(pidof -s multid)
 if [ ! -z "$PID_MULTID" ]; then
Das ist mein erster Versuch, sowas mit diff zu machen, hab nur kurz gegoogelt, war aber nicht sehr ergiebig (zu viele Treffer).
Make mag den Patch auch nicht ...
Code:
    applying patch file ./patches/991-dnsmasq.patch
    can't find file to patch at input line 3
    Perhaps you used the wrong -p or --strip option?
    The text leading up to this was:
    --------------------------
    |--- etc/init.d/rc.dnsmasq  2010-04-11 23:27:38.000000000 +0200
    |+++ etc/init.d/rc.dnsmasq      2010-04-14 21:11:21.000000000 +0200
    --------------------------
    File to patch: 
    Skip this patch? [y] 
    Skipping patch.
    1 out of 1 hunk ignored
    ----------------------------------------------------------------------
ERROR: modpatch: Error in patch-file ./patches/991-dnsmasq.patch
make: *** [firmware-nocompile] Fehler 2
Udo
 
Nö, der Patch ist fürs freetz, dort werden im make/...Unterordner die Dateien angelegt, die dann beim Bauen der FW (über den Umweg des packages-Ordners) ins Image geraten.

Auf der Box sollte es aber gehen, wenn du erstmal machst:
Code:
cat << 'EOF' > /mod/etc/default.openntpd/openntpd.save
pkg_pre_save {
	# include environment required for multid restart
	. /var/env.cache
}
EOF
cp /mod/etc/default.openntpd/openntpd.save /mod/etc/default.dnsmasq/dnsmasq.save

Jörg
 
Mein Patch war nicht für die Box, sondern fürs svn. Du brauchst dich nicht damit aufhalten Patches zu erstellen. Außer du willst es lernen. ;-)

Ich hab das auf meiner Box nachgestellt und kann dein Problem nachvollziehen.

MfG Oliver
 
@MaxMuster: Natürlich hab ich den Patch beim Bauen des Freetz angewendet, in das 'patches'-Verzeichnis gelegt. Es ist so abgelaufen, wie ich es beschrieben habe.

Ausserdem lösen die erzeugten .save-Dateien das Problem nicht.

Du brauchst dich nicht damit aufhalten Patches zu erstellen. Außer du willst es lernen. ;-)
Das will ich.

Aber erstmal würde ich gerne die Box ans Laufen bringen. So klappt jedenfalls noch nicht ...
 
O.k., zumindest das Patchen geht mit:
Das ganze als Datei in den Freetz-Ordner abspeichern ("meinpatch.txt")
dann dort "patch -p0 < meinpatch.txt"

Jörg


EDIT Aber wenn die Dateien selbst nix helfen, hilft dir das Patchen natürlich auch nicht...

EDIT2 Und das auf der Box, hilft das??
Code:
sed  '/modlibrc/ a. /var/env.cache' /etc/init.d/rc.openntpd > /var/tmp/rc.openntpd
sed  '/modlibrc/ a. /var/env.cache' /etc/init.d/rc.dnsmasq > /var/tmp/rc.dnsmasq
chmod +x  /var/tmp/rc.openntpd
chmod +x  /var/tmp/rc.dnsmasq
mount -o bind /var/tmp/rc.dnsmasq /etc/init.d/rc.dnsmasq
mount -o bind /var/tmp/rc.openntpd /etc/init.d/rc.openntpd
 
Zuletzt bearbeitet:
@Alle: Danke für Eure Hilfe.

Ich habe es jetzt so gelöst, dass ich die Zeile
. /var/env.cache
beim Bauen des Images direkt in die beiden Dateien im build/modified-Verzeichnis geschrieben habe, indem ich das script 'fwmod' vor dem dritten Schritt anhalte. Jetzt ist das Problem gelöst, ich kann die Dienste wieder über das WebIF neustarten.

@MaxMuster: Ich hab deinen Vorschlag nicht probiert, aber das würde sicher funktionieren. Ich habe das so ähnlich mit diesem Script
Code:
#cat 998-dnsmasq-cache.sh 
echo1 "patching dnsmasq"
modsed "s/\. \/etc\/init.d\/modlibrc/. \/etc\/init.d\/modlibrc\n. \/var\/env.cache/" "${FILESYSTEM_MOD_DIR}/etc/init.d/rc.dnsmasq"
beim Bauen lösen wollen, aber da sind die Dateien noch gar nicht da. Ich muss mich da im Freetz-Wiki nochmal schlau lesen.
 
Der Vollständigkeit halber:
"Einfacher" wäre, du packst das ". /var/env.cache" dann gleich in die (schon von Oliver "genannten" ;-)) Pfade für die Dateien.
Wenn du also im Freetz-Ordner die beiden Dateien

make/openntpd/files/root/etc/init.d/rc.openntpd
make/dnsmasq/files/root/etc/init.d/rc.dnsmasq

änderst, landen die immer so verändert im Image

Jörg
 
Ein diff -u alte-datei neue-datei hat mir das erzeugt:

Das ist das richtige Kommando, um einen Patch zu erstellen. Das einzige, worauf man evtl. noch achten muß, ist der vollständige Pfad zur Zieldatei.

In diesem Fall brauchst Du aber keinen Patch, zumindest nicht für Dich, sondern nur, um anderen mitzuteilen, was Du geändert hast.

Wenn Du also die Änderung aus dem Beitrag oben in der Datei make/dnsmasq/files/root/etc/init.d/rc.dnsmasq durchführst, danach "make dnsmasq-dirclean", und dann das Image erstellst, kommt genau das heraus, was Du möchtest, ohne große Verrenkungen.

Die Patches sind eher notwendig, wenn Dateien aus anderen Quellen (AVM oder Programm-Quellen) geändert werden sollen.
 
Es gibt eine unangenehme Nebenwirkung: Wenn OpenNTPd automatisch gestartet wird, funktioniert Fritz!Mini an der Box nicht mehr. Der minid wird offenbar dann nicht mehr automatisch gestartet. Ich kann ihn manuell starten,
Code:
minid -m /etc/minid/menu.conf -c /etc/minid/plugin.conf -s /var/rfcntlsock &
aber die Box scheint dann nicht sehr stabil zu laufen, machte später ein spontanes Reboot.

Wenn ich den Autostart von OpenNTPd abschalte, funktioniert der Mini problemlos.
 
Wenn ich den Autostart von OpenNTPd abschalte, funktioniert der Mini problemlos.
Wenn du den openntpd danach per Hand auf der Dienste Seite startest, dann geht das mit dem minid?

MfG Oliver

edit:
Code:
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(324): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(418): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(160): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(143): assert(start != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(521): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.info MiniD[3556]: brim(2829): showtime!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(831): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(836): assert(id0 != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: mxml-extra.c(197): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(838): assert(dup0 != NULL) failed!
Apr 17 20:14:00 freetz user.info MiniD[3556]: brim_stage3(2073): ghost client (handle 1, mac ffffff012345, version(hw 00000000, sw 00000000, oem 00000000, proto 00000000))
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(178): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(724): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(729): assert(id0 != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: mxml-extra.c(197): assert(head != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(731): assert(dup0 != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: configio.c(737): assert(mxmlElementGetAttr (id0, "name") != NULL) failed!
Apr 17 20:14:00 freetz user.err MiniD[3556]: [Segmentation fault]
Apr 17 20:14:00 freetz user.err MiniD[3556]: crashed at 2ac69924 (/lib/libc.so.0: strcmp + 0x4) accessing (nil)
Apr 17 20:14:00 freetz user.err MiniD[3556]: a0: 004618b4, a1: 00000000, a2: 00000000, a3: 00000000
Apr 17 20:14:00 freetz user.err MiniD[3556]: [bt] 0041f150 (minid: cfg_report + 0xa70)
Apr 17 20:14:00 freetz user.err MiniD[3556]: [bt] 41f724 (minid: cfg_new_mac2person + 0x94)
Apr 17 20:14:00 freetz user.err MiniD[3556]: [bt] 40fcb0 (minid: brim_stop + 0x800)
Apr 17 20:14:00 freetz user.err MiniD[3556]: [bt] 40ffc0 (minid: brim_make_ghost + 0x1d4)
Apr 17 20:14:00 freetz user.err MiniD[3556]: [bt] 412b28 (minid: brim + 0x920)
Apr 17 20:14:00 freetz user.err MiniD[3556]: [bt] 43a7cc (minid: main + 0xe2c)
Sieht nicht gut aus...
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.