BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Gurus: Reto a la vista!!

Bodescu

Bueno, os cuento una historia de aventuras:

He estado echandole un vistazo a Wifislax , una distro basada en Slax (a su vez basada en Slackware) y orientada a la monitorizacion y analisis de redes WIFI. Todo un juguete, vaya ;)

El caso es que la livecd esta muy bien, pero si la instalo en residente, como que ira mas fluida, y ademas no hay que configurar segun que cosas cada vez que arranco. Como que no hay mas sitio en el HD del portatil (con un sistema dual win/ lin por cuestiones de curro) pues se me ha ocurrido que podria tratar de instalar la distro en un pendrive de 4gb que tengo por aqui mas bien infrautilizado.

Dicho y hecho: Me pongo a investigar sobre el tema, y me encuentro un manual (que podria estar mas claro, pero en fin...) sobre como llevar a cabo semejante proeza.

Unos dos o tres (cientos) intentos despues, y tras varias comeduras de olla y blasfemias de marinero turco, tengo al fin el GRUB correctamente montado en el pdrive, y logro que comience el arranque del SO. Ha sido todo un logro, porque he montado una autentica pirueta para llegar hasta este punto, y eso que en el tute parecia relativamente sencillo...

Pero...

En plena carga del SO, tenemos que VFS: Cannot open root device "sdb1" or unknown block(0,0) lo que lleva inevitablemente a 'Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)"

Aqui es donde entrais vosotros... Ideas?

Gracias

Un saludo

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
asqwerty

¿Que quiere decir "en plena carga"? ¿llega a encontrar el kernel? ¿o no puede montarlo porque no encuentra el root fiilesystem?

Yo intentaria hacien un initrd.img con initramfs, que incluya TODOS los modulos necesarios para montar el usb. Si el caso es que ni siquiera llega hasta ahi puedes dejar la imagen en algun lugar que si monte bien. o puedes usar ramfs o algo asi.

A ver si esto te sirve:

feraga.com/library/howto_install_debian_…ols_dm_crypt

🗨️ 3
Bodescu

Gracias por la respuesta.

Si, inicia la carga del SO: Encuentra la particioin, el vmlinuz y el intrd.gz. Pero a mitad de carga... ÑAKA! Kernel panic...

No estoy muy seguro de por que sucede asi...

Un saludo

🗨️ 2
Pridebowl

Pues en principio saber si el error viene del grub o viene del kernel.

La ultima vez que me dió ese tipo de error fue cuando intenté separar el dir /usr del / y tras volverme loco creo recordar que lo pregunte en el foro y me dijieron que estaba haciendo el canela. :D

Asi que eso, primero descartar errores del grub que es muy puñetero, porque puede que te coja un hd(x,x) distinto del que linux entienda que existe.

Un saludo

🗨️ 1
Bodescu

No, nada de GRUB ni de particion erronea, descartadoMas que nada porque pase toooooooda la mañana pringadisimo, hasta que cai en la cuenta de que no era HD(1,0), sino (0,0) JUAS!!!!

El fallo esta en la carga del SO, al menos eso creo, pero no encuentro el por que...

Un saludo

vukits

hombre, yo creo que hay algo mal en el ramdisk initrd.gz, ya sea que le faltan módulos, o es que no carga los corectos...o algun script del ramdisk :-? ..
hmm... admito que un ramdisk ya contiene un linux completo.. hmm...

🗨️ 1
Bodescu

Nono... el initrd.gz esta preparado convenientemente con un mkinitrd, y los ficheros se han preparado como es debido:

"tenemos que crear nuestro propio y adaptado, y comolo podemos hacer des el PC que queramos, pues bien, ojo a estos archivos:

rootdev
rootfs
wait-for-root

rootdev, se le tiene que poner la particion que es detectada la USB, y lo mismo si fuera Seria ATA, o incluso si fuera en hdd, pero ya esta de sobras cubierto con el instalador normal. como mi pendrive en el portatil es sdb1 pues /dev/sdb1 dentro de rootdev.

Lo tengo formateado en ext3 el pendrive pues le digo a rootfs: ext3.

Y en wait-for-root por defecto indica 1, pues lo subimos por lo menos a 15, para que carge todo bien antes de montar el root.

Ahora ejcutamos de nuevo: mkinitrd

y nos genera nuestro propio initrd.gz

Y lo copiamos al usb dentro de boot.

En el menu.lst logicamente tenemos que decir que:

initrd /boot/initrd.gz"

Del tute que he seguido, mas o menos...

Un saludo

Bodescu

Bueno, he ido avanzando, y despues de recompilar unas pocas de veces, he pasado el punto critico: Logro montar el fs en /, al menos eso parece, pero ahora el stop (que no kernel panico) se produce aqui:

EXT3-fs: mounted filesystem whit ordered data mode
ERROR: No /sbin/init found on rootdev (or not mounted) Trouble ahead.

Y me da una shell con la que tratar de reparar el desaguisado...

un ls / revela las carpetas del sistema, y parecen estar intactas, junto con algunos ficheros propios del proceso de instalacion, entre ellos un script init.

Ya que no encuentras /sbin/init, y yo tengo un init en /... Y si te lo muevo?

Veamos... mv init /sbin
ok
y le pedimos que continue la carga...

Kernel panic- not syncing: Attempted to kill init!

JUR!

Alguna sugerencia?

Un saludo

Bodescu

Ok, problema solucionado.

Se trataba de un problema de sincronia de la info; el sistema me decia que todas las carpetas se habian guardado en el pdrive, pero no era cierto. Le hacias un ls, y las mostraba, pero lo cierto es que las tenia guardadas en buffer, y no alojadas en el pdrive.

Un par de umounts antes del reboot, y acabo por funcioinar todo como es debido ;)

Gracias por las aportaciones.

un saludo

🗨️ 4
vukits

la ley de murphy..¿verdad? .. juas, juas ...
cachis, soy un ignorante :-P

srg84

Hola Sería mucho pedir un tutorial que todo funcione? :-P .

🗨️ 1
Bodescu

Basicamente he seguido el tute como se indica en el hilo general.

Solo que he hecho alguna cosa (mas por casualidad que por conocimiento xDD) que no aparecia en el tute.

"paso 1 - instalacion
desmontamos
paso 2
montamos
paso 3
bajar los vmlinuz y initrd.gz adecuados"
modificar el menu.lst
desmontamos"

Y mi aportacion:

"Vale, conseguido!

El problema era de sincronia: La live me decia que si, que habia metido todo en el pendrive, pero me mentia: Lo tenia guardado en buffer. Jodio Slax xDD

Asi que prepare la llave con EXT3 desde un Debian, y luego, con la live arrancada, le di la llave, inicie el paso 1, y aun habiendo dicho que habia acabado, lo deje un rato mas. No sabria decir cuanto rato hay que dejarle hasta que vuelca el buffer, porque me fui de vermout con los colegas, y tarde un par de horitas JUAS!

Al regresar, desmonte el usb, umount /dev/sdb1, instale el GRUB, grub-install --root-directory=/dev/sdb1 /dev/sdb por consola y ejecute el paso 3 a sdb1 y sdb respectivamente.

Una vez hecho, desmonte y monte el pdrive de nuevo, y copie los archivos initrd.gz y vmlinuz corespondientes a /boot

Una vez mas, desmonto la llave y... Halt!!

Asi si, y he de decir que va como la seda desde el pdrive JUAS!!!

Gracias por el trabajo bien hecho.

Habria que investigar, quien corresponda, el por que de esa falta de sincro al terminar el paso 1. Quiza se podria forzar el vaciado del buffer una vez termina la aplicacion de trabajar, y ya que se hace asi, talvez tambien forzar el umount, para que no de problemas el paso 2.

Apuntes que dejo por si pueden ser utiles, a quien corresponda.
"

Asi que supongo que debio de ser el vermout xDDD

Un saludo

Pridebowl

Al final has domado a la bestia...

He dado de casualidad con un tuto sobre distros en USB:

(link roto)

Lo dejo por aqui por si dentro de 3 años alguien busca algo en google que tenga un post con algunas respuestas. ;)

Un saludo