Foros del Web » Administración de Sistemas » Unix / Linux »

Problema al montar USB Pendrive- Debian Etch

Estas en el tema de Problema al montar USB Pendrive- Debian Etch en el foro de Unix / Linux en Foros del Web. Antes de empezar, les cuento que recientemente me he pasado a Debian Etch. Tengo instalado el kernel 2.4.27-2-386. El método que usaba para montar mi ...
  #1 (permalink)  
Antiguo 28/08/2006, 12:36
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Problema al montar USB Pendrive- Debian Etch

Antes de empezar, les cuento que recientemente me he pasado a Debian Etch. Tengo instalado el kernel 2.4.27-2-386.

El método que usaba para montar mi pendrive (Kingston de 512 mb) con Debian Sarge era:

Código:
# mount -t vfat /dev/sda1 /mnt/pen
Éste funcionaba perfectamente, e incluso tenía configurado mi archivo /etc/fstab. No sé que sucede que ahora no lo quiere montar. He probado con sda(1 - 6), sdb(1 - 6), sdc(1 - 6), sdd(1 -6) Dice que no es un dispositivo de bloques válido.

Bueno, como manera de resolver mi problema, he leido (entre otras tantas cosas) esto:

Tengo instalado "udev" aunque éste no carga porque funciona con la versión de Kernel 2.6. También tengo instalado "hal", "usbmount".

No tengo hotplug instalado. No sé si deba instalar hotplug aunque apt diga que va a eliminar estos paquetes:

Cita:
gnome-desktop-environment gnome-volume-manager hal udev usbmount
He ejecutado el comando dmesg y me dice:

Cita:
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 21:43:16 Nov 30 2005
usb-uhci.c: High bandwidth mode enabled
PCI: Setting latency timer of device 00:1d.0 to 64
usb-uhci.c: USB UHCI at I/O 0xcc00, IRQ 16
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.1 to 64
usb-uhci.c: USB UHCI at I/O 0xd000, IRQ 19
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.2 to 64
usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 18
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.3 to 64
usb-uhci.c: USB UHCI at I/O 0xd800, IRQ 16
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 4
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
PCI: Setting latency timer of device 00:1d.7 to 64
ehci_hcd 00:1d.7: Intel Corp. 82801EB USB2
ehci_hcd 00:1d.7: irq 23, pci mem f8879c00
usb.c: new USB bus registered, assigned bus number 5
ehci_hcd 00:1d.7: enabled 64bit PCI DMA
PCI: cache line size of 128 is not supported by device 00:1d.7
ehci_hcd 00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
hub.c: USB hub found
hub.c: 8 ports detected
Al parecer lo está detectando

No creo que sea imposible montar el pendrive con el kernel que estoy usando o es necesario que compile el 2.6.

De verdad les agradezco por alguna sugerencia que me den. Ya se me agotaron las ideas.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado

Última edición por jorge25; 28/08/2006 a las 12:55
  #2 (permalink)  
Antiguo 28/08/2006, 13:57
lpt
 
Fecha de Ingreso: agosto-2006
Ubicación: en mi casa
Mensajes: 7
Antigüedad: 18 años, 2 meses
Puntos: 0
prueba a mirar esto

has probado a mirar la solucion de Defero.tk?
esta unos cuantos hilos mas abajo

a mi me ha funcionado perfecto con solo meter el pendrive tras reiniciar
  #3 (permalink)  
Antiguo 28/08/2006, 14:06
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Sí, ya intenté de esa manera pero nada. Gracias
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #4 (permalink)  
Antiguo 28/08/2006, 14:24
Avatar de srabadie  
Fecha de Ingreso: junio-2005
Mensajes: 1.391
Antigüedad: 19 años, 4 meses
Puntos: 2
Deberías instalar un núcleo mayor que 2.6.12 para aprobechar las facilidades que te ofrece udev. Tengo ese mismo pendrive (o eso creo, es el Data Traveler, ¿verdad?), y con una sencilla regla udev (que, por supuesto, te puedo pasar) cada vez que lo conecto se crea en /dev/kingston un enlace simbólico apuntando al fichero de dispositivo que corresponda con la primera partición del dispositivo (ya sea /dev/sda1, /dev/sdb1, etc, etc) que configuro después en fstab.

No obstante, también aparece la ventanita de KDE informando de un nuevo dispositivo conectado, con la posibilidad de acceder a su contenido sin pasar por la consola para nada... Muy cómodo, la verdad.


Saludos.
__________________
"La libertad no hace felices a los hombres; los hace sencillamente hombres" - Manuel Azaña.
  #5 (permalink)  
Antiguo 28/08/2006, 14:34
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Cita:
Iniciado por srabadie Ver Mensaje
Deberías instalar un núcleo mayor que 2.6.12 para aprobechar las facilidades que te ofrece udev.
Instalé el núcleo 2.6.16-2-686 (lo hice mediante synaptic). Pero se me presentó el mismo problema que tuve con la tarjeta de video.

¿Qué me recomiendas para instalar un nuevo kernel?

Cita:
Iniciado por srabadie Ver Mensaje
Tngo ese mismo pendrive (o eso creo, es el Data Traveler, ¿verdad?)
Sí, es el mismo.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado

Última edición por jorge25; 28/08/2006 a las 14:57
  #6 (permalink)  
Antiguo 28/08/2006, 15:33
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Bueno, como dije anteriormente, he instalado el Kernel 2.6.16-2-686 desde synaptic. Luego cuando el sistema está arrancando simplemente selecciono que inicie con el nuevo kernel, pero cuando va a iniciar la interfaz gráfica se presenta el mismo problema expuesto aquí. Con la diferencia que ahora sí puedo montar mi pendrive DataTraveler de 512 mb.

Al parecer el kernel 2.4.27-2-386 no tiene soporte (o no tiene configurado los módulos de soporte - pienso yo) para usb.

Tengo dos opciones: doy soporte USB al kernel viejo (creo que debe ser eso) o arreglo el problema con mi tarjeta de video nvidia con el kernel nuevo.

Creo que lo mejor es solucionar lo de la tarjeta nvidia.

Espero algún comentario con respecto a lo de instalar un kernel nuevo. Es mejor hacerlo desde synaptic o bajarselo y compilarlo desde las fuentes. Gracias.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #7 (permalink)  
Antiguo 28/08/2006, 16:45
Avatar de srabadie  
Fecha de Ingreso: junio-2005
Mensajes: 1.391
Antigüedad: 19 años, 4 meses
Puntos: 2
Lo que ocurre es que compilaste los módulos de nVidia para tu núcleo 2.4.27-2-386, ahora tienes que hacerlo para tu núcleo 2.6.16-2-686. Para ello, tienes que seguir los mismos pasos que seguiste la otra vez, con sólo uno más:

Arranca con el núcleo nuevo (2.6.16-2-686) y teclea como root:
Código:
# m-a prepare
# m-a a-i nvidia-kernel-legacy-source
# apt-get install nvidia-glx-legacy
En realidad el último paso no será necesario pues ya instalaste ese paquete la otra vez.

Ya te expliqué lo que hacían los dos últimos pasos, el primero lo que hace es poner tu sistema a punto para poder compilar módulos, lo que se traduce en:
  • Instalar el paquete build-essential.
  • Instalar las cabeceras de tu núcleo.
  • Crear un enlace simbólico en /usr/src/linux apuntando al directorio donde se encuentren las cabeceras de tu núcleo.

Las cosas de ésta lista NO las tienes que hacer tú, module-assistant las hace él solito cuando tú tecleas el "m-a prepare".


Saludos.


POST-EDICIÓN: ¡Ah! Por si te interesa la regla udev te la pongo, es por simple comodidad.
Como sabrás, no siempre que conectas el pendrive toma el mismo nombre de dispositivo (a veces es sda, a veces sdb...). Ésta regla hace que tome el nombre que tome, siempre se cree un enlace simbólico en /dev/kingston apuntando al dispositivo correcto, para así poder configurarlo en el fstab sin miedo a estar apuntando a otro dispositivo.

Se trata de crear un fichero de reglas, por ejemplo /etc/udev/rules.d/misreglas.rules (el fichero debe estar en esa ruta, y su nombre debe terminar en ".rules") con el siguiente contenido:
Código:
BUS=="usb", SYSFS{product}=="DataTraveler 2.0", KERNEL=="sd?1", NAME="%k", SYMLINK="kingston"
Y así lo puedes configurar en tu fstab tranquilamente como /dev/kingston.


Saludos.
__________________
"La libertad no hace felices a los hombres; los hace sencillamente hombres" - Manuel Azaña.

Última edición por srabadie; 28/08/2006 a las 16:54
  #8 (permalink)  
Antiguo 29/08/2006, 14:08
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Que mala suerte tengo! No me funciona!

Cita:
Iniciado por srabadie Ver Mensaje
Lo que ocurre es que compilaste los módulos de nVidia para tu núcleo 2.4.27-2-386, ahora tienes que hacerlo para tu núcleo 2.6.16-2-686. Para ello, tienes que seguir los mismos pasos que seguiste la otra vez, con sólo uno más:

Arranca con el núcleo nuevo (2.6.16-2-686) y teclea como root:
Código:
# m-a prepare
# m-a a-i nvidia-kernel-legacy-source
# apt-get install nvidia-glx-legacy
La instrucción "m-a prepare" funciona correctamente.
Pero cuando hago "m-a a-i nvidia-kernel-legacy-source" me genera el siguiente error:

Cita:
Build of the package nvidia-kernel-legacy-source failed!
How do you wish procced?
Luego Aparecen tres opciones:

