Linux không bền bỉ từ ổ cứng


0

Tôi đang phát triển một sản phẩm nhúng sẽ chạy linux trên phần cứng tương tự như raspberry pi nhưng có bộ nhớ trong. Tôi muốn nó để có thể cắt điện cho máy và có nguy cơ tham nhũng rất thấp. Tôi đã xem xét rằng một phiên bản trực tiếp của linux sẽ không ghi HDD để nó không bao giờ có thể là mid write.

Trong tất cả các trường hợp sử dụng tôi đã thấy, điều này thường được thực hiện trên ổ USB. Tôi muốn cài đặt nó vào bộ nhớ trong để nó có thể khởi động từ nó.

Ngoài ra, trong một thế giới hoàn hảo, thật dễ dàng để cập nhật hình ảnh trực tiếp, ví dụ, tạo một tệp và sau đó "cập nhật" hình ảnh trên đĩa để bao gồm tệp đó.

Có một phiên bản của linux hỗ trợ một cái gì đó như thế này? Ngoài ra, làm thế nào để cài đặt hoạt động để cài đặt không liên tục được cài đặt trên một ổ đĩa nội bộ và không phải là một ổ đĩa flash?


Một ramdisk hoặc hệ thống tập tin chỉ đọc khác là câu trả lời của bạn - nếu bạn cần cấu hình, sau đó lưu trữ nó trên một phân vùng đọc / ghi riêng biệt.
Attie

Có vẻ như dự án có một vài câu hỏi chưa được trả lời - ví dụ: bộ nhớ của bạn là gì? (flash thô / eMMC / đĩa cứng quay). Có nhiều bước khác nhau bạn sẽ cần thực hiện cho từng bước này để giúp độ tin cậy.
Attie

Câu trả lời:


2

Tôi đang phát triển một sản phẩm nhúng ...

Các thiết bị chạy Linux nhúng thường có kernel tùy chỉnh và hệ thống tập tin gốc tùy chỉnh. Thông thường, không đáng để cố gắng điều chỉnh phân phối Linux hiện có thành phần cứng tùy chỉnh và sử dụng hệ thống tệp máy tính để bàn đa năng cho một ứng dụng nhúng chuyên dụng.
Các công cụ để xây dựng hệ thống tập tin gốc và nhân Linux tùy chỉnh là Buildroot và Yocto.

Có một phiên bản của linux hỗ trợ một cái gì đó như thế này?

Một "phiên bản sống của Linux" chỉ đơn giản là một hạt nhân Linux khởi động với một đĩa RAM hoặc nhiều khả năng một ramfs cho hệ thống tập tin gốc. Tôi đã thấy (cũng như được xây dựng) rất nhiều hệ thống nhúng Linux sử dụng ramfs hoặc ramdisk cho rootfs của nó.
IOW những gì bạn đề xuất không phải là duy nhất hoặc mới; đó là một khái niệm được sử dụng tốt có nhiều biến thể thực hiện.

Phương tiện khởi động là tùy thuộc vào bạn và những gì phần cứng hỗ trợ.
IOW nếu bạn muốn khởi động Linux với initramfs từ ổ cứng, thì vấn đề duy nhất có thể là bạn học cách xây dựng nó.
Tùy thuộc vào phần cứng bạn sử dụng, không thể có mã mới để phát triển (ngoài ứng dụng của bạn) và việc xây dựng kernel và rootfs như vậy sẽ là vấn đề tải xuống, định cấu hình và xây dựng mã nguồn hiện có.

Cập nhật một hệ thống trong lĩnh vực này là một chủ đề phức tạp, và có nhiều giải pháp. Các hệ thống gói khác nhau được sử dụng bởi các bản phân phối thường quá nặng / phức tạp đối với các hệ thống nhúng, đặc biệt là các hệ thống dựa trên flash NAND.


2

Cuối cùng, bạn thực sự có thể khởi động một hệ thống 'sống' như thế này từ ổ cứng hoặc bộ lưu trữ liên tục khác khá dễ dàng. Chỉ cần viết ra hình ảnh bạn sẽ đặt vào ổ flash USB vào bất kỳ bộ lưu trữ nào và khởi động từ đó. Nhiều hệ thống kiosk làm điều này, cũng như nhiều khách hàng mỏng.

Bây giờ, điều đó nói rằng, đây có lẽ không phải là lựa chọn tốt nhất cho trường hợp sử dụng của bạn. Tôi rất muốn đề xuất xem xét cách Android và ChromeOS xử lý các hệ thống tệp gốc của họ. Cả hai đều được thiết kế để cực kỳ linh hoạt chống lại tham nhũng do mất điện đột xuất và cả hai cũng cung cấp bảo vệ giả mạo theo mặc định (IOW, bạn sẽ biết nếu ai đó sửa đổi dữ liệu trong khi thiết bị tắt). Các thiết lập tương tự có thể đạt được mà không gặp quá nhiều khó khăn với hệ thống tập tin gốc tùy chỉnh được tạo bởi Buildroot .

Để thay thế cho điều đó, bạn có thể xem xét việc xem xét Linux Linux . Nó được thiết kế để chạy từ phương tiện chỉ đọc, mặc dù tôi không chắc nó hỗ trợ tốt như thế nào ngoài các hệ thống x86 64 bit.

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.