BeBox: Ứng dụng Haiku giả lập chiếc máy BeBox huyền thoại của Be Inc.

Công nghệ15 tháng 10, 2026·9 phút đọc

BeBox là một ứng dụng chạy trên nền tảng Haiku, có khả năng giả lập chiếc máy tính hai vi xử lý BeBox — cỗ máy đã khai sinh ra hệ điều hành BeOS. Công cụ này chạy được cả hai mẫu PowerPC từ ROM khởi động gốc lẫn các nguyên mẫu Hobbit từ năm 1993-1994, mang đến cơ hội trải nghiệm lại một chương đáng nhớ của lịch sử điện toán.

BeBox: Ứng dụng Haiku giả lập chiếc máy BeBox huyền thoại của Be Inc.

BeBox: Ứng dụng Haiku giả lập chiếc máy BeBox huyền thoại của Be Inc.

BeBox là một ứng dụng chạy trên nền tảng Haiku, có khả năng giả lập chiếc máy tính hai vi xử lý BeBox — cỗ máy đã khai sinh ra hệ điều hành BeOS. Công cụ này chạy được cả hai mẫu PowerPC từ ROM khởi động gốc, cùng các nguyên mẫu Hobbit từ năm 1993-1994. Đây là cơ hội hiếm có để những người yêu công nghệ trải nghiệm lại một chương đáng nhớ của lịch sử điện toán.

Giao diện giả lập BeBox trên HaikuGiao diện giả lập BeBox trên Haiku

BeBox là gì và giả lập được những gì?

Dự án BeBox mô phỏng khá toàn diện phần cứng của chiếc máy BeBox nguyên bản, bao gồm:

  • Cả hai vi xử lý (bộ thông dịch PowerPC 603/603e kèm TLB phần mềm của 603), cầu nối MPC105, cùng các thanh ghi điều khiển ngắt và CPU của BeBox.
  • ROM khởi động: phần nub và ROM chính trong bộ nhớ flash có thể ghi được (trình cập nhật ROM của BeOS vẫn hoạt động), NVRAM và đồng hồ thời gian thực.
  • Đồ họa: card Number Nine #9 GXE64 (S3 Vision864, RAMDAC AT&T 21C498) với bộ xử lý đồ họa của nó — đây là mặc định; hoặc Cirrus Logic CL-GD5434. Độ phân giải từ 640x480 đến 1280x1024, với 8 và 32 bit mỗi điểm ảnh.
  • Âm thanh: codec Crystal CS4231A, phát qua media kit của Haiku.
  • Bàn phím AT và chuột PS/2; bốn cổng game (trục và nút bấm).
  • Lưu trữ: SCSI NCR 53C810 (đĩa và CD-ROM trên các ID 0-6), IDE, ổ đĩa mềm.
  • Bốn cổng nối tiếp: kết nối tới cửa sổ console, máy chủ hoặc máy khách TCP, cổng nối tiếp của máy chủ hoặc tệp nhật ký.
  • Ethernet: card ISA tương thích NE2000 trên mạng riêng phía sau máy chủ (NAT, thông qua libslirp).
  • Thư mục chia sẻ: một thư mục Haiku xuất hiện với BeOS như một đĩa SCSI có thể đọc và ghi.

Hiện tại, các cổng song song, GeekPort, MIDI và hồng ngoại vẫn chưa được giả lập.

Hai dòng máy được hỗ trợ

Mẫu máyVi xử lýBus
BeBox Dual603-66hai PowerPC 603 @ 66 MHz33 MHz
BeBox Dual603e-133hai PowerPC 603e @ 133 MHz33 MHz
Nguyên mẫu Hobbit (1993-94)hai AT&T 92010 (Hobbit) @ 25 MHzBeBus, 25 MHz

Cửa sổ giả lập hiển thị màn hình nằm giữa hai cột đèn LED mặt trước (hay còn gọi là "blinkenlights"), mỗi bên gồm mười sáu đoạn ống dẫn sáng: một thanh tải CPU gồm mười lăm đèn LED đặt trên đèn nguồn (bên trái) hoặc đèn ổ đĩa (bên phải), với màu xanh chanh và hổ phách giống như máy thật.

Nguyên mẫu Hobbit: chương bị lãng quên

