samba startet nicht (ds-mod0.2.9-p8)

ChrisP

Neuer User
Mitglied seit
21 Mrz 2006
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
Hello again möchte ich fast sagen... ;-)

nachdem ich vor ein paar Tagen wundervolle Hilfe erhalten habe und nun schon soweit bin, dass der ds-mod v.0.2.9-p8 auf meiner Fon 5010 läuft und sogar erfolgreich die entfernte Freigabe mit smbmount einbindet.
Nun will aber der samba-Dienst nicht starten und die Fehlermeldung sagt mir nicht wirklich viel:
Code:
Looking for user 'samba' ... /mod/etc/init.d/rc.samba: /mod/etc/init.d/rc.samba: 121: adduser: not found
not created - error occurred
Starting samba nmbd.../mod/etc/init.d/rc.nmbd: /mod/etc/init.d/rc.nmbd: 58: nmbd: not found
failed.
Starting samba smbd.../mod/etc/init.d/rc.smbd: /mod/etc/init.d/rc.smbd: 56: smbd: not found
failed.
Bei diversen samba-Startproblemen ist hier im Board immer wieder ein "make precompiled" empfohlen worden aber weil ich erstens weiß, dass es lange dauert und zweitens nicht weiß, was es macht, frage ich euch, ob es Erfolgsaussichten gibt, wenn ich das Image mit ds-mod noch einmal neu mit "make precompiled" erstelle und auf die FB schicke?
Immerhin scheinen ja doch wenigstens die in Zeile 56 und 58 des samba-Startskripts aufgerufenen Binaries "nmbd" und "smbd" nicht auffindbar zu sein. Was mir allerdings die Fehlermedung mit dem user 'samba' sagen will ist mir schleierhaft. Klärt mich auf! ;-)
Danke dafür.
 
hmm anscheinend wurden einige Binarys auf deiner Box nicht gefunden.
Sind die denn da?
Code:
find / -print | grep mbd
find / -print | grep adduser
Wie sieht denn dein PATH aus?
Code:
echo $PATH
cat /etc/init.d/rc.S | grep PATH
 
Code:
/var/mod/root # find / -print | grep mbd
/etc/init.d/rc.nmbd
/etc/init.d/rc.smbd
find: unable to open `/proc/7/fd': No such file or directory
/var/mod/etc/init.d/rc.smbd
/var/mod/etc/init.d/rc.nmbd
/var/mod/root # find / -print | grep adduser
find: unable to open `/proc/7/fd': No such file or directory
/var/mod/root # echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin
/var/mod/root # cat /etc/init.d/rc.S | grep PATH
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH runlevel prevlevel
 export CONFIG_ENVIRONMENT_PATH=/proc/sys/dev/adam2
 export CONFIG_ENVIRONMENT_PATH=/proc/sys/urlader
echo firmware_info `/etc/version` >$CONFIG_ENVIRONMENT_PATH/environment
myADAM2ENV=`cat $CONFIG_ENVIRONMENT_PATH/environment`
/var/mod/root #
 
dann wirst du wohl nicht um ein precompiled herumkommen, da sie nicht auf der box geladet sind.
Du kannst höhstens nochmal in deinem ds-mod verzeichis schauen, ob du sie dort unter build/modified/filesystem oder source findest.
 
So, nun habe ich einige Male versucht, das "make precompiled" auszuführen.(Nur zur Sicherheiut, das wird zwischen "make menuconfig" und "make" ausgeführt? Vorher habe ich noch ein "make clean" veranstaltet.) Es gab immer einen Abbruch bei an der gleichen Stelle:
Code:
applying patch /home/cpx/Desktop/ds-0.2.9/source/crosstool-0.42/patches/gcc-3.3.2/sh-pic-set_fpscr-gcc-3.3.2.patch
patching file gcc/config/sh/lib1funcs.asm
Hunk #2 succeeded at 1982 with fuzz 1.
applying patch /home/cpx/Desktop/ds-0.2.9/source/crosstool-0.42/patches/gcc-3.3.2/thunk3.patch
patching file gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
+ exists=
+ echo http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2
+ sed s,.*/,,;
+ ARCHIVE_NAME=linux-2.4.26.tar.bz2
+ echo linux-2.4.26.tar.bz2
+ sed s,\.tar\.gz$,,;s,\.tar\.bz2$,,;s,\.tgz,,;
+ BASENAME=linux-2.4.26
+ test -z 
+ test -d /home/cpx/Desktop/ds-0.2.9/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/linux-2.4.26
+ test -f /home/cpx/Desktop/ds-0.2.9/dl/linux-2.4.26.tar.bz2
+ exists=/home/cpx/Desktop/ds-0.2.9/dl/linux-2.4.26.tar.bz2
+ break
+ test x/home/cpx/Desktop/ds-0.2.9/dl/linux-2.4.26.tar.bz2 = x
+ test -f /home/cpx/Desktop/ds-0.2.9/dl/linux-2.4.26.tar.bz2
+ test -n 
+ cd /home/cpx/Desktop/ds-0.2.9/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2
+ echo hmm maybe cd
hmm maybe cd
+ set +x

