1 điểm bởi GN⁺ 2025-12-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Mac mini G4 đã khởi động thành công System 7 và Mac OS 8 ở chế độ nguyên bản, vượt qua giới hạn trước đây chỉ khả thi đến Mac OS 9.2.2
  • Đã hiện thực việc khởi động các OS đời cũ bằng cách kết hợp bản dựng Mac OS 7.6~8.0 bị rò rỉ dựa trên CHRP (Common Hardware Reference Platform), bản vá System Enablercông cụ chỉnh sửa Mac OS ROM (tbxi)
  • Nhà phát triển Rairii(Wack0) đã phân tích và hợp nhất nhiều phiên bản ROM khác nhau để tạo ra một “siêu ROM” chứa cả tính năng cũ lẫn mới, rồi công bố trên GitHub
  • Kết quả thử nghiệm cho thấy có thể khởi động ổn định từ System 7.5~8.1, dù một số chức năng như âm thanh, video và mạng vẫn chưa hoàn thiện
  • Thành quả này mở rộng khả năng chạy Mac OS cổ điển trên toàn bộ dòng PowerPC Mac dựa trên New World ROM, mang ý nghĩa lớn với cộng đồng phát triển và bảo tồn công nghệ retro

Bối cảnh kiến trúc CHRP và việc khởi động System 7

  • Mac mini G4 sử dụng cấu trúc New World ROM, nên không thể khởi động trực tiếp các OS dòng System 7 truyền thống
    • New World ROM cần tệp Mac OS ROM thay vì ROM vật lý thực tế
    • Các phiên bản trước System 7.6 không nhận biết được cấu trúc này nên không thể khởi động
  • CHRP(Common Hardware Reference Platform) là kiến trúc dùng chung dựa trên PowerPC; các bản dựng dành cho Mac OS 7.6~8.0 từng được phát triển nội bộ nhưng chưa từng phát hành chính thức
    • Đến tháng 10 năm 2025, các bản dựng Mac OS cho CHRP này được bảo tồn và công khai, mở ra khả năng thử nghiệm mới
  • Bằng cách chỉnh sửa tệp System Enabler cho CHRP để loại bỏ giới hạn phiên bản OS, các bản cũ như System 7.5.x cũng có thể tận dụng tệp Mac OS ROM

Quá trình vá ROM và hiện thực khởi động

  • Rairii(Wack0) đã dùng công cụ vá Mac OS ROM của ELN (tbxi) để phân tích và hợp nhất nhiều phiên bản ROM
    • Tạo ra một ROM hợp nhất vừa khôi phục tính năng của bản cũ vừa giữ lại tính năng của bản mới
    • Nhờ đó có thể khởi động từ System 7.5~8.1
  • Có thể tải ROM và System Enabler đã được vá từ kho GitHub (universal-tbxi-patchset)
  • Các phiên bản ROM được hỗ trợ gồm 10.2.1, 2.5.1 và 1.7.1; trên Mac mini G4 cần ROM từ 9.1 trở lên để hỗ trợ driver ATA-6

Kết quả khởi động trên Mac mini G4

  • System 6.0.8~7.1.2: khởi động thất bại
  • System 7.5 / 7.5.3 / 7.6 / 8.1: khởi động và chạy ổn định
    • Cần vô hiệu hóa một số bảng điều khiển, ví dụ Mouse Control Panel
  • System 7.5.2: khởi động được nhưng không ổn định
  • Mac OS 8.5~9.1: khởi động thất bại do bị chặn bởi quy trình kiểm tra ID thiết bị
  • Mac OS 9.2~9.2.2: hoạt động hoàn toàn bình thường
  • Một số chức năng như âm thanh, mạng và Apple System Profiler vẫn còn chưa ổn định

Cách áp dụng ROM dành riêng cho Mac mini G4

  • Dùng các công cụ tbxitbxi-patches của ELN để áp dụng bản vá dành riêng cho Mac mini G4 vào ROM của Rairii (phiên bản 10.2.1) bằng script macmini.py
  • Đã xác nhận hoạt động thành công trong môi trường Python 3.8.10
  • ROM đã vá cuối cùng cũng hoạt động tương tự trên Mac OS 9.2.2, đồng thời hỗ trợ khởi động đến System 7.5
  • ROM Mac mini G4 cũ (v9.6.1) đã giả mạo model ID thành G4 Cube, và ROM mới cũng giữ nguyên cách làm này

Giá trị của việc chạy OS đời cũ

  • Một số phần mềm chỉ dành cho Mac OS 9.0.4 trở xuống hoặc riêng cho System 7, nên không thể chạy trên OS mới hơn
  • System 7.5 nhẹ hơn Mac OS 9 rất nhiều nên cho hiệu năng cực nhanh
  • Nhà phát triển và nhà nghiên cứu có thể trực tiếp thử nghiệm các API và hành vi hệ thống
  • Dự án này mở rộng phạm vi chạy OS retro trên PowerPC Mac và đóng góp cho hoạt động bảo tồn của cộng đồng

Kết thúc và lời cảm ơn

  • Thành quả lần này được hoàn thiện nhờ sự hợp tác của các thành viên cộng đồng như Rairii, ELN, Mac84
  • Đây là kết quả từ nhiều đóng góp kết hợp như bảo tồn đĩa CHRP, phát triển công cụ ROM và chia sẻ bản vá
  • Trong tương lai, người dùng G3·G4 Mac có thể tự tạo các ảnh khởi động tùy biến System 7~8.5 phù hợp với từng mẫu máy của mình

1 bình luận

 
GN⁺ 2025-12-01
Ý kiến trên Hacker News
  • Tôi có một công việc kinh doanh như sở thích là bán Mac mini G4 đã được tân trang
    Tôi vệ sinh hoàn toàn bên trong, nâng cấp lên SSD 128GB, mở rộng RAM lên 1GB và thay pin đồng hồ mới
    Đồng thời cài sẵn bản hack Mac OS 9 do cộng đồng Mac OS 9 Lives tạo ra
    Có thể mua trên trang của tôi là os9.shop
    Phần lớn khách hàng là người dùng doanh nghiệp thực sự cần chạy phần mềm cũ — từ phòng khám nha khoa, bệnh viện thú y, bảo tàng đến gara sửa ô tô
    Thật đáng ngạc nhiên là đến năm 2025 vẫn còn nhiều người dùng phần mềm Classic Mac

    • Tôi tò mò không biết có cần làm gì đặc biệt để SSD hoạt động tốt với OS9 không
      Trước đây tôi từng gắn SSD vào một chiếc iMac G3 300MHz, nhưng lúc khởi động quá trình khởi tạo rất lâu và hay bị treo
    • Cái này gần như là một dự án vì tò mò hơn là thứ mang tính thực dụng
      Nếu chạy System 7 “native” trên Mac mini G4 thì sẽ thiếu khá nhiều driver
      Phần lớn phần mềm chạy tốt hơn trên OS 9.2.2, còn trong những trường hợp thật sự ngoại lệ thì trình giả lập như vMac là đủ
    • Quá tuyệt, tôi nhất định sẽ thêm một chiếc vào danh sách đặt mua
  • Tôi cũng nghĩ Mac OS 9.2.2 là hệ điều hành tốt nhất
    Trước đây ở công ty tôi hay làm prototype rất nhanh bằng HyperCard
    Nó chạy tốt cả trên Cube, và trên thiết bị hiện đại hơn thì cũng chạy tốt qua giả lập OS 9
    Những người viết script HyperCard đã làm được những điều tuyệt vời mà phần lớn người dùng ngày nay không làm — mà không cần trung tâm dữ liệu khổng lồ

    • Vào thời Java nổi lên như ngôn ngữ thế hệ tiếp theo, tôi làm ở KL Group/Sitraka, nơi tạo ra công cụ phát triển Java
      Cuối tuần ngay trước ngày phát hành, tôi đã dùng Runtime Revolution dựa trên HyperCard để làm một trình hướng dẫn cài đặt và mang bản hoàn chỉnh tới vào thứ Hai
      Công ty nổi giận vì triết lý “chúng tôi làm công cụ Java bằng Java”, nhưng cuối cùng phiên bản đó vẫn được phát hành thành công
      Đến giờ tôi vẫn thấy việc làm công cụ đơn giản bằng Electron và React giống như một Turing Tarpit
      Liên kết liên quan: LiveCode (company)
    • Hồi đó mọi thứ đều nhanh nhạy. Không có những hoạt ảnh thừa thãi
    • HyperCard là một trong những ký ức Mac OS tôi yêu thích nhất trong đời
    • Cá nhân tôi thích System 6 hơn — nó mang cảm giác Mac OS cổ điển trọn vẹn trước System 7
      Đơn giản và hầu như không có những tầng trừu tượng không cần thiết
    • Có lẽ bạn cũng sẽ thích dự án Decker
  • Script không chạy với Python 3.13.9 mới nhất, nên tôi thử lại bằng Python 3.8.10 thì chạy hoàn hảo
    Dạo này Python thường loại bỏ các tính năng cũ và làm hỏng mã hiện có
    Vấn đề liên quan: tbxi issue #1

    • Thật sự rất bực. Nếu làm lại bây giờ chắc tôi sẽ viết bằng Go
    • Nghe có vẻ quá quả quyết
      MacOS 9 đã ngừng được hỗ trợ chính thức từ sau năm 2002, nên việc loại bỏ chức năng liên quan khỏi thư viện chuẩn là hợp lý
      Đa số người dùng chẳng bao giờ dùng những chức năng đó
      Thảo luận liên quan: cpython issue #83534
  • Lúc đầu tôi đọc nhầm thành “Mac mini M4” và đã giật mình

    • Dù vậy thì dự án này vẫn tạo cảm giác cực kỳ ấn tượng
  • Dòng StarMax (đặc biệt là 4400) là mẫu gần với CHRP nhất
    Bản clone PowerCity của tôi có cổng PS/2 và ISA, đồng thời chạy BeOS rất tốt
    Nó còn có đặc điểm lạ là loa phát ra âm thanh khi vòng lặp chạy

    • Hầu hết hệ thống StarMax dựa trên thiết kế Tanzania / LPX-40
      Nó hỗ trợ ổ đĩa mềm kiểu PC, còn PS/2 được vi điều khiển CudaLite chuyển đổi thành thiết bị ADB
      Tôi chưa từng thấy bản nào có khe ISA, nhưng có vẻ có thể triển khai bằng chip cầu nối PCI-ISA
      Tài liệu tham khảo: LPX-40 Dev Note
    • Các hệ thống MacOS dựa trên CHRP có cây thiết bị kỳ lạ trộn lẫn thiết bị ngoại vi PC và Mac
      Bo mạch Motorola Yellowknife và hệ thống IBM Long Trail cũng tương tự
      Cả hai hệ thống đều dùng southbridge W83C553 và bộ điều khiển Super I/O PC87307
      Nếu xem sơ đồ mạch của NXP thì có thể hiểu cấu trúc rõ hơn
  • Tôi muốn hỏi những ai muốn tìm hiểu cấu trúc phức tạp của PowerPC Mac — phần hỗ trợ phần cứng cho từng mẫu cụ thể được triển khai ở đâu?

    • Nó nằm trong những lớp xếp chồng như các vòng đồng tâm
  • Thực ra đây không phải là “khởi động native” System 7
    Tất cả PowerPC Mac đều chạy System 7 thông qua trình giả lập
    Dù vậy, bản thân nỗ lực này vẫn rất ấn tượng

  • Tôi đang dùng một chiếc iMac G4 1.25GHz
    Ban đầu nó là bản 1GHz, nhưng sau này tôi thay bo mạch
    Nếu có thể khởi động trực tiếp OS 9 thay vì dùng chế độ Classic của OS X thì sẽ hiệu quả hơn nhiều,
    nhưng các mẫu 1~1.25GHz không được hỗ trợ chính thức
    Tôi mơ một ngày nào đó có thể dual boot

    • Thực ra bo mạch đó cũng có thể khởi động OS 9
      Loa tích hợp không hoạt động nhưng jack tai nghe thì có
  • Nội dung như thế này thật tuyệt. Đây là chủ đề rất hợp để đọc trên Hacker News

  • Dù ấn tượng nhưng UX của macOS đời đầu khá bất tiện
    Vì UI thread phải xử lý mọi thứ
    Nhấn xong rồi chờ là chuyện thường ngày

    • Nhưng bản thân giao diện vẫn có cảm giác nhanh hơn Mac Studio M1 Max hiện tại
      Vì hầu như không có hoạt ảnh và đầu vào không bị chặn
      Những ứng dụng dùng thường xuyên phản hồi ngay theo đúng trí nhớ cơ tay
    • Điều tôi nhớ nhất là việc phải khởi động lại thường xuyên vì chương trình bị crash
      Chỉ một null pointer cũng có thể làm cả hệ thống đứng cứng
    • Thực ra nguyên nhân của sự chậm chạp là dung lượng RAM và tốc độ HDD hơn là UX
    • Tôi đồng ý với ý “UI thread là tất cả”, nhưng nếu vậy thì tôi cũng tò mò không biết có thể triển khai khác đi bằng cách nào