Trước khi có BeBox PowerPC, Be đã chế tạo cỗ máy của mình dựa trên hai vi xử lý AT&T 92010 "Hobbit", ba bộ xử lý tín hiệu AT&T DSP3210 và bus BeBus. Một vài nguyên mẫu còn tồn tại cùng ổ đĩa của chúng, chạy hệ thống Be từ năm 1993-94 với trình máy chủ cửa sổ, console, trình duyệt Browser và dock của nó.

Nguyên mẫu Hobbit được mô phỏngNguyên mẫu Hobbit được mô phỏng

Điểm đáng chú ý là không có ROM khởi động nào của những cỗ máy này còn sót lại, nên BeBox phải tự đảm nhận vai trò của ROM khởi động: nạp /system/kernel từ phân vùng khởi động rồi khởi chạy nó. Người dùng có thể chọn chạy nguyên mẫu Hobbit với dung lượng bộ nhớ 4, 8, 16, 20 hoặc 32 MB.

Yêu cầu để chạy BeBox

Để sử dụng, bạn cần chuẩn bị:

  • ROM khởi động BeBox (không được kèm sẵn trong dự án): hai tệp bootnub.rom (16 KB) và bootmain.rom (Be Boot ROM 1.1d7) từ một chiếc BeBox thật.
  • BeOS cho PowerPC: các ảnh CD (định dạng ISO, BIN/CUE hoặc Toast).
  • Với các bản phát hành dùng Be File System (từ Advanced Access trở lên): cần ROM khởi động mới hơn, vốn có sẵn trên các đĩa CD của Preview Release 2, R3 và R4.5 tại đường dẫn /beos/etc/bebox_bootmain.image. BeBox sẽ tự động trích xuất giúp bạn.

Bắt đầu sử dụng

Quy trình thiết lập khá trực quan qua menu Machine > Preferences:

  1. Mở ROM & NVRAM và chọn thư mục chứa các tệp ROM.
  2. Trong Storage, gán ảnh CD vào một ID SCSI dưới dạng CD-ROM (ID 3 là lựa chọn cổ điển nhất), rồi cấp một ID khác cho đĩa cài đặt.
  3. Chọn Machine > Power on. Với các ROM khởi động mới hơn, máy sẽ dừng ở menu khởi động khi chưa thiết lập phân vùng boot — hãy nhấn Return.

Màn hình khởi động BeOS trong trình giả lậpMàn hình khởi động BeOS trong trình giả lập

Lưu ý: Mọi thay đổi về phần cứng đều khiến máy khởi động lại. Một loại thiết bị được đặt mà không có tệp đi kèm sẽ tự động chuyển về "None" khi lưu tùy chọn.

Hồ sơ cấu hình (Profiles)

Mỗi bản phát hành BeOS ưa thích một cấu hình máy riêng (ROM khởi động, ổ đĩa, có thể là mô hình 133 MHz). Do đó, BeBox lưu toàn bộ cấu hình máy trong một profile — bao gồm mọi thứ trong phần tùy chọn ngoại trừ Bàn phím & chuột và kiểu đèn LED, cộng thêm bộ nhớ flash ROM khởi động và NVRAM.

Menu Machine > Profile cho phép chuyển đổi giữa các profile, tạo mới, đổi tên hoặc xóa. Các profile được lưu dưới dạng thư mục trong ~/config/settings/BeBox/Profiles/.

Dưới đây là bảng tương thích giữa các bản phát hành BeOS và ROM khởi động:

Bản phát hànhROM khởi độngKhởi động từ CDCài lên đĩa
DR6 (BeOS 1.1d6)1.1d7 gốcCóCó
DR7 (BeOS 1.1d7)1.1d7 gốcCóCó
DR81.1d7 gốcCóCó
Advanced AccessCủa PR2CóCó
Preview Release 1Của PR2Có–
Preview Release 2Từ CD của nóCóCó
R3Từ CD của nóCóCó
R4.5Từ CD của nóCóCó
R5.0.3Của R3CóCó

Điểm thú vị là ROM khởi động từ đĩa CD R3 hoạt động được với mọi bản phát hành đã thử nghiệm, nên chỉ cần một profile với ROM đó là có thể chạy được tất cả.

Khả năng mạng và thư mục chia sẻ

Trong Preferences > Network, bạn bật card Ethernet (cổng 300h, IRQ 5 theo mặc định, đúng như phần mềm của Be mong đợi). Trong tùy chọn Network của BeOS, hãy thêm bộ điều hợp "Novell NE2000 compatible adapter (ISA)" với cùng cổng và IRQ, rồi chọn DHCP hoặc đặt IP thủ công là 10.0.2.15 với mặt nạ 255.255.255.0, gateway 10.0.2.2 và DNS 10.0.2.3.

Tính năng thư mục chia sẻ cho phép một thư mục Haiku xuất hiện với BeOS như một đĩa SCSI. Khi khởi động, BeBox sao chép thư mục đó (kèm thuộc tính như loại tệp và biểu tượng) sang một phân vùng BFS mới. Khi BeOS đã tắt hoàn toàn, các thay đổi sẽ được ghi ngược trở lại thư mục Haiku.

Ảnh đĩa và công cụ dòng lệnh

Đĩa cứng có thể là ảnh raw hoặc QCOW2, trong đó QCOW2 chỉ chiếm dung lượng thực sự được ghi (thin provisioning) và có thể là lớp phủ của một ảnh nền. Công cụ bebox-img quản lý chúng, với các lệnh:

bebox-img create [-f raw|qcow2] [-b BACKING] FILE SIZE
bebox-img info FILE
bebox-img check FILE
bebox-img convert [-O raw|qcow2] SOURCE DESTINATION
bebox-img ls IMAGE [PATH]
bebox-img attr IMAGE PATH
bebox-img extract IMAGE PATH OUTPUT

Trên đĩa Hobbit, lệnh extract còn có thể sao chép toàn bộ thư mục vào một thư mục mới, giữ nguyên ngày tháng của tệp. Vì không có bản BeOS nào đọc được hệ thống tệp của Hobbit, đây chính là cách để truy cập dữ liệu của nó: trích xuất ra rồi cấp thư mục đó cho một bản phát hành BFS dưới dạng thư mục chia sẻ.

Tự động hóa và kiểm thử

Cửa sổ máy ảo phản hồi các lệnh hey, cho phép điều khiển từ xa:

hey BeBox get Running of Window BeBox
hey BeBox get Speed of Window BeBox
hey BeBox get LedLevels of Window BeBox
hey BeBox get SerialLog 4 of Window BeBox
hey BeBox set Floppy of Window BeBox to /path/disk.img
hey BeBox type of Window BeBox with text=ls
hey BeBox shot of Window BeBox with path=/tmp/screen.png

Bên cạnh đó còn có công cụ bebox-headless cho phép chạy máy ảo không cần cửa sổ, phục vụ kiểm thử và gỡ lỗi: cổng nối tiếp xuất ra tệp hoặc TCP, mô phỏng phím và nhấp chuột theo kịch bản, chụp màn hình, vết thực thi lệnh, kết xuất bộ nhớ và theo dõi biến.

Xây dựng và giấy phép

Trên Haiku (cần haiku_devel, zlib_devel và libslirp_devel), chỉ cần lệnh make là có thể xây dựng ứng dụng. Lõi trình giả lập được viết bằng C++17 có tính di động cao và được kiểm thử trên Linux với các bài kiểm tra vi xử lý, thiết bị, đa xử lý và QCOW2 — chạy dưới cả AddressSanitizer và UndefinedBehaviorSanitizer.

Dự án được phát hành theo giấy phép MIT, với các tác giả là Claude Opus 5.5 và John Rash. Biểu tượng ứng dụng do zuMi thiết kế, cũng theo giấy phép MIT. Cần lưu ý rằng ROM BeBox và BeOS không thuộc dự án này — người dùng phải tự tìm kiếm hợp pháp.

Ý nghĩa với cộng đồng công nghệ

Với những ai quan tâm đến lịch sử hệ điều hành, BeBox là một dự án bảo tồn đáng giá. BeOS từng được xem là hệ điều hành đa phương tiện tiên tiến nhất thời kỳ đó, với khả năng đa nhiệm trơn tru và xử lý đồ họa vượt trội so với các hệ điều hành đương thời. Việc có thể chạy lại nó trong môi trường Haiku — hệ điều hành mã nguồn mở kế thừa tinh thần của BeOS — mang tính biểu tượng cao, đồng thời mở ra cơ hội nghiên cứu và học hỏi cho các nhà phát triển và sinh viên công nghệ.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