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

Re: Disco USB externo



El dom, 08-05-2005 a las 18:59 +0200, Simón Pena escribió:
> El 8/05/05, mario<debian@estilorural.com> escribió:
> > 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
> > 
> > --
> > To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> > with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> > 
> > 
> Yo tengo la siguiente línea en el fstab (entre otras :P), y no me
> causa ningún problema.
> /dev/sda1  /media/usbdisk  vfat  rw,user,noauto,iocharset=iso8859-15  
>   0       0
> 
> Acabo de mirar el man de fstab, y _creo_ que ya se por qué te falla:
>  "El  sexto campo, (fs_passno), lo usa el programa fsck(8) para
> determinar el orden en el cual se van a chequear los
>        sistemas de ficheros cuando el sistema arranca. El sistema de
> ficheros raíz debería llevar fs_passno igual a 1,  y
>        otros  sistemas  de  ficheros  deberían  llevar fs_passno igual
> a 2.  Sistemas de ficheros en un mismo disco serán
>        chequeados secuencialmente, pero sistemas de ficheros en
> diferentes discos serán chequeados al mismo  tiempo  para
>        utilizar  el  paralelismo  disponible en el equipo. Si el sexto
> campo no está presente o tiene un valor de 0, fsck
>        asumirá que los sistemas de ficheros no necesitan ser chequeados."
> 
> Vamos, que donde tienes el 2, deberías poner un 0, si no quieres
> seguir teniendo ese problema, si no me equivoco.

Toda la razón del mundo, muchas gracias, no sabía que significaban los
dos últimos campos y ahora ya se en que consiste... estaba a punto de
editar el script de fsck....

lo he dejado asi:

/dev/extHD1 /mirror ext3 noauto,defaults        0 0
/dev/extHD2 /mnt/usb1 ext3 noauto,defaults 0 0
/dev/extHD3 /mnt/usb2 ext3 noauto,defaults 0 0
/dev/extHD4 /mp3 vfat noauto,utf8,rw,exec,users,dmask=000,fmask=111 0 0

He añadido una regla al udev para que mi pendrive no se confunda con el
disco duro:

/etc/udev/udev.rules
BUS="usb",  KERNEL="sd*", SYSFS{manufacturer}="Cypress Semiconductor",
NAME="%k", SYMLINK="extHD%n"

con esto se crean los enlaces /dev/extHD? para cada partición del disco

para obtener la info del manufacturer por ejemplo se usa:

udevinfo -p /sys/block/sda/ -a /dev/sda

que devuelve cosas como esta:

    SYSFS{manufacturer}="Cypress Semiconductor"
    SYSFS{maxchild}="0"
    SYSFS{product}="USB2.0 Storage Device"
    SYSFS{serial}="############"
    SYSFS{speed}="480"
    SYSFS{version}=" 2.00"

Para el tema del usb 2.0, en mi portatil es INCOMPATIBLE con athcool y
mira que me molesta ahora que llega el verano... athcool baja la
temperatura de los athlon mucho pero combinado con ehci_hcd (USB-2.0)
hace un pitido muy agudo asqueroso. De momento fuera athcool...La
diferencia es que el disco vaya a 700Kb/s o 25 Mb/s

He trucado el script para que si detecta el disco duro conectado
desactive athcool

(solo he cambiado el d_start()

d_start() {
  if [ "`ls /dev/ | grep -c extHD`" != "0"  ]; then
        
	#parar control de temp
        athcool off > /dev/null

        mount /dev/extHD1 && echo -n " 1 "
        mount /dev/extHD2 && echo -n " 2 "
        mount /dev/extHD3 && echo -n " 3 "
        mount /dev/extHD4 && echo -n " 4 "
  else
        echo -n " no se monta nada :( "
  fi

}
> 
> Y ahora viene la parte interesada de mi respuesta (lo siento, pero soy así :P)
> ¿como hiciste lo del mirror? ¿Deb-mirror? ¿rysnc? ¿a mano? Es que yo
> estaba muuy interesado en hacer lo mismo, y resulta que espacio tengo,
> y ancho de banda, a veces también (tendría que ser en la facultad, y
> con un disco portatil prestado, que se alimenta por USB, pero
> bueno....) El caso es que me gustaría mucho que me orientases en ese
> aspecto.

El mirror lo he hecho el pasado viernes en la universidad de un mirror
que tenemos allí, este es el comando:

#!/bin/bash
/usr/bin/debmirror -a i386 -s main,contrib,non-free --method=http -h
idefix.eup.uva.es -d testing,sarge ./debian --nosource --progress

este script lo tengo en la partición del hd-usb y lo llamo desde ese
directorio así que no importa el punto de montaje. Cambia lo de idefix
por el server que quieras (sunsite.rediris.es funciona por http y es muy
bueno desde universidades)

Desde casa se puede llevar un mirror de sarge sin mucho problema (en 2
días se ha descargado 111 Mb), pero de SID es insufrible. Me dice que se
quiere descargar 3246 Mb (y sólo en dos días)

para que funcionen las claves gpg tienes que copiar estas dos lineas en
~/.gnugp/gpg.conf (en la home del user/root que ejecute el debmirror):

keyserver-options auto-key-retrieve
keyserver keyring.debian.org

Saludos

> Un saludo.



Reply to: