[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Disco USB externo



Hola a todos.

Esta semana me he comparado una caja USB externa para meter un disco
duro normal (Seagate 7200 80Gb). Todo funciona correctamente en linux
pero...

He puesto unas lineas en el fstab para que se monte al arranque:

/dev/sda1 /mirror ext3    noauto,defaults 0 2
/dev/sda2 /mnt/sda2    ext3   noauto,defaults 0 2
/dev/sda3 /mnt/sda3   ext3    noauto,defaults  0  2
/dev/sda4 /mp3 vfat noauto,utf8,rw,exec,users,dmask=000,fmask=111 0 0

Como veis están marcadas como noauto ya que durante el arranque cuando
se montan los dispositivos aún no están cargados los módulos usbcore ni
usb-storage por lo que no existe el disco (y udev no lo ha creado)...

Aún así da un error de sistema de archivos desconocido (no existe aún) y
me pide el pass de root o pulsar Ctrl D durante el principio del
arranque.
Se le puede pasar alguna opción al fstab para que no compruebe cosas que
no existen???

Después tengo un pequeño problema de IRQ's y el módulo ehci_hcd es
incompatible con los usb-storage, por lo que para que funcione primero
hay que descargar el módulo ehci_hcd. O funcionar con pci=noacpi.

Me he hecho un pequeño script en /etc/init.d/ que carga en el número S95
del runlevel 2 cercano al lanzamiento de las X:

S91apache2
S95montador   <=======
S99gdm
S99rmnologin
S99stop-bootlogd
S99xdm


#! /bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
d_start() {
        if [ "`cat /proc/modules  |grep -c ehci`" != "0" ]; then
                rmmod ehci_hcd
        fi
        mount /dev/sda1
        mount /dev/sda2
        mount /dev/sda3
        mount /dev/sda4
}

d_stop() {
        sync
        umount /dev/sda1
        umount /dev/sda2
        umount /dev/sda3
        umount /dev/sda4
}

d_reload() {
        d_start
        d_stop
}

case "$1" in
  start)
        echo -n "Montando"
        d_start
        echo "."
        ;;
  stop)
        echo -n "Desmontando"
        d_stop
        echo "."
        ;;
  restart|force-reload)
        echo -n "Remontando"
        d_stop
        sleep 1
        d_start
        echo "."
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

Con lo que quita el módulo si está cargado y monta las 4 particiones.

Este script funciona si lo ejecuto desde la sessión de las X como root:

/etc/init.d/montador start

Pero no funciona durante el arranque dando el siguiente error:

Special device /dev/sda1 does not exists


¿Alguna solución mejor para automontar las 4 particiones durante el
arranque? ¿y para que sólo las monte si está conectado?

En una de ellas tengo un mirror de los paquetes de debian para sarge y
sid (casi 10Gb), y la verdad es que es una auténtica gozada hacer apt's
sin necesidad de conectarse a internet...



PD.- Uso debian sarge y mi equipo es un portátil Acer Aspire 1355LM

Saludos





Reply to: