1 điểm bởi GN⁺ 2023-08-28 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bài viết về việc chạy Linux thành công trên Commodore C64, mẫu máy tính gia đình kinh điển của thập niên 1980
  • Hệ điều hành Linux chạy rất chậm trên Commodore C64, và cần có RAM Expansion Unit (REU) do bộ nhớ 64KiB hạn chế của máy
  • Hệ thống sử dụng Memory Management Unit (MMU) để mô phỏng bộ nhớ ảo
  • Tác giả vẫn chưa thử nghiệm thiết lập trên phần cứng thực và khuyến khích độc giả chia sẻ trải nghiệm
  • Để xây dựng hệ thống, cần dùng lệnh make và công cụ mos-c64-clang
  • Cấu hình kernel khác với kernel semu gốc do việc căn chỉnh các phần lớn. Có thể tìm thấy cấu hình kernel phù hợp hơn trong thư mục con config
  • Dùng script mk_linux_reu.py để lắp ráp tất cả các ảnh REU cần thiết cho trình giả lập VICE
  • Để chạy hệ thống, cần tạo tệp .d64 chứa tệp thực thi semu đã biên dịch. Tệp này sau đó được nạp vào trình giả lập VICE
  • Tác giả dự định thêm lên GitHub một kho lưu trữ bao gồm mọi binary dựng sẵn cần thiết
  • Tác giả cũng đề cập đến khả năng tối ưu mã 6502 đã biên dịch để cải thiện hiệu năng, và triển khai checkpoint VM để tránh quá trình khởi động dài
  • Bài viết khép lại bằng việc ghi nhận công lao của semu, trình giả lập RISC-V32 tối giản đã giúp dự án này khả thi, cùng với bộ công cụ llvm-mos

1 bình luận

 
GN⁺ 2023-08-28
Ý kiến trên Hacker News
  • Onno Kortman đã chạy Linux thành công trên Commodore 64 bằng cách sử dụng semu, một trình giả lập RISC-V tối giản, cùng với llvm-mos và bản port LLVM cho bộ xử lý MOS 6502.
  • Quá trình này tốn rất nhiều thời gian, và việc tạo ảnh chụp màn hình ở "chế độ warp" mất vài giờ. Một chiếc C64 thực tế sẽ có thể khởi động Linux trong vòng một tuần.
  • Dự án này yêu cầu phần cứng hiếm là REU 16MB. Các REU từng có sẵn cho C64 vào thời đó là 256kB và 512kB.
  • Dự án này được so sánh với việc chạy Doom3 trên 386, nhưng 386 lại là card PCI cho PC hiện đại. So sánh này cho thấy nó khả thi về mặt kỹ thuật, nhưng không đại diện cho khả năng của phần cứng nguyên bản.
  • Sau khi sơ đồ mạch SuperCPU gốc bị thất lạc, đã có lời kêu gọi công bố mã nguồn mở cho sơ đồ mạch "Super CPU". SuperCPU và bộ điều khiển DMA của nó hiện được giả lập bằng FPGA mạnh.
  • Một số người dùng đang thử nghiệm các phụ kiện C-64 mới hơn như "Kung Fu Flash", vốn có thể giả lập "Super Snapshot" nhưng không phải REU.
  • Có cuộc thảo luận về phần cứng lâu đời nhất vẫn có thể khởi động Linux hiện đại mà còn dùng thường ngày được.
  • Dự án này được xem là một màn trình diễn về tính tương đương Turing: nếu có đủ thời gian, mọi máy tính Turing-hoàn chỉnh đều có thể làm được những gì một máy tính Turing-hoàn chỉnh khác làm được.
  • Có câu hỏi liệu dự án này có khác với Lunix, một hệ điều hành nhỏ gọn đa nhiệm dành cho Commodore 64, hay không.
  • Một số người dùng đề xuất các cách thay thế để chạy Linux trên C64, bao gồm dùng nhiều đĩa mềm như RAM và thay chúng khi cần.
  • Dự án này được giải thích rõ là C64 không trực tiếp chạy Linux, mà đang giả lập một môi trường RISC-V.
  • Dự án này cũng khiến người khác nghĩ tới các dự án tương tự, như chạy RISC-V trên Gameboy hoặc cài một hệ thống kiểu Unix trên TRS-80 Model 4.