rootwait
y rootdelay
se utilizan en situaciones en las que el sistema de archivos no está disponible de inmediato, por ejemplo, si se detecta de forma asincrónica o se monta a través de usb. La root
cuestión es que debería ser obvio en función del bootarg si ese es el caso o no, entonces, ¿por qué el núcleo no puede darse cuenta automáticamente de que necesita esperar a que aparezca el sistema de archivos? ¿Existen algunas limitaciones técnicas que impiden la implementación de esta automatización?
23
/dev/sda1
es un dispositivo usb y tiene que esperar un tiempo o que/dev/sda1
está en un sistema scsi que tiene que escanear?Respuestas:
A veces, el sistema operativo no puede distinguir un periférico que responde lentamente de un periférico que no está allí o que no está completamente conectado. El ejemplo más obvio es un sistema de archivos raíz que proviene de la red (TFTP, NFS) donde un enlace de red lento o un servidor sobrecargado son difíciles de distinguir de un enlace de red cortado o un servidor bloqueado. Un tiempo de espera le dice al núcleo cuándo darse por vencido.
Esto también puede ocurrir con discos que tardan en girar, matrices RAID que deben verificarse, etc.
rootdelay
indica al kernel que no se rinda de inmediato si el dispositivo no está disponible. El kernel no puede saber si una unidad SCSI es un disco local o algún tipo de bahía RAID.rootwait
se proporciona para esperar indefinidamente. No siempre es deseable, por ejemplo, un sistema puede querer recurrir a un sistema de archivos raíz diferente si el normal tarda demasiado en responder.fuente