Tôi đang làm việc trong một dự án mà việc nâng cấp lên Raspberry PI sẽ qua HTTP và Raspberry PI sẽ không thể truy cập trực tiếp (không thể trao đổi thẻ).
Tôi muốn có một thiết lập phân vùng như vậy:
- Phân vùng 1- / boot (chứa hạt nhân cho cả hai phân vùng)
- Phân vùng 2- / (phân vùng phục hồi)
- Phân vùng 3- / (phân vùng chính)
Khi quá trình nâng cấp bị lỗi và Raspberry PI rơi vào vòng lặp khởi động lại hoặc bị treo khi khởi động, tôi muốn người dùng có thể nhấn nút, điều này kích hoạt một dòng GPIO, điều này sẽ khiến trình tải khởi động khởi động vào phân vùng phục hồi thay vì phân vùng chính.
Phân vùng phục hồi sẽ không bao giờ được nâng cấp, vì vậy điều này sẽ an toàn.
Tôi thấy một vài lựa chọn:
- Luôn khởi động vào phân vùng khôi phục, kiểm tra GPIO, sau đó khởi động vào phân vùng chính không nhấn nút
- GPIO được kiểm tra trực tiếp bởi bộ tải khởi động
Về cơ bản, tôi đang cố gắng làm một cái gì đó tương tự như các bộ định tuyến làm gì, nếu bạn giữ lại thiết lập trong khi nó khởi động, bạn có thể TFTP qua một hình ảnh mới hoặc một cái gì đó.
Điều này có thể với Raspberry PI không? Nếu vậy, có tài liệu nào để làm việc này không?
Biên tập:
Tôi tìm thấy câu trả lời cho câu hỏi liên quan này: Có thể khởi động kép từ thẻ SD không?
Một nhận xét về câu hỏi trên đã dẫn tôi đến đây: http://www.berryterminal.com/doku.php/berryboot . Điều này có vẻ đầy hứa hẹn, nhưng tôi sẽ phải nghiên cứu thêm để xem liệu tôi có thể nhận được GPIO từ nó hay không. Nếu bất cứ ai có bất kỳ kinh nghiệm với nó, tôi sẽ rất quan tâm.
/boot
(RO), /
(RO), /var
(RW), /home
(RW). Vấn đề ban đầu là hỏng hệ thống tập tin khi nguồn bị cắt trong khi khởi động. Tôi vẫn muốn viết / tìm một bộ tải khởi động giai đoạn 2.