bzip2: Compressed file ends unexpectedly;
	perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
	Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
cannot unpack /home/cpx/Desktop/ds-0.2.9/dl/linux-2.4.26.tar.bz2
make: *** [source/crosstool-0.42/.unpacked2] Fehler 1
Und nu? ;-) Ich weiß nicht einmal genau, welche Datei denn nun kaputt ist.
Gibt es vielleicht noch andere Wege, das oben beschriebene Problem zu beheben?
 
Code:
cannot unpack /home/cpx/Desktop/ds-0.2.9/dl/linux-2.4.26.tar.bz2
Lösch mal die Datei und versuch es erneut.

MfG Oliver
 
Jo, das stimmt, er lädt die Datei neu und kommt durch.
Aber nun gibt's (für mich) auch schon die nächste Hürde:
Code:
+ test ! -f Makefile
+ libc_cv_ppc_machine=yes CC=gcc /home/cpx/Desktop/ds-0.2.9/source/crosstool-0.42/build/mipsel-unknown-linux-gnu/gcc-3.3.2-glibc-2.3.2/glibc-2.3.2/configure --prefix=/usr --build=i686-pc-linux-gnu --host=mipsel-unknown-linux-gnu --without-cvs --disable-sanity-checks --with-headers=/home/cpx/Desktop/ds-0.2.9/toolchain/build/gcc-3.3.2-glibc-2.3.2/mipsel-unknown-linux-gnu/mipsel-unknown-linux-gnu/include --enable-hacker-mode
checking build system type... i686-pc-linux-gnu
checking host system type... mipsel-unknown-linux-gnu
checking sysdep dirs... sysdeps/mips/elf sysdeps/unix/sysv/linux/mips sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/mips sysdeps/unix sysdeps/posix sysdeps/mips/mipsel sysdeps/mips/fpu sysdeps/mips sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for pwd... /bin/pwd
checking for mipsel-unknown-linux-gnu-gcc... gcc
checking version of gcc... 4.2.4, bad
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 3.81, ok
configure: error:
*** These critical programs are missing or too old: gcc
*** Check the INSTALL file for required versions.
make: *** [source/crosstool-0.42/.installed] Fehler 1
cpx@virtualcpx:~/Desktop/ds-0.2.9$
Also schnell ein "sudo apt-get update && sudo apt-get install gcc" aber da gabs nicht zu aktualisieren, das Problem besteht weiter. Kann ich ihn in irgendeiner make-config-Datei zwingen eine andere gcc-Version zu benutzen?
 
Ok, ich denke abgesehen davon, dass das "precompiled" bei mir nicht so recht durchstarten will, wird das wohl auch nicht des Rätsels Lösung sein.
Eben habe ich einfach das Image für meine 5010 noch einmal "gemaked" und siehe da, der Fehler beschränkt sich jetzt schon mal "nur noch" auf die beiden nicht gefundenen Daemons:
Code:
Looking for user 'samba'...ok.
Starting samba nmbd.../mod/etc/init.d/rc.nmbd: /mod/etc/init.d/rc.nmbd: 58: nmbd: not found
failed.
Starting samba smbd.../mod/etc/init.d/rc.smbd: /mod/etc/init.d/rc.smbd: 56: smbd: not found
failed
Wie ich eben beschrieben habe, scheinen diese auch gar nicht in den Packages zu sein.
Fragt sich jetzt noch, woher ich diese bekommen kann... ;)
 
Was ist denn unter packages/samba.../... auf dem PC zu finden? Normalerweise waren in ds-0.2.9 die Binaries noch in den Packages.

