rootwait
e rootdelay
são usados em situações em que o sistema de arquivos não está disponível imediatamente, por exemplo, se for detectado de forma assíncrona ou montado via usb. O problema é que deve ser óbvio com base no root
bootarg, se é esse o caso ou não, então por que o kernel não pode perceber automaticamente que ele precisa esperar o sistema de arquivos aparecer? Existem algumas restrições técnicas que impedem que essa automatização seja implementada?
23
/dev/sda1
é um dispositivo USB e espera um pouco ou/dev/sda1
está em um sistema SCSI que precisa digitalizar?Respostas:
Às vezes, o sistema operacional não consegue distinguir um periférico que demora a responder de um periférico que não está lá ou é completamente mangueira. O exemplo mais óbvio é um sistema de arquivos raiz proveniente da rede (TFTP, NFS) em que é difícil distinguir um link de rede lento ou um servidor sobrecarregado de um link de rede cortado ou um servidor com falha. Um tempo limite informa ao kernel quando desistir.
Isso também pode acontecer com discos que demoram a girar, matrizes RAID que precisam ser verificadas e assim por diante.
rootdelay
instrui o kernel a não desistir imediatamente se o dispositivo não estiver disponível. O kernel não pode saber se uma unidade SCSI é um disco local ou algum tipo de compartimento RAID.rootwait
é fornecido para aguardar indefinidamente. Nem sempre é desejável, por exemplo, um sistema pode querer voltar a um sistema de arquivos raiz diferente se o normal demorar muito para responder.fonte