dbox löscht gemountete Verzeichnisse nach reset

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
happyfred
Beiträge: 2
Registriert: Freitag 11. Juli 2003, 11:22

dbox löscht gemountete Verzeichnisse nach reset

Beitrag von happyfred »

Der MP3 Player und der Bildbetrachter funktionieren wunderbar (mit Allegro NFSd).

Allerdings werden bei jedem Reset oder nach dem 'Ausstecken' der Box die gemounteten Verzeichnisse gelöscht (die Defaults werden wieder hergestellt). Man muss also immer wieder danach seine Pfade im Menü anlegen und manuell mounten.

Gibt es die Möglichkeit die Default Werte zu ändern oder die Mountbefehle direkt in eine Config Datei zu schreiben.

Leider kenne ich bei Linux nur die Grundzüge. Es wäre nett wenn jemand, wenn möglich, die Prozedur genauer beschreiben könnte.

Danke

happyfred
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Re: dbox löscht gemountete Verzeichnisse nach reset

Beitrag von zexma »

happyfred hat geschrieben:Allerdings werden bei jedem Reset oder nach dem 'Ausstecken' der Box die gemounteten Verzeichnisse gelöscht (die Defaults werden wieder hergestellt). Man muss also immer wieder danach seine Pfade im Menü anlegen und manuell mounten.
mhh, vermutl. liegen Deine mount-points im RAM :wink:
am einfachsten mountest Du Deine directories nach /mnt. Hier gibts auch schon einige sub-dirs;
/bilder
/mp3
/custom
/filme
Wenn Du hier Deine directories/files einhängst, überleben die auch 'nen reboot.
Alternativ kannste die natürlich auch beliebig ins /var/xyz hängen; nur eben nicht nach /tmp :P
happyfred
Beiträge: 2
Registriert: Freitag 11. Juli 2003, 11:22

Beitrag von happyfred »

Danke für den Tipp, ich glaub' das hat funktioniert!
Massa
Einsteiger
Einsteiger
Beiträge: 359
Registriert: Donnerstag 18. Juli 2002, 17:40

Beitrag von Massa »

Ich mounte mein MP3-Verzeichnis automatisch beim booten nach /var/mp3
Das mounten habe ich /var/tuxbox/start_main eingehängt, wobei ich zuerst teste, ob der NFS-Server da ist.

So sieht meine start_main aus:

Code: Alles auswählen

#!/bin/sh

/sbin/ifconfig eth0 192.168.0.4 netmask 255.255.255.0 up

if [ -x /var/tuxbox/mount_nfs ]
then
  /var/tuxbox/mount_nfs
fi

if [ ! -d /var/mp3 ]
then
  mkdir -p /var/mp3
fi

exit 0
Und die darin verwendete Datei /var/tuxbox/mount_nfs sieht so aus:

Code: Alles auswählen

#!/bin/sh

NFS_HOST=192.168.0.1
NFS_DIR_SRV=/MP3
NFS_DIR_LOCAL=/var/mp3
NFS_OPTS="ro"

flag_verbose=0
if [ "$1" != "" ]
then
  if [ "$1" = "-d" ] ||
     [ "$1" = "-v" ]
  then
    flag_verbose=1
  fi
fi 
  

rc=0

