Tóm tắt nhanh
- ESP32-S31 có CPU RISC-V hai lõi tối đa 320 MHz và MMU hỗ trợ Sv32, tạo nền tảng phần cứng để chạy Linux chuẩn.
- Linux BSP chính thức của Espressif chỉ hỗ trợ S31, đang ở Developer Preview và không được khuyến nghị cho sản phẩm thương mại.
- Cây tích hợp chính thức dùng Buildroot 2025.02 cùng nhánh Linux 6.18; tính năng trên các bản dựng cộng đồng không đại diện cho BSP của hãng.
- Với người làm IoT, đây là cơ hội thử Linux nhúng, chưa phải lý do chuyển một thiết bị đang vận hành ổn định sang hệ điều hành khác.
Espressif đã có Linux BSP dạng Developer Preview cho ESP32-S31, đưa Linux chuẩn lên chip RISC-V hai lõi tối đa 320 MHz nhưng đồng thời cảnh báo không dùng bản thử nghiệm này cho triển khai sản xuất. Phạm vi hỗ trợ chỉ là S31, không phải toàn bộ dòng ESP32.
Điểm đáng chú ý nằm ở khoảng cách giữa hai việc: một con chip có thể khởi động Linux và một nền tảng phần mềm đủ tin cậy để đưa vào thiết bị bán ra. S31 đã có phần cứng phù hợp cho việc đầu tiên, còn chính sách bảo trì BSP hiện tại khiến việc thứ hai vẫn cần chờ.
MMU giúp S31 chạy Linux chuẩn, không biến nó thành máy tính để bàn

MMU, bộ quản lý bộ nhớ, là khác biệt cần nhìn trước cả xung nhịp CPU. Theo datasheet tiền phát hành của Espressif, ESP32-S31 có cơ chế dịch địa chỉ Sv32 với bảng trang hai cấp; CPU hiệu năng cao gồm hai lõi RISC-V chạy tối đa 320 MHz. Cơ chế này cho phép Linux quản lý bộ nhớ ảo, thay vì buộc nhà phát triển đi theo hướng Linux không dùng MMU.

Vì vậy, không thể suy từ việc S31 chạy được Linux sang việc những bo ESP32 khác cũng làm tương tự. Tên họ chip giống nhau không thay thế được yêu cầu về kiến trúc bộ xử lý, bộ nhớ và phần mềm hỗ trợ từng phần cứng.
Bộ nhớ cũng đặt ra giới hạn rất cụ thể. Espressif liệt kê 512 KB SRAM cho hệ thống hiệu năng cao và 32 KB SRAM cho hệ thống công suất thấp; PSRAM phụ thuộc cấu hình chip. Đó là lý do nên nhìn S31 như một nền tảng Linux nhúng cần tối ưu tài nguyên, chứ không phải lựa chọn thay Raspberry Pi để chạy môi trường desktop.
BSP chính thức mới là bản thử nghiệm, chưa có cam kết ổn định

Khả năng khởi động chỉ là đầu việc đầu tiên của một BSP, tức bộ phần mềm hỗ trợ phần cứng. Để ứng dụng dùng được lâu dài, nhà phát triển còn phải tính tới driver, tương thích qua các lần cập nhật và cách xử lý lỗi sau khi thiết bị đã tới tay người dùng.
Espressif ghi rõ nhánh integration/v1.0-esp32s31 đang ở Developer Preview, không có lịch phát hành cố định và không đảm bảo tương thích API/ABI. Thay đổi làm hỏng tương thích có thể xuất hiện mà không báo trước, còn sửa lỗi được thực hiện theo khả năng của đội phát triển. Hãng khuyến nghị dùng để đánh giá phần cứng, làm nguyên mẫu và gửi phản hồi, không dùng cho sản phẩm thương mại hay hệ thống quan trọng.
Cây tích hợp chính thức dùng Buildroot 2025.02 với nhánh kernel integration/v6.18-esp32s31, đi cùng OpenSBI và U-Boot. Kho BSP chứa công cụ đóng gói ảnh flash, còn cấu hình xây dựng hệ thống nằm ở cây Buildroot bên ngoài. Đây không phải một bộ cài Linux desktop chỉ cần chép vào thẻ nhớ.
Quy trình được Espressif mô tả có thể đi qua các thành phần khởi động để tới shell quyền root. Với người muốn học quá trình khởi động Linux trên RISC-V, đó là mốc hữu ích; với người chuẩn bị làm sản phẩm, nó chưa trả lời được câu hỏi mọi ngoại vi cần dùng đã có driver hay chưa.
Bản dựng cộng đồng phải được tách khỏi mức hỗ trợ của hãng

Một bản Linux cộng đồng hoạt động trên bo mạch cụ thể không chứng minh BSP chính thức đã có cùng tính năng. Số phiên bản kernel mới hơn cũng không tự đảm bảo khả năng dùng ngoại vi tốt hơn, bởi phần hỗ trợ chip và bo mạch có thể nằm ở những nhánh mã khác nhau.

Bản thử nghiệm được trình diễn trên ESP32-S31 có thể vào shell và sử dụng một số chức năng như Wi-Fi hay thiết bị USB trong cấu hình cộng đồng. Những hình ảnh terminal này cho thấy Linux thực sự có thể chạy trên phần cứng S31, nhưng không nên được dùng để cam kết rằng cài BSP của Espressif là có ngay cùng trải nghiệm.

Cách đánh giá thực tế hơn là kiểm tra đúng bộ ba: bo mạch sẽ dùng, nhánh phần mềm sẽ cài và ngoại vi ứng dụng cần. Nếu khác một trong các yếu tố đó, người làm thiết bị vẫn cần thử lại thay vì dựa vào một màn khởi động thành công trên mạng.

Người làm IoT nên thử trên bo riêng, chưa vội đổi nền tảng đang dùng

Giá trị trước mắt của Linux trên S31 là mở thêm một hướng thử nghiệm phần mềm nhúng, không phải lời khuyên thay toàn bộ firmware ESP32 hiện tại. Nếu ứng dụng đã đáp ứng yêu cầu bằng ESP-IDF, chuyển sang BSP preview sẽ thêm công việc tích hợp và rủi ro bảo trì mà chưa chắc đem lại lợi ích tương xứng.

Ngược lại, người cần khảo sát Linux trên RISC-V có thể dùng một bo thử nghiệm riêng để đo dung lượng bộ nhớ còn lại, kiểm tra driver và đánh giá ứng dụng của mình. Nên hoàn thành các việc đó trước khi chọn phần cứng cho sản phẩm, nhất là khi lỗi cập nhật có thể kéo theo việc sửa firmware của cả lô thiết bị.
Trên cửa hàng quốc tế Waveshare, ESP32-S31-Zero có giá niêm yết 8,99–12,99 USD tùy phiên bản và đang được đánh dấu hết hàng. Với người ở Việt Nam đặt mua từ cửa hàng này, giá niêm yết không nên được coi là toàn bộ chi phí đưa bo về tay. Thời gian tích hợp phần mềm cũng cần được tính vào kế hoạch thử nghiệm, thay vì chỉ nhìn giá bo.
Với dự án thương mại, mốc đáng chờ hơn một video chạy được Linux là bộ ngoại vi được xác nhận trên đúng bo và chính sách bảo trì đủ rõ. BSP hiện tại chưa đưa ra cam kết ổn định đó.
Nguồn tham khảo: Espressif Linux BSP; Espressif Buildroot External Tree; Datasheet ESP32-S31; Platima Tinkers; CNX Software; Hackaday; Waveshare.






