Automount von ext2/3/ntfs...

mastapete

Neuer User
Mitglied seit
1 Feb 2006
Beiträge
52
Punkte für Reaktionen
0
Punkte
0
Hi Leute,

als erstes mal ein riesen großes danke an danisahne für diesen absolut genial mod!

so nun zum eigentlichen thema: ich habe heute den aktuellen dsmod-0.2.9 auf meine fbf 7170 mit fw .04.15 geladen mit unterstützung für ext3 und ntfs.

nun habe ich festgestellt, dass datenträger, die nicht fat formatiert sind, nicht automatisch gemountet werden.

als ersten schritt, dieses "problem" zu beheben, habe ich nun in der /etc/hotplug/storage folgendes einfgefügt:
In Zeile 139:
Code:
insmod ext2
insmod ntfs
sowie in zeile 223:
Code:
rmmod ext3
rmmod ntfs

In der datei /etc/hotplug/run_mount wird dann die partition erst gemountet und das dateisystem auf der partition überprüft.
In zeile 97 habe ich bei dem mount befehl die angabe das dateisystems weggenommen, da dieses sowieso erkannt wird(-t vfat hab ich rausgenommen).

Ab Zeile 112 in der run_mount, werden die mountbaren partitionen ermittelt. dazu wird der befehl /sbin/blkid <device> verwendet.

wenn man einen fat formatierten usb stick ranhängt an die box und dann blkid <device> ausführt, bekommt man <device>:MBR auf dem stdin zurück.

wenn ich das selbe aber mit einer ext3 formatierten platte mache, bekomme ich aber nur auf stderr zurück, dass der dateisystem typ 83(ext eben) ist.

nachdem ich den befehl blkid vorher nicht gekannt hab, wollte ich das problem einfach umgehen, also habe ich in zeile 121 folgendes geänder:
Code:
TYPE=`/sbin/blkid $SDEV 2>&1`

und in zeile 141 habe ich folgendes hinzugefügt:
Code:
if [ -z `echo $TYPE | grep -v "type: 83"` ]; then
  ls $DEVPATH/part* > /dev/null 2>&1 && for PART in $DEVPATH/part*; do
    do_mount 0 $UDEV $PART $SDEV
  done
fi

die datei /etc/hotplug/storage und run_mount habe ich nun in ./ds-0.2.9/root/etc/hotplug gepackt und mittels make die firmware neu erstellt, auf die box geladen usw usf. hat auf jeden fall funktioniert.

das problem ist jetzt aber, dass ext3 partitionen trotzdem NICHT automatisch gemountet werden.

Nachdem ich jetzt aber mal Glaube, dass sich mit meiner beschreibung kaum einer auskennt, häng ich einfach mal die run_mount und storage an, vielleicht sieht ja jmd meinen fehler :) oder hab ich gernerl einen denkfehler in meinem konzept?

lg
pete

(ich habe ein .txt an die beiden dateien angehängt, damit ich sie hochladen kann, dass sollte man vorher entfernen, falls jmd das ganze ausprobieren will)
 

Anhänge

  • run_mount.txt
    3.3 KB · Aufrufe: 93
  • storage.txt
    5.3 KB · Aufrufe: 57
Hi.
Ich hab mich mangels passender Box nicht näher mit deinem Verfahren beschäftigt.
Aber mir ist aufgefallen, dass unser Kernel das Autofs nicht hat:
Code:
/var/tmp # cat /proc/filesystems
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   tmpfs
nodev   shm
nodev   pipefs
nodev   ramfs
nodev   devfs
        squashfs
nodev   capifs
/var/tmp #
Vielleicht solltest du mal probieren den Kernel mit der entsprechenden Option neu zu kompillieren.

MfG Oliver
 
Die Fritzbox verwendet ja auch für fat nicht den kernelautomounter. die module die die device nodes erzeugen, werden mit den hotplug scripten ge- und entladen. genauso wird der dateisystem typ im hotplug script festgestellt und die partiton nur gemountet, wenn sie fat is(blkid MBR)

lg
pete
 
Das ist mir jetzt ein bisschen zu hoch...
Als alter Windowsbenutzer komm ich da nicht mit ;-)

Laut diesem Thread ist es möglich eine NTFS-Platte an der FB zu mounten, so dass man mit Windows über Samba darauf zugreifen kann... (wenn ich das richtig verstanden habe)

Alle anderen Threads bestreiten aber, dass es möglich ist NTFS zu mounten, weil Linux das ja nicht erkennt...

Was jetzt?
Also wenn es möglich ist, wäre es nett, wenn mir jemand erklären könnte, was genau ich ändern muss...
 
Konvertiere dein NTFS lieber in FAT32. Zumindest schreiben auf NTFS geht unter Linux nicht wirklich (zuverlässig).
Gruß Niko
 
300 GB als Fat?
Naja...
 
also mit ext3 hab ich es am laufen!
Code:
if [ -z `echo $TYPE | grep -v "type: 83"` ]; then
  ls $DEVPATH/part* > /dev/null 2>&1 && for PART in $DEVPATH/part*; do
    do_mount 0 $UDEV $PART $SDEV
  done
fi
geändert in:
Code:
if [ -z `echo $TYPE | grep -v "type: 83"` ]; then
  ls $DEVPATH/part* > /dev/null 2>&1 && for PART in $DEVPATH/part*; do
    do_mount [color=red]1[/color] $UDEV $PART $SDEV
  done