# first check, if the host is there...
ping -c 1 ${NFS_HOST} >/dev/null 2>&1
rc=$?
if [ ${rc} -eq 0 ]
then
  if [ ${flag_verbose} -eq 1 ]
  then
    echo "NFS_HOST \"${NFS_HOST}\" is alive"
  fi 
  # then check, if the local directory exists:
  if [ ! -d ${NFS_DIR_LOCAL} ]
  then
    mkdir -p ${NFS_DIR_LOCAL}
    rc=$?
    if [ ${rc} -eq 0 ]
    then
      if [ ${flag_verbose} -eq 1 ]
      then
        echo "Creation of local directory \"${NFS_DIR_LOCAL}\" successful."
      fi 
    else 
      echo "$0: Creation of local directory \"${NFS_DIR_LOCAL}\" failed with ${rc}!"
    fi
  fi 
  
  # if the local directory is already mounted, unmount it first:
  if [ ${rc} -eq 0 ]
  then
    MOUNT_CHECK="`cat /proc/mounts | grep \"${NFS_DIR_LOCAL}\"`"
    if [ "${MOUNT_CHECK}" != "" ]
    then
      if [ "`echo ${MOUNT_CHECK} | grep \"nfs \"`" != "" ]
      then
        if [ ${flag_verbose} -eq 1 ]
        then
          echo "Directory \"${NFS_DIR_LOCAL}\" already mounted, I unmount it first..."
        fi
        umount -f ${NFS_DIR_LOCAL}
        if [ ${rc} -ne 0 ]
        then
          echo "$0: Unmount of \"${NFS_DIR_LOCAL}\" failed with ${rc}"
        fi
      else
        echo "$0: Existing Mountpoint \"${NFS_DIR_LOCAL}\" is not NFS, unable to continue!"
        rc=1
      fi
    fi
  fi
  
  # at last mount the beast:
  if [ ${rc} -eq 0 ]
  then
    NFS_MYOPTS="-o nolock"
    if [ "${NFS_OPTS}" != "" ]
    then
      NFS_MYOPTS="-o ${NFS_OPTS},nolock"
    fi
    
    if [ ${flag_verbose} -eq 1 ]
    then
      echo "Now mounting \"${NFS_HOST}:${NFS_DIR_SRV}\" to \"${NFS_DIR_LOCAL}\" (${NFS_MYOPTS})"
    fi 
    mount -t nfs ${NFS_MYOPTS} ${NFS_HOST}:${NFS_DIR_SRV} ${NFS_DIR_LOCAL}
    rc=$?
    if [ ${rc} -eq 0 ]
    then
      if [ ${flag_verbose} -eq 1 ]
      then
        echo "mounting \"${NFS_HOST}:${NFS_DIR_SRV}\" to \"${NFS_DIR_LOCAL}\" successful."
      fi
    else
      echo "$0: mounting \"${NFS_HOST}:${NFS_DIR_SRV}\" to \"${NFS_DIR_LOCAL}\" failed with ${rc}"
    fi
  fi
else
  echo "$0: NFS_HOST \"${NFS_HOST}\" not alive; no nfs-mount possible!"
fi

if [ ${flag_verbose} -eq 1 ]
then
  echo "$0: exiting with ${rc}"
fi
exit ${rc}
NFS-Server-Rechner, Verzeichnis auf dem NFS-Server und lokales Verzeichnis (mount-point) sind in den ersten drei Zeilen eingetragen.
Ebenso evtl. Flags für's mounten (bei mir werden die nur readonly gemountet, deswegen die Option ro)

mount_nfs muss ebenfalls als Unix-Textdatei unter /var/tuxbox abgelegt sein und natürlich auch ausführbar sein (chmod +rx /var/tuxbox/mount_nfs)
Bei start_main muss für die Anpassung natürlich auch zuerst aus dem symbolischen Link eine Datei gemacht werden:

Code: Alles auswählen

cp start_main start_main.neu
rm start_main
mv start_main.neu start_main
chmod +rx start_main
An die Aufrufzeile "/var/tuxbox/mount_nfs" in start_main kann man evtl. auch noch ein " &" anhängen, dann sollte das mounten im Hintergrund erledigt werden und die Kiste hat dann keine Bootverzögerung

Vielleicht hilft das ganze ein bischen :)
Oss
Neugieriger
Neugieriger
Beiträge: 18
Registriert: Mittwoch 28. Januar 2004, 23:21

Beitrag von Oss »

Hallo Massa

Dieses Post hier ist zwar verdammt alt, hat mir aber mit seinen Scripten sehr gut weitergeholfen unter Enigma! (oh wir sind ja hier unter Neutrino! ;) )


Danke dafür!


Oss