?>/script>'; } ?> Es posible reparar o restaurar initrd?? Widgets Magazine

Autor Tema: Es posible reparar o restaurar initrd??  (Leído 8667 veces)

0 Usuarios y 1 Visitante están viendo este tema.

saikomorisan

  • Visitante
Es posible reparar o restaurar initrd??
« en: 10-01-2019, 02:49 (Jueves) »
Buenas espero pueda alguien ayudarme con el siguiente problema:

El initrd se elimino por alguna razón en mi wifislax64 1.1 instalado, por ende me da el error de kernel panic no syncing no working init found.

Primeramente encontré este post https://linoxide.com/linux-how-to/fixing-broken-initrd-image-linux/ que al parecer no funciona con slackware.

Luego encontré el manual de slackware y encontré en script generad init

/usr/share/mkinitrd/mkinitrd_command_generator.sh (esta es para reconocer el kernel y darte el comando apropiado de mkinit)
y me genero este comando mkinitrd -c -k 4.9.40-wifislax64 -f  -r none -u -o /boot/initrd.gz lo ejecute pero al iniciar el boot me sale que el sda3(donde esta mi instalación de wifislax sin init) no se pude montar porque no esta definido en /etc/fstab luego lo puse pero sigue sin arrancar.

Espero alguien tenga alguna idea desde ya muchas gracias.

Conectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re:Es posible reparar o restaurar initrd??
« Respuesta #1 en: 10-01-2019, 02:56 (Jueves) »
wifislax no usa initrd en hdd.

tu problema sera otro , habras borrado algo en la carpeta boot.

saikomorisan

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #2 en: 10-01-2019, 03:11 (Jueves) »
lo ultimo que hice fue instalar libs de baka multimedia y luego ya no arranco, otra posibilidad es que se haya roto glibc crees que sea por eso?

saikomorisan

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #3 en: 10-01-2019, 17:04 (Jueves) »
Y como puedo reparar el boot?
Si reinstalo en la partición del wififslax ya instalado se borraran mis datos?
Se borraran mis configuraciones?
Dios existe?

Tengo varias preguntas.

Conectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re:Es posible reparar o restaurar initrd??
« Respuesta #4 en: 10-01-2019, 22:04 (Jueves) »
Y como puedo reparar el boot?
Si reinstalo en la partición del wififslax ya instalado se borraran mis datos?
Se borraran mis configuraciones?
Dios existe?

Tengo varias preguntas.

si formateas una particion se borrand los datos ?

no hay ayuda posible, si tu no sabes que has hecho para romper el sistema, imaginate lo que sabremos los demas.

saikomorisan

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #5 en: 10-01-2019, 23:41 (Jueves) »
Ya esta reparado ;D , si antes no usaba initrd ahora si XD recreando el init y funcionando.
Como recrear initrd
primeramente necesitan iniciar en modo live de las misma version instalada.
en Konsole
Código: [Seleccionar]
fdisk -lpara saber en donde esta instalada wifislax.(en mi caso sda3)
Es necesario montar el sistema del wifislax instalado en /mnt
Código: [Seleccionar]
mount /dev/sdaX /mnt "En sdaX se remplaza por la unidad en donde esta instalado wifislax en mi caso sda3"
ahora es necesario montar sys,proc,dev,lib y lib64
Código: [Seleccionar]
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /lib /mnt/lib
mount --bind /lib64 /mnt/lib64
luego necesitamos cambiar de raíz a /mnt
Código: [Seleccionar]
chroot /mntuna vez echo esto necesitamos generar en comando para mkinitrd
Código: [Seleccionar]
/usr/share/mkinitrd/mkinitrd_command_generator.shles devolverà algo asi
Código: [Seleccionar]
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 4.9.40-wifislax64 -f ext4 -r /dev/sda3 none -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:ext4 -u -o /boot/initrd.gz
Copian la linea final y lo ejecutan
Código: [Seleccionar]
mkinitrd -c -k 4.9.40-wifislax64 -f ext4 -r /dev/sda3 none -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:ext4 -u -o /boot/initrd.gz
y ya tendrán su inird en /boot/ ahora tienen que actualizar grub para que reconozca el inird.
Código: [Seleccionar]
grub2-mkconfig -o /boot/grub2/grub.cfgsi saben editar el grub.cfg solo añadan initrd /boot/initrd.gz
ahora salir de chroot y desmontar
Código: [Seleccionar]
exit
umount /dev
umount /proc
umount /sys
umount /lib
umount /lib64
umount /mnt

Y eso es todo dudo mucho que a alguien le pase pero en fin aquí esta y espero ayudar si alguien a tenido este problema.
Si al iniciar el init sale el error
Código: [Seleccionar]
switch_root can't execute '/sbin/init' no such file or directoryarranquen de nuevo en modo live y monten su instalación en /mnt
Código: [Seleccionar]
mount /dev/sdaX /mntsolo ese comando sin nada de lo anterior y luego ejecutan lo siguiente.
Código: [Seleccionar]
ldd /sbin/initles devolverà algo asi.
Código: [Seleccionar]
linux-vdso.so.1 (0x00007fff9e5fe000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd5c7250000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd5c7619000)
verifiquen que todos esos archivos estén en su instalación.
Si /lib64/ld-linux-x86-64.so.2 no está verifiquen si está ld-2.23 dentro de lib64 si lo tienen solo creen un enlace a ese archivo(todo esto con su partición de instalación montado en /mnt)
Código: [Seleccionar]
ln -s /mnt/lib64/ld-2.23.so /mnt/lib64/ld-linux-x86-64.so.2 y ya deberia arrancar si no está libc.so.6 es probable que se haya roto glibc reparacion=http://rlworkman.net/howtos/glibc-recovery


Conectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re:Es posible reparar o restaurar initrd??
« Respuesta #6 en: 11-01-2019, 00:26 (Viernes) »
nunca hemos usado initrd en el dsco duro , a saber qu has tocao.

por lo menos lo has arreglado.

saikomorisan

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #7 en: 11-01-2019, 00:36 (Viernes) »
si no se que habré echo en fin contento de que funciona, ya son 3 o 4 años que estoy con wifislax como OS principal y es la primera vez con un problema similar, ah e encontrado unas posible solución o la fuente del error para aquellos que en modo live desde usb se les queda en init: Id "X1" respawning too fast: disabled for 5 minutes

Garcad

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #8 en: 12-01-2019, 18:12 (Sábado) »
Podría ayudarte.

Entra en modo live

en el terminal, cd X

X= Donde esta montado wifislax que tienes como sistema operativo principal

Y en el terminal escribe lo siguiente

# find ./* -type f -exec md5sum {} >> MD5 \;

El archivo MD5 Lo subes a pastebin y comparte el enlace..

Con ese md5 podre saber que archivos te faltan o son diferentes a una instalación limpia


Otra opción es modificar el script para que no formatee, y así se consigue que se instale encima, pero lleva unos preparatorios antes.

Salu2
« Última modificación: 12-01-2019, 18:20 (Sábado) por Garcad »

saikomorisan

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #9 en: 13-01-2019, 01:13 (Domingo) »
Gracias por ofrecer la ayuda pero ya funciona bien 100 x 100 :D

Garcad

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #10 en: 13-01-2019, 11:30 (Domingo) »
Gracias por ofrecer la ayuda pero ya funciona bien 100 x 100 :D

¿Como lo has solucionado?

saikomorisan

  • Visitante
Re:Es posible reparar o restaurar initrd??
« Respuesta #11 en: 13-01-2019, 14:26 (Domingo) »
Con esto lo repare.

Ya esta reparado ;D , si antes no usaba initrd ahora si XD recreando el init y funcionando.
Como recrear initrd
primeramente necesitan iniciar en modo live de las misma version instalada.
en Konsole
Código: [Seleccionar]
fdisk -lpara saber en donde esta instalada wifislax.(en mi caso sda3)
Es necesario montar el sistema del wifislax instalado en /mnt
Código: [Seleccionar]
mount /dev/sdaX /mnt "En sdaX se remplaza por la unidad en donde esta instalado wifislax en mi caso sda3"
ahora es necesario montar sys,proc,dev,lib y lib64
Código: [Seleccionar]
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /lib /mnt/lib
mount --bind /lib64 /mnt/lib64
luego necesitamos cambiar de raíz a /mnt
Código: [Seleccionar]
chroot /mntuna vez echo esto necesitamos generar en comando para mkinitrd
Código: [Seleccionar]
/usr/share/mkinitrd/mkinitrd_command_generator.shles devolverà algo asi
Código: [Seleccionar]
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 4.9.40-wifislax64 -f ext4 -r /dev/sda3 none -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:ext4 -u -o /boot/initrd.gz
Copian la linea final y lo ejecutan
Código: [Seleccionar]
mkinitrd -c -k 4.9.40-wifislax64 -f ext4 -r /dev/sda3 none -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:ext4 -u -o /boot/initrd.gz
y ya tendrán su inird en /boot/ ahora tienen que actualizar grub para que reconozca el inird.
Código: [Seleccionar]
grub2-mkconfig -o /boot/grub2/grub.cfgsi saben editar el grub.cfg solo añadan initrd /boot/initrd.gz
ahora salir de chroot y desmontar
Código: [Seleccionar]
exit
umount /dev
umount /proc
umount /sys
umount /lib
umount /lib64
umount /mnt

Y eso es todo dudo mucho que a alguien le pase pero en fin aquí esta y espero ayudar si alguien a tenido este problema.
Si al iniciar el init sale el error
Código: [Seleccionar]
switch_root can't execute '/sbin/init' no such file or directoryarranquen de nuevo en modo live y monten su instalación en /mnt
Código: [Seleccionar]
mount /dev/sdaX /mntsolo ese comando sin nada de lo anterior y luego ejecutan lo siguiente.
Código: [Seleccionar]
ldd /sbin/initles devolverà algo asi.
Código: [Seleccionar]
linux-vdso.so.1 (0x00007fff9e5fe000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd5c7250000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd5c7619000)
verifiquen que todos esos archivos estén en su instalación.
Si /lib64/ld-linux-x86-64.so.2 no está verifiquen si está ld-2.23 dentro de lib64 si lo tienen solo creen un enlace a ese archivo(todo esto con su partición de instalación montado en /mnt)
Código: [Seleccionar]
ln -s /mnt/lib64/ld-2.23.so /mnt/lib64/ld-linux-x86-64.so.2 y ya deberia arrancar si no está libc.so.6 es probable que se haya roto glibc reparacion=http://rlworkman.net/howtos/glibc-recovery