Cita:
1.- VIEW (Muestra el archivo log del error)
2.- CONTINUE (Se sale y no hace más nada)
3.- STOP: Package nvidia-kernel-legacy-source was not built successfully, see /var/cache/modass/nvidia-kernel-legacy-source*buildlog for details!
Éste es el log:
Código:
/usr/bin/make  -f debian/rules clean
make[1]: se ingresa al directorio `/usr/src/modules/nvidia-kernel-legacy'
# select which makefile to use.
rm -f /usr/src/modules/nvidia-kernel-legacy/nv/Makefile || true
if [ 6 = 6  ]; then \
	     cd /usr/src/modules/nvidia-kernel-legacy/nv ; \
	     ln -s Makefile.kbuild Makefile ; \
	     cd .. ; \
	     if [ 0  = 1 ] ; then \
	        dpatch apply 04_minion ; \
	     fi ; \
	     if [ 0 = 1 ]; then \
	     	dpatch apply 01_sysfs ; \
		dpatch status 01_sysfs >patch-stamp ; \
		dpatch apply 02_pcialias ; \
               	dpatch status 02_pcialias >>patch-stamp ; \
	     fi ; \
	fi
if [  6 = 4  ]; then \
	     cd /usr/src/modules/nvidia-kernel-legacy/nv ; \
	     ln -s Makefile.nvidia Makefile ; \
	     cd .. ; \
	fi
if [ -e patch-stamp ]; then \
	   dpatch deapply-all ; \
	   rm -rf patch-stamp debian/patched ; \
	fi   
if [ -f /usr/src/modules/nvidia-kernel-legacy/debian/control.template ]; then \
		cp  /usr/src/modules/nvidia-kernel-legacy/debian/control.template /usr/src/modules/nvidia-kernel-legacy/debian/control; \
	fi
dh_testroot
rm -f build-stamp configure-stamp
/usr/bin/make clean SYSSRC=/lib/modules/2.6.16-2-686/build -C /usr/src/modules/nvidia-kernel-legacy/nv -f Makefile 
make[2]: se ingresa al directorio `/usr/src/modules/nvidia-kernel-legacy/nv'
rm -f -f nv.o nv-vm.o os-agp.o os-interface.o os-registry.o nv.o nv-vm.o os-agp.o os-interface.o os-registry.o nvidia.mod.o
rm -f -f build-in.o nv-linux.o *.d .*.{cmd,flags}
rm -f -f nvidia.{o,ko,mod.{o,c}} nv_compiler.h *~
rm -f -rf .tmp_versions
make[2]: se sale del directorio `/usr/src/modules/nvidia-kernel-legacy/nv'
rm -f /usr/src/modules/nvidia-kernel-legacy/nv/Makefile || true; 	
rm /usr/src/modules/nvidia-kernel-legacy/nv/gcc-check
rm /usr/src/modules/nvidia-kernel-legacy/nv/cc-sanity-check
dh_clean
rm /usr/src/modules/nvidia-kernel-legacy/debian/control
rm /usr/src/modules/nvidia-kernel-legacy/debian/dirs
rm /usr/src/modules/nvidia-kernel-legacy/debian/override
make[1]: se sale del directorio `/usr/src/modules/nvidia-kernel-legacy'
echo "ROOT_CMD = "
ROOT_CMD = 
/usr/bin/make  -f debian/rules binary_modules
make[1]: se ingresa al directorio `/usr/src/modules/nvidia-kernel-legacy'
# select which makefile to use.
rm -f /usr/src/modules/nvidia-kernel-legacy/nv/Makefile || true
if [ 6 = 6  ]; then \
	     cd /usr/src/modules/nvidia-kernel-legacy/nv ; \
	     ln -s Makefile.kbuild Makefile ; \
	     cd .. ; \
	     if [ 0  = 1 ] ; then \
	        dpatch apply 04_minion ; \
	     fi ; \
	     if [ 0 = 1 ]; then \
	     	dpatch apply 01_sysfs ; \
		dpatch status 01_sysfs >patch-stamp ; \
		dpatch apply 02_pcialias ; \
               	dpatch status 02_pcialias >>patch-stamp ; \
	     fi ; \
	fi
if [  6 = 4  ]; then \
	     cd /usr/src/modules/nvidia-kernel-legacy/nv ; \
	     ln -s Makefile.nvidia Makefile ; \
	     cd .. ; \
	fi
#nothing here anymore
touch configure-stamp
if [ -f /usr/src/modules/nvidia-kernel-legacy/debian/control.template ]; then \
		cp  /usr/src/modules/nvidia-kernel-legacy/debian/control.template /usr/src/modules/nvidia-kernel-legacy/debian/control; \
	fi
dh_testdir
dh_testroot
PATCHLEVEL = 6 
Kernel compiler version : 4.0.3
Detected compiler version : /bin/sh: gcc-4.0: command not found 
                                                           
You appear to be compiling the NVIDIA kernel module with   
a compiler different from the one that was used to compile 
the running kernel. This may be perfectly alright and you 
may be building this module for another kernel in which case
you may ignore this message.
 
The compiler that will be used to compile this module has been
determined from:
 1) the CC environment variable 
 2) that specified in 
    /lib/modules/2.6.16-2-686/build/include/linux/compile.h
 3) gcc 
Using compiler gcc-4.0 version /bin/sh: gcc-4.0: command not found 
touch /usr/src/modules/nvidia-kernel-legacy/nv/gcc-check
touch /usr/src/modules/nvidia-kernel-legacy/nv/cc-sanity-check
## Main Make ##
IGNORE_CC_MISMATCH=1 CC="gcc-4.0"  /usr/bin/make -C /usr/src/modules/nvidia-kernel-legacy/nv -f Makefile SYSSRC=/lib/modules/2.6.16-2-686/build   KBUILD_PARAMS="-C /lib/modules/2.6.16-2-686/build SUBDIRS=/usr/src/modules/nvidia-kernel-legacy/nv" module;
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
make[2]: se ingresa al directorio `/usr/src/modules/nvidia-kernel-legacy/nv'
./conftest.sh: line 9: gcc-4.0: command not found
./conftest.sh: line 9: gcc-4.0: command not found
Your kernel was configured to include rivafb support!