MfG Oliver

edit: Okay. Hab grad in das Package geschaut. Da ist wirklich kein Binary drin...
 
Na gut, ok, mir ist schlicht unklar, was "make precompiled" eben genau macht.
Vielleicht hast du ja doch noch eine Idee, wie ich das noch zum Laufen überrede?

Zum Samba-Package:
Ich habe von bodega (http://www.ip-phone-forum.de/showpost.php?p=779302&postcount=1) das "samba-mipsel.tar.gz" ausgepackt und dort die binaries (jedenfalls namentlich identisch) gefunden. Wenn ich diese allerdings in den ds-0.2.9/packages/<blabla>/sbin schiebe wird mein Image um ca. 230kb zu groß...
Fragt sich, ob es vielleicht doch noch irgendwo kleinere/abgespeckte Ableger dieser Binaries gibt.
 
Sooo... jetzt habe ich das samba-Package im dl-Ordner so modifiziert, dass beim Start des Service (rc.samba, rc.nmbd, rc.smbd) die Binaries aus der Freigabe nach "/tmp/samba-binaries" kopiert werden und dann der Start der Daemons versucht wird.
Wenn etwas schief läuft sowie beim Beenden des samba-Service wird "/tmp/samba-binaries" wieder gelöscht.
Das modifizierte package sowie die fehlenden Binaries habe hier für Interessierte mal zum Download hinterlegt.
Leider starten nmbd und smbd trotz allem nicht.
Code:
Looking for user 'samba'...ok.
directory "/tmp/samba-binaries" created
nmb daemon binary copied
smb daemon binary copied
Starting samba nmbd...failed.
Starting samba smbd...failed.
cleaning up directory "/tmp/samba-binaries"
Die Freigabe habe ich wie folgt konfiguriert: "/tmp/audio audio 0 1 myAudioShare", das Verzeichnis "/tmp/audio" ist vorhanden.
Hat jemand eine Idee, was zu tun ist?
 
Ruf das Script nochmal mit "sh -x" voran auf.
 
Also "sh -x /etc/init.d/rc.samba"? (klappt nicht, gleiche Fehlermeldung)
 
Und die Ausgabe hätte ich gerne davon.
 
Tschuldigung.
Code:
/var/tmp # sh -x /etc/init.d/rc.samba
+ 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
+ [ ! -r /mod/etc/conf/samba.cfg ]
+ . /mod/etc/conf/samba.cfg
+ export SAMBA_DEFAULT_SHARE=yes
+ export SAMBA_ENABLED=yes
+ export SAMBA_INTERFACES=192.168.178.51/255.255.255.0
+ export SAMBA_MASTER=yes
+ export SAMBA_NETBIOS_NAME=fb2
+ export SAMBA_OS_LEVEL=20
+ export SAMBA_SERVER_STRING=Fritzbox Fon 5010 Samba Server
+ export SAMBA_WORKGROUP=chpohl.home
+ [ -d /tmp/flash/samba ]
+ modreg cgi samba Samba
+ deffile=/mod/etc/default.samba/lmhosts.def
+ [ -r /tmp/flash/samba/lmhosts.def ]
+ modreg file lmhosts Lmhosts 1 /mod/etc/default.samba/lmhosts.def
+ deffile=/mod/etc/default.samba/shares.def
+ [ -r /tmp/flash/samba/shares.def ]
+ modreg file shares Freigaben 1 /mod/etc/default.samba/shares.def
+ [ -x /mod/etc/init.d/rc.nmbd ]
+ [ -x /mod/etc/init.d/rc.smbd ]
+ [ -d /mod/usr/share/samba ]
+ [ yes != yes ]
+ start
+ [ ! -d /var/run/samba ]
+ echo -n Looking for user 'samba'...
Looking for user 'samba'...+ cat /var/tmp/passwd
+ grep ^samba:
+ echo ok.
ok.
+ config
+ [ -x /tmp/flash/smb_conf ]
+ /mod/etc/default.samba/smb_conf
+ [ -r /tmp/flash/smb.extra ]
+ [ ! -e /var/tmp/samba ]
+ counter=0
+ [ ! -f /tmp/samba-binaries/nmbd ]
+ [ ! -f /tmp/samba-binaries/smbd ]
+ [ ! -d /tmp/fritzbox/samba -a 0 -lt 60 ]
+ mkdir -p /tmp/samba-binaries
+ echo directory "/tmp/samba-binaries" created
directory "/tmp/samba-binaries" created
+ [ -f /tmp/fritzbox/samba/nmbd ]
+ cp /tmp/fritzbox/samba/nmbd /tmp/samba-binaries/
+ echo nmb daemon binary copied
nmb daemon binary copied
+ [ -f /tmp/fritzbox/samba/smbd ]
+ cp /tmp/fritzbox/samba/smbd /tmp/samba-binaries/
+ echo smb daemon binary copied
smb daemon binary copied
+ [ -f /tmp/samba-binaries/nmbd -a -f /tmp/samba-binaries/smbd ]
+ deldir=true
+ /mod/etc/init.d/rc.nmbd start
Starting samba nmbd...failed.
+ /mod/etc/init.d/rc.smbd start
Starting samba smbd...failed.
+ [ true=true ]
+ rm -rf /tmp/samba-binaries
+ echo cleaning up directory "/tmp/samba-binaries"
cleaning up directory "/tmp/samba-binaries"
+ exit 0
/var/tmp #
 
Jetzt frage ich doch noch mal explizit nach:
Mir bringt die "-x"-Ausgabe keine neuen Erkenntnisse, sieht jemand mehr als ich?
Könnte es nicht sein, dass die von mir gefundenen Binaries doch nicht kooperieren? (Hat jemand eventuell (schon seit jahren) das samba-Paket auf seiner Fritzbox 5010 laufen und kann mir die beiden Binaries "nmbd" und "smbd" noch mal extra zusenden?)
Habe ich den Samba-Server korrekt konfiguriert (siehe oben) oder braucht es vielleicht noch weitere Einstellungen?
 
Es werden 2 weitere Scripte aufgerufen

/mod/etc/init.d/rc.nmbd start
/mod/etc/init.d/rc.smbd start

Was steht darin?
 
Es sind bis auf einen kleinen Zusatz die Originalskripte aus dem Paket, ich habe jeweils nur die Pfad-Variable um das ":/tmp/samba-binaries" erweitert.
rc.nmbd:
Code:
#!/bin/sh

export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin:/tmp/samba-binaries
export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib

DAEMON=nmbd

start() {
	touch /tmp/flash/samba/lmhosts

	echo -n 'Starting samba nmbd...'
	$DAEMON -D -o -H /tmp/flash/samba/lmhosts
	exitval=$?
	if [ "$exitval" -eq 0 ]; then
		echo 'done.'
	else
		echo 'failed.'
		exit $exitval
	fi
}

stop () {
	echo -n 'Stopping samba nmbd...'
	killall $DAEMON > /dev/null 2>&1
	exitval=$?

	if [ "$exitval" -eq 0 ]; then
		echo 'done.'
	else
		echo 'failed.'
		exit $exitval
	fi
}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		stop
		sleep 1
		start
		;;
	status)
		if [ -z "$(pidof "$DAEMON")" ]; then
			echo 'stopped'
		else
			echo 'running'
		fi
		;;
	*)
		echo "Usage: $0 {start|stop|restart|status}" 1>&2
		exit 1
		;;
esac

exit 0
rc.smbd:
Code:
#!/bin/sh

export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin:/tmp/samba-binaries
export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib

DAEMON=smbd

start() {
	echo -n 'Starting samba smbd...'
	$DAEMON -D -o
	exitval=$?
	if [ "$exitval" -eq 0 ]; then
		echo 'done.'
	else
		echo 'failed.'
		exit $exitval
	fi
}

stop () {
	echo -n 'Stopping samba smbd...'
	killall $DAEMON > /dev/null 2>&1
	exitval=$?

	if [ "$exitval" -eq 0 ]; then
		echo 'done.'
	else
		echo 'failed.'
		exit $exitval
	fi
}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		stop
		sleep 1
		start
		;;
	status)
		if [ -z "$(pidof "$DAEMON")" ]; then
			echo 'stopped'
		else
			echo 'running'
		fi
		;;
	*)
		echo "Usage: $0 {start|stop|restart|status}" 1>&2
		exit 1
		;;
esac

exit 0
 
Kannst du die auch mal einzeln mit "sh -x" aufrufen?
 
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.