fi
das ist alles.
denn sonst wird das blkid aufgerufen und das liefert bei ner ext3 immer false zurück... daher klappt das nicht!
gruß daniel

//EDIT:
Hab doch noch nen paar kleinigkeiten verändert. weiß nicht ob die sonst irgendwie wichtig sind. ich mounte z.b. 2x. einmal mit -t vfat und einmal mit -t ext3
kann man mit sicherheit besser lösen, reicht mir aber so, da es wunderbar klappt!
 
*grml*

Plötes Windows ;-)
 
ext3 nehmen, lesen und schreiben können auf 300GB platte
 
Habs jetzt mal mit ext2 probiert - geht auch nicht :-(
 
Sind die Patches im ds-0.2.9-opensrc-04.06.tar.bz2 shon drin?
 
Hallo.
Nein, sind sie nicht.

MfG Oliver
 
Probleme mit NTFS und .04.29

Hi,

die run_mount und die storage sieht bei der aktuellen FW ein bisschen anders aus.

Wie kann ich hier ntfs-Platten über USB mounten lassen?
 
Kann mir mal jemand erklären, wie das mit dem Automount genau läuft? Ich möchte gern meinen ext2-USB einbinden.
Als Linux-Anwenderin (aber nicht Programmiererin) hab ich nicht so viel Ahnung als dass ich auf Anhieb begreife, was das Script run_mount macht.

Die Suche hat mir diese beiden Threads ausgespuckt (wo es aber nur am Rande um das Thema geht):
http://www.ip-phone-forum.de/showthread.php?t=136210
http://www.ip-phone-forum.de/showthread.php?t=132176

P.S. Das Kompilieren des ds-mod habe ich jedenfalls hinbekommen. Aber da war ja auch nichts weiter zu machen als runterladen und make eingeben.
 

Anhänge

  • run_mount.txt
    4.2 KB · Aufrufe: 33
Ich hab nur mal kurz das von dir angehängte run_mount file angeschaut, und würde meinen, dass Zeile 95 ein heißer Tippt ist.

Code:
if mount [COLOR="Red"]-t vfat[/COLOR] -o $READMODE,uid=$FTPUID,gid=$FTPGID $DEVNODE $MNTPATH; then

Wobei ich jetzt nicht drauf geachtet habe, ob da vorher noch wo extra überprüft wird, welches Dateisystem die Partition hat oder nicht. Aber so wie ich die Typen von AVM kenne, haben die auch hier sicher sauber gearbeitet und es gibt noch eine extra Überprüfung.

Weil ich gerade wieder über das Thema nachgedacht habe, würde sich der ds-mod ja gerade dazu anbieten, den ntfs-3g fuse treiber einzupatchen. Weis jemand ob die Box "out of the box" fuse unterstützt? oder hat das schon mal jemand probiert?

lg
pete
 
Hallo

Hat den hier schon einer eine Lösung für die run_mount („v20060927 =OS=“) in der neusten Firmware für ext2 oder ext3

Mein Problem ist die Erkennung in bereich 148 bis 157 für mein USB Stick ext2 die ich so noch nicht verstehe aber auf jeden fall wird die nicht erfüllet.

Ist einer schon weiter drin in diesen Thema???

Code:
anfang weggelassen

# Find partitions to mount...
#
USBDEV=`echo $1|sed s/^0*//`
UDEV=$2
SDEV=$3
DEVID="USB`echo $UDEV | tr "/" "-"`"
DEVPATH=$SYSFS/block/$SDEV

echo $SDEV > /var/$DEVID-storage-$1		# Local memory

if test -d $DEVPATH; then
	while true; do
		# Caution: loop abuse ahead!
		if ! ls $DEVPATH/$SDEV* > /dev/null 2>&1 ; then
			# superfloppy mount:
			do_mount $UDEV /dev/$SDEV 0 && break
		fi
		if grep $SDEV /proc/partitions | grep "^[ ]*8[ ]*[1-9]" > /dev/null 2>&1; then
			# mounting partition(s):
			for PART in $DEVPATH/$SDEV*; do
				BLKDEV=/dev/${PART##$DEVPATH/}
				do_mount $UDEV $BLKDEV ${BLKDEV##/dev/sd[abcd]}
			done
		else
			echo "No partition(s) found!" > /dev/ttyS0
		fi
		break
	done
		
	if ! grep "^/dev/$SDEV" /proc/mounts > /dev/null 2>&1; then
		VIDPID=`lsusb -h $UDEV|sed -n 's/^.ID=\(.*\)$/\1/p'|tr '\n' ':'`
		eventadd 142 $USBDEV ${VIDPID%%:}
	fi
else
	echo "System device path for $SDEV disappeared!" > /dev/ttyS0
fi
 

Anhänge

  • run_mount.txt
    4.1 KB · Aufrufe: 9
Du musst das "-t vfat" beim mount entfernen. Und irgendwo vorher das ext2-Modul laden.

MfG Oliver
 
Ja genau das ext2 wird in /etc/hotplug/storage eingebaut das läuft auch sauber.
Aber leider die Erkennung nicht mehr in /etc/hotplug/run_mount

Das löschen von "-t vfat“ reicht noch nicht bis dorthin läuft das Programm nicht durch

Die haben ja das blkid raus genommen also läuft der Sprung zum mounten nicht mehr.

Code:
if [ -z `echo $TYPE | grep -v "type: 83"` ]; then
  ls $DEVPATH/part* > /dev/null 2>&1 && for PART in $DEVPATH/part*; do
    do_mount 1 $UDEV $PART $SDEV
  done
fi
 
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.