rootwait
и rootdelay
используются в ситуациях, когда файловая система недоступна сразу, например, если она обнаружена асинхронно или смонтирована через usb. Дело в том, что это должно быть очевидно на основе root
бутарга, если это так или нет, так почему же ядро не может автоматически понять, что ему нужно ждать появления файловой системы? Существуют ли какие-то технические ограничения, препятствующие внедрению этой автоматизации?
23
/dev/sda1
это USB-устройство, и вам нужно подождать какое-то время или это/dev/sda1
происходит в системе SCSI, которая должна сканировать?Ответы:
Иногда ОС не может отличить периферийное устройство, которое медленно реагирует, от периферийного устройства, которое отсутствует или полностью подключено. Наиболее очевидным примером является корневая файловая система, поступающая из сети (TFTP, NFS), где медленное сетевое соединение или перегруженный сервер трудно отличить от разорванного сетевого соединения или сбойного сервера. Тайм-аут сообщает ядру, когда следует сдаться.
Это также может произойти с дисками, которые медленно вращаются, массивами RAID, которые необходимо проверить, и так далее.
rootdelay
указывает ядру не сдаваться немедленно, если устройство недоступно. Ядро не может знать, является ли диск SCSI локальным диском или чем-то вроде отсека RAID.rootwait
предоставляется ждать бесконечно. Это не всегда желательно, например, система может захотеть использовать другую корневую файловую систему, если обычная система требует слишком много времени для ответа.источник