The rivafb driver conflicts with the NVIDIA driver, please
reconfigure your kernel and *disable* rivafb support, then
try installing the NVIDIA kernel module again.

*** Failed rivafb sanity check. Bailing out! ***

make[2]: *** [rivafb-sanity-check] Error 1
make[2]: se sale del directorio `/usr/src/modules/nvidia-kernel-legacy/nv'
make[1]: *** [build-stamp] Error 2
make[1]: se sale del directorio `/usr/src/modules/nvidia-kernel-legacy'
make: *** [kdist_image] Error 2
Bueno, de verdad gracias por tu paciencia y colaboración.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #9 (permalink)  
Antiguo 29/08/2006, 17:50
Avatar de srabadie  
Fecha de Ingreso: junio-2005
Mensajes: 1.391
Antigüedad: 19 años, 4 meses
Puntos: 2
Lo que pasa es que los módulos deben ser compilados con la misma versión de gcc con que se compiló el núcleo, y ésta es la 4.0, que (deduzco) no tienes instalada (observa las líneas "./conftest.sh: line 9: gcc-4.0: command not found").

Instala el paquete gcc-4.0 y repite el proceso.


Saludos.
__________________
"La libertad no hace felices a los hombres; los hace sencillamente hombres" - Manuel Azaña.
  #10 (permalink)  
Antiguo 30/08/2006, 10:34
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Me funcionó!!!

Cita:
Iniciado por srabadie Ver Mensaje
Instala el paquete gcc-4.0 y repite el proceso.
Muchas gracias de nuevo, me funcionó!

Una pequeña pregunta: ¿Qué diferencia hay entre bajar un kernel y compilarlo o instalarlo desde apt? Qué me recomiendas. Gracias.

Con respecto a lo del pendrive, ya lo monta utomáticamente aunque no he creado la regla udev que me indicaste.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #11 (permalink)  
Antiguo 30/08/2006, 10:54
Avatar de srabadie  
Fecha de Ingreso: junio-2005
Mensajes: 1.391
Antigüedad: 19 años, 4 meses
Puntos: 2
Cita:
Iniciado por jorge25 Ver Mensaje
Una pequeña pregunta: ¿Qué diferencia hay entre bajar un kernel y compilarlo o instalarlo desde apt? Qué me recomiendas. Gracias.
Al instalar un núcleo de los disponibles en los repositorios instalas un núcleo copilado con muchísimas opciones, date cuenta que está preparado para trabajar con muchísimo hardware pues la idea es que funcione en una gran cantidad de máquinas. Si compilas tu uno por tí mismo, tienes la opción de compilar sólo lo que a tí te interese para tu máquina. No sé, tú decides pero es sí, si decides compilar uno te recomiendo hacerlo "a la debian".


Cita:
Iniciado por jorge25 Ver Mensaje
Con respecto a lo del pendrive, ya lo monta utomáticamente aunque no he creado la regla udev que me indicaste.
Si, por supuesto. La regla udev sólo es por comodidad a la hora de montarlo mediante el sistema tradicional (con el comando mount), lo único que hace es permitirte dirigirte al dispositivo como /dev/kingston siempre, sean cuales sean las condiciones en las que lo has conectado.


Saludos.
__________________
"La libertad no hace felices a los hombres; los hace sencillamente hombres" - Manuel Azaña.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 08:50.