Tôi muốn số 0 của mình khởi động nhanh (dưới 1 giây) bằng Linux. Trong trường hợp đó, chúng ta có thể giả vờ nó là bộ điều khiển nhúng và không phải là máy tính thổi toàn bộ tiêu chuẩn (nhưng chậm).
Bạn có bất cứ lời khuyên (bổ sung) nào để đạt được mục tiêu này không?
Những gì tôi đã thử:
- các tùy chọn khác nhau (như tham số kernel, hạt nhân tùy chỉnh trên các bản phân phối std - arch, raspbian, điều chỉnh các công cụ systemd, v.v.) - nói chung tất cả đều chậm
- Tôi đã tìm thấy một số tài nguyên về việc thay đổi chuỗi bộ tải khởi động, nhưng hiện tại tôi không thể điều chỉnh nó ở cấp độ này
- kết quả tốt nhất tôi có thể đạt được được cung cấp bởi buildroot
Sử dụng các quy tắc sau, tôi có thể khởi động trong vòng (khoảng) 4 giây, nhưng vẫn chậm:
- không sử dụng initrd
- không sử dụng các mô-đun (nhúng trình điều khiển cần thiết vào kernel)
- không sử dụng nhiều thiết bị (lvm)
- không sử dụng đột kích
- không sử dụng gỡ lỗi
- gỡ lỗi
- gỡ lỗi kernel (trong hack hack kernel)
- không sử dụng PCI / PCMCIA
- không sử dụng SATA / ATA
- không sử dụng logo bootup
- không sử dụng toàn bộ thư viện C như
glibc
- không sử dụng tối ưu hóa cho kích thước
- cấu hình
cmdline.txt
- không sử dụng bàn điều khiển nối tiếp:
- xóa
console=xxx
, trong đó xxx là cổng nối tiếp- chỉnh sửa
/etc/inittab
(sinh sản nhỏ)- thiết lập loại fs gốc:
rootfstype=ext4
config.txt
- không sử dụng độ trễ khởi động:
boot_delay=0
- không sử dụng cầu vồng:
disable_splash=1
- không quan tâm đến chế độ an toàn:
avoid_safe_mode=1
Tôi nghi ngờ bạn sẽ bắt Pi phải khởi động ở bất cứ đâu gần 1 giây.
—
Steve Robillard
Tôi nghĩ rằng tốt nhất bạn có thể nhận được là dưới 1 phút. Nếu bạn thực sự cần khởi động nhanh để ứng dụng của bạn khởi tạo một cái gì đó, bạn có thể thử kết nối bất kỳ cảm biến nào với vi điều khiển và cài đặt nó, nhưng sau đó Pi bắt đầu điều khiển vi điều khiển (nối tiếp?) Sau khi khởi động.
—
nặc danh