Como depurar problemas Dracut
Prefacio
S está experimentando problemas con las inicialización del sistema debido a Dracut, vea el enlace del documento defectos comunes antes de rellenar un defecto. Se listan allí algunos retoques de configuración que corrigen un amplio rango de cuestiones. Si el problemas que está viendo no está listado allí o ninguna de las soluciones alternativas parecen ayudar considere rellenar un gazapo para ayudarnos a conseguir que Fedora corra mejor sobre su hardware.
Esté preparado para incluir alguna información (registros) sobre su sistema también. Esto debería estar completo (sin fragmentos por favor), no en un archivo, descomprimido, con el tipo MIME establecido como texto plano.
Identificar su área del problema
-
Quite
rhgbyquietdesde la línea de comando del kernel -
Añadir
rd.shella la línea de comando de kernel. Esto presentará una shell en caso de que dracut es incapaz de localizar su dispositivo raíz -
Añada
rd.shell rd.debug log_buf_len=1Ma la línea de comando de kernel de modo que los comandos de shell dracut se imprimen según se ejecutan -
Inspeccionar los registros del sistema:
# less /run/initramfs/rdsosreport.txt # journalctl -a # dmesg # less /run/initramfs/init.log
Información a incluir en su informe
Todos los informes de error
En todos los casos, se debería mencionar y adjuntar lo siguiente enb su informe de error:
-
El kernel exacto usado en la línea de comandos. Normalmente desde el archivo de configuración del cargador de arranque (p.ej.
/etc/grub.conf) o de/proc/cmdline -
Una copia de la información de su partición de disco de
/etc/fstab -
Un lista de dispositivos de device-mapper. Esto se puede obtener ejecutando el comando
dmsetup ls — tree -
Una lista de atributos de bloque de dispositivo incluyendo vol_id en modo compatible. Esto se puede obtener ejecutando los comando
blkidyblkid -o udev -
Active el depurador de dracut (consulte en la sección de 'debugging dracut'), y adjunte toda la información relevante desde la bitácora de arranque. Esto puede obtenerse ejecutando el comando
dmesg|grep dracut -
Si utilizar un archivo de configuración dracut, incluye
/etc/dracut.conf
Problemas relacionados con el Gestión de Volumen Lógico (LVM)
Así como la información desde la sección 'all bug reports', incluyendo la información siguiente:
-
Incluya información del volumen físico ejecutando la instrucción:
lvm pvdisplay -
Incluye información de grupo de volumen ejecutando la instrucción:
lvm vgdisplay -
Incluye información del volumen lógico ejecutando la instrucción:
lvm lvdisplay
Problemas relativos al software RAID
Así como la información desde la sección 'all bug reports', incluyendo la información siguiente:
-
Si utiliza software de particiones de disco RAID, incluya la salida de
/proc/mdstat
Problemas relacionados con dispositivo raíz de red
Esta sección detalla la información que debe incluirse al experimentar problemas en un sistema cuyo dispositivo raíz se encuentra en un volumen conectado a la red (p. ej., iSCSI, NFS o NBD). Además de la información de la sección 'todos los informes de errores', incluya la siguiente información:
-
Introduzca la salida de
Depurando dracut
Configurar una consola serie
Successfully debugging dracut will require some form of console logging during the system boot. This section documents configuring a serial console connection to record boot messages. To enable serial console output for both the kernel and the bootloader, follow the procedure below.
-
Abre el archivo
/etc/grub.confpara editar. Debajo de la línea timeout=5, añade lo siguiente:serial --unit=0 --speed=9600 terminal --timeout=5 serial console
-
Además en
/etc/grub.conf, añade los argumentos de arranque siguientes a la línea de kernel:console=tty0 console=ttyS0,9600
-
Cuando finalice,
/etc/grub.confparecería similar al ejemplo siguiente:
default=0 timeout=5 serial --unit=0 --speed=9600 terminal --timeout=5 serial console title Fedora (2.6.29.5-191.fc11.x86_64) root (hd0,0) kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/mapper/vg_uc1-lv_root console=tty0 console=ttyS0,9600 initrd /dracut-2.6.29.5-191.fc11.x86_64.img
Más información detallada en la configuración como el kernel para salida de consola puede encontrarse en 1.
Empleo del intérprete dracut
Dracur ofrece un intérprete para depuración interactiva en el evento dracut falla para localizar su sistema de archivo raíz. Para habilitar el intérprete:
-
Añada el parámetro de arranque
rd.shella su configuración del cargador de arranque archivo (p.e./etc/grub/conf) -
Retira los argumentos de arranque
rhgbyquiet
Una muestra /etc/grub.conf de la configuración del cargador de arranque está listado a continuación:
default=0
timeout=5
serial --unit=0 --speed=9600
terminal --timeout=5 serial console
title Fedora (2.6.29.5-191.fc11.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/mapper/vg_uc1-lv_root console=tty0 rd.shell
initrd /dracut-2.6.29.5-191.fc11.x86_64.img
Si el sistema de arranque falla, será arrojado al un intérprete como se ve en el ejemplo siguiente:
Ningún dispositivo raíz encontrado Se le ha dejado en el intérprete de depuración. sh: no puede acceder al tty; control de tarea apagado #
Utilice este indicador de intérprete para recopilar la información solicitada anteriormente (consulte la sección 'todos los informes de errores').
Accediendo al volumen raíz desde el intérprete dracut
Desde el intérprete de depuración de Dracut, puedes localizar y preparar manualmente su volumen raíz para el arranque. Los pasos necesarios dependerán de la configuración de su volumen raíz. Algunos escenarios comunes incluyen:
-
Un dispositivo de bloque (p.e.
/dev/sda7) -
Un volumen lógico LVM (p.e.
/dev/VolGroup00/LogVol00) -
Un dispositivo cifrado (p.e.
/dev/mapper/luks-4d5972ea-901c-4584-bd75-1da802417d83) -
Una red adjuntada a dispositvo (p.e.
netroot=iscsi:@192.168.0.4::3260::iqn.2009-02.org.fedoraproject:for.all)
The exact method for locating and preparing will vary. However, to continue with a successful boot, the objective is to locate your root volume and create a symlink /dev/root which points to the file system. For example, the following example demonstrates accessing and booting a root volume that is an encrypted LVM Logical volume.
-
Inspecciona sus particiones utilizando
parted:# parted /dev/sda -s p Modelo: ATA HTS541060G9AT00 (scsi) Disco /dev/sda: 60.0GB Tam. Sector (lógico/físico): 512B/512B Tabla de Partición: msdos Nº Inicio Final Tam Tipo S.Arch Indicadores 1 32'3kB 10'8GB 107MB primary ext4 boot 2 10'8GB 55'6GB 44'7GB logical lvm
-
Recuerda que tu volumen raíz era un volumen lógico LVM. Analizar y activar cualquier volumen lógico:
# lvm vgscan # lvm vgchange -ay
-
Verías todos los volúmenes lógicos ahora usando el comando
blkid:# blkid /dev/sda1: UUID="3de247f3-5de4-4a44-afc5-1fe179750cf7" TYPE="ext4" /dev/sda2: UUID="Ek4dQw-cOtq-5MJu-OGRF-xz5k-O2l8-wdDj0I" TYPE="LVM2_member" /dev/mapper/linux-root: UUID="def0269e-424b-4752-acf3-1077bf96ad2c" TYPE="crypto_LUKS" /dev/mapper/linux-home: UUID="c69127c1-f153-4ea2-b58e-4cbfa9257c5e" TYPE="ext3" /dev/mapper/linux-swap: UUID="47b4d329-975c-4c08-b218-f9c9bf3635f1" TYPE="swap"
-
Del resultado anterior, recuerda que su volumen raíz existe en un dispositivo de bloque cifrado. Desbloquee su volumen raíz cifrado.
UUID=$(cryptsetup luksUUID /dev/mapper/linux-root) cryptsetup luksOpen /dev/mapper/linux-root luks-$UUID Introduzca la contraseña para /dev/mapper/linux-root: Key slot 0 unlocked.
-
Siguiente, haga un enlace simbólico al volumen raíz desbloqueado
ln -s /dev/mapper/luks-$UUID /dev/root
-
Con el volumen raíz disponible, puede continuar arrancando el sistema saliendo del intérprete de dracut
exit
Sumario de opciones de línea de comando del kernel dracut
Una selección de las depuraciones más comunes relacionadas con las opciones de dracut:
rd.shell-
Suelta un intérprete, si el initramfs falla.
rd.debug-
Establece -x para el intérprete dracut.
rd.break=[cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup]-
Abandona el intérprete en punto de ruptura definido (utilice
egrep 'rd.?break' /usr/lib/dracut/modules.d/99base/init.shpara encontrar los puntos de ruptura admitidos por su versión de dracut) rd.udev.info-
Establezca udev para el loglevel info (esto es el nivel por defecto)
rd.udev.debug-
Establece udev para depuración de loglevel
Consulte la dracut.cmdline(7) página man para la referencia completa.
Want to help? Learn how to contribute to Fedora Docs ›