Điểm của rootwait / rootdelay là gì?


23

rootwaitrootdelayđược sử dụng trong các tình huống khi hệ thống tập tin không có sẵn ngay lập tức, ví dụ nếu nó được phát hiện không đồng bộ hoặc được gắn qua usb. Vấn đề là, rõ ràng dựa trên rootbootarg nếu đó là trường hợp hay không, vậy tại sao kernel không thể tự động nhận ra rằng nó cần phải đợi hệ thống tập tin xuất hiện? Có một số hạn chế kỹ thuật ngăn chặn việc tự động hóa này được thực hiện?


1
Tôi nghĩ rằng kernel không đợi hệ thống tập tin xuất hiện. Vấn đề là nó không thể được gắn ngay khi nó xuất hiện, bởi vì trình điều khiển cần một chút thời gian để khởi tạo ngay cả sau khi đọc bảng phân vùng.
vikraman

1
Tại sao nó rõ ràng trên bootarg root? Làm thế nào để bạn biết đó /dev/sda1là một thiết bị usb và bạn phải chờ một lúc hoặc đó /dev/sda1là trên một hệ thống scsi phải quét?
Ulrich Dangel

1
Trên Raspberry Pi, nếu bạn không chờ đợi, bạn có thể không thể root được; điều này là do thiết bị có thể không đủ nhanh để khởi tạo thẻ chậm kịp thời.
Tamara Wijsman

Câu trả lời:


21

Đôi khi, HĐH không thể phân biệt được một thiết bị ngoại vi phản ứng chậm với thiết bị ngoại vi không có hoặc hoàn toàn không hoạt động. Ví dụ rõ ràng nhất là một hệ thống tập tin gốc đến từ mạng (TFTP, NFS) trong đó liên kết mạng chậm hoặc máy chủ bị quá tải rất khó phân biệt với liên kết mạng bị đứt hoặc máy chủ bị sập. Một thời gian chờ cho hạt nhân khi bỏ cuộc.

Điều này cũng có thể xảy ra với các đĩa quay chậm, mảng RAID cần được xác minh, v.v. rootdelayhướng dẫn kernel không từ bỏ ngay lập tức nếu thiết bị không khả dụng. Hạt nhân không thể biết liệu ổ đĩa SCSI là ổ đĩa cục bộ hay một loại khoang RAID.

rootwaitđược cung cấp để chờ đợi vô thời hạn. Không phải lúc nào cũng mong muốn, ví dụ một hệ thống có thể muốn quay lại hệ thống tập tin gốc khác nếu hệ thống bình thường mất quá nhiều thời gian để đáp ứng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.