1P by GN⁺ 4일전 | ★ favorite | 댓글 1개
  • Mac mini G4에서 System 7 및 Mac OS 8이 네이티브로 부팅되는 데 성공, 이는 기존에 Mac OS 9.2.2까지만 가능했던 한계를 넘어선 사례임
  • CHRP(공통 하드웨어 참조 플랫폼) 기반의 유출된 Mac OS 7.6~8.0 빌드와 System Enabler 패치, 그리고 Mac OS ROM 수정 도구(tbxi) 를 결합해 구형 OS 부팅을 실현
  • 개발자 Rairii(Wack0) 가 다양한 ROM 버전을 분석·통합해 모든 구형 기능과 신형 기능을 포함한 ‘슈퍼 ROM’ 을 제작, GitHub에서 공개
  • 테스트 결과 System 7.5~8.1까지 안정적으로 부팅 가능하며, 사운드·비디오·네트워크 등 일부 기능은 미완성 상태
  • 이 성과는 New World ROM 기반 PowerPC Mac 전반에서 고전 Mac OS 실행 가능성을 확장, 복고 개발 및 보존 커뮤니티에 큰 의미를 가짐

CHRP 아키텍처와 System 7 부팅의 배경

  • Mac mini G4는 New World ROM 구조를 사용해 기존 System 7 계열 OS를 직접 부팅할 수 없었음
    • New World ROM은 실제 ROM 대신 Mac OS ROM 파일을 필요로 함
    • System 7.6 이전 버전은 이 구조를 인식하지 못해 부팅 불가 상태였음
  • CHRP(Common Hardware Reference Platform) 은 PowerPC 기반 공통 아키텍처로, Mac OS 7.6~8.0용 빌드가 내부 개발되었으나 공식 출시되지 않음
    • 2025년 10월, 이 CHRP용 Mac OS 빌드가 보존·공개되면서 새로운 실험이 가능해짐
  • CHRP용 System Enabler 파일을 수정해 OS 버전 제한을 제거함으로써, System 7.5.x 등 구버전에서도 Mac OS ROM 파일을 활용 가능하게 됨

ROM 패치와 부팅 실현 과정

  • Rairii(Wack0)ELN의 Mac OS ROM 패치 도구(tbxi) 를 이용해 여러 ROM 버전을 분석·통합
    • 구버전 기능을 복원하면서 신버전 기능도 유지한 통합 ROM 제작
    • 이를 통해 System 7.5~8.1까지 부팅 가능
  • GitHub 저장소(universal-tbxi-patchset)에서 ROM과 패치된 System Enabler를 다운로드 가능
  • 지원 ROM 버전은 10.2.1, 2.5.1, 1.7.1 세 가지이며, Mac mini G4에서는 ATA-6 드라이버 지원을 위해 9.1 이상 ROM 필요

Mac mini G4에서의 부팅 결과

  • System 6.0.8~7.1.2: 부팅 실패
  • System 7.5 / 7.5.3 / 7.6 / 8.1: 부팅 및 안정적 실행
    • 일부 제어판(예: Mouse Control Panel) 비활성화 필요
  • System 7.5.2: 부팅되나 불안정
  • Mac OS 8.5~9.1: 부팅 실패, 기기 ID 확인 절차로 인해 차단
  • Mac OS 9.2~9.2.2: 완전 정상 작동
  • 일부 기능(사운드, 네트워크, Apple System Profiler 등)은 여전히 불안정

Mac mini G4 전용 ROM 적용 방법

  • ELN의 tbxi 및 tbxi-patches 도구를 사용해 macmini.py 스크립트로 Rairii의 ROM(10.2.1 버전)에 Mac mini G4 전용 패치를 적용
  • Python 3.8.10 환경에서 성공적으로 작동 확인
  • 최종 패치된 ROM은 Mac OS 9.2.2에서도 동일하게 동작하며, System 7.5 부팅까지 지원
  • 기존 Mac mini G4 ROM(v9.6.1)은 G4 Cube로 모델 ID를 스푸핑했으며, 새 ROM도 동일한 방식 유지

구형 OS 실행의 가치

  • 일부 소프트웨어는 Mac OS 9.0.4 이하 또는 System 7 전용으로, 최신 OS에서는 실행 불가
  • System 7.5는 Mac OS 9보다 훨씬 가벼워 극단적으로 빠른 성능을 제공
  • 개발자와 연구자는 구형 API 및 시스템 동작을 직접 실험 가능
  • 이 프로젝트는 PowerPC Mac의 복고 OS 실행 범위를 확장하고, 커뮤니티 보존 활동에 기여

마무리 및 감사

  • 이번 성과는 Rairii, ELN, Mac84 등 커뮤니티 구성원의 협력으로 완성
  • CHRP 디스크 보존, ROM 툴 개발, 패치 공유 등 다양한 기여가 결합된 결과
  • 향후 G3·G4 Mac 사용자들이 각자 모델에 맞는 System 7~8.5 커스텀 부팅 이미지를 제작할 가능성 열림
Hacker News 의견
  • 나는 복원된 Mac mini G4를 판매하는 취미 사업을 하고 있음
    내부를 완전히 청소하고, 128GB SSD로 업그레이드하며, RAM을 1GB로 확장하고, 새 시계 배터리를 교체함
    그리고 Mac OS 9 Lives 커뮤니티에서 만든 Mac OS 9 해킹 버전을 미리 설치함
    내 사이트 os9.shop에서 구매 가능함
    고객 대부분은 구형 소프트웨어를 돌려야 하는 실제 비즈니스 사용자들임 — 치과, 수의원, 박물관, 자동차 정비소 등 다양함
    2025년에도 여전히 Classic Mac 소프트웨어를 쓰는 사람들이 많다는 게 놀라움

    • SSD를 OS9에서 잘 작동하게 하려면 특별히 해야 할 일이 있었는지 궁금함
      예전에 300MHz G3 iMac에 SSD를 달았는데 부팅 시 초기화가 오래 걸리고 자주 멈췄음
    • 이건 실용적이라기보다 호기심용 프로젝트에 가까움
      Mac mini G4에서 System 7을 “네이티브”로 돌리면 드라이버가 많이 빠져 있음
      대부분의 소프트웨어는 OS 9.2.2에서 더 잘 돌아가고, 정말 예외적인 경우엔 vMac 같은 에뮬레이터로 충분함
    • 너무 멋져서 꼭 하나 주문 목록에 넣어둠
  • 나도 Mac OS 9.2.2가 최고의 OS라고 생각함
    예전에 회사에서 HyperCard로 빠르게 프로토타입을 만들곤 했음
    Cube에서도, 그리고 최신 기기에서는 OS 9 에뮬레이션으로도 잘 돌아감
    HyperCard 스크립터들은 오늘날 대부분의 사용자들이 하지 않는 멋진 일을 했음 — 거대한 데이터센터 없이도

    • Java가 차세대 언어로 떠오르던 시절, KL Group/Sitraka에서 Java 개발 도구를 만들었음
      출시 직전 주말에 HyperCard 기반의 Runtime Revolution으로 설정 마법사를 만들어서 월요일에 완성품을 가져감
      회사는 “우린 Java로 Java 도구를 만든다”는 철학 때문에 화를 냈지만, 결국 그 버전은 성공적으로 배포됨
      지금도 단순한 도구를 Electron과 React로 만드는 건 Turing Tarpit 같다고 생각함
      관련 링크: LiveCode (company)
    • 그 시절엔 모든 게 빠릿빠릿했음. 불필요한 애니메이션도 없었음
    • HyperCard는 내 인생에서 가장 좋아하는 Mac OS 추억 중 하나임
    • 개인적으로는 System 6을 좋아함 — System 7 이전의 완전한 클래식 Mac OS 느낌이 있음
      단순하고 불필요한 추상화가 거의 없음
    • 혹시 Decker라는 프로젝트도 좋아할 것 같음
  • 최신 Python 3.13.9로는 스크립트가 작동하지 않아서, Python 3.8.10으로 다시 시도했더니 완벽하게 작동했음
    요즘 Python은 오래된 기능을 제거하고 기존 코드를 깨뜨리는 경우가 많음
    관련 이슈: tbxi issue #1

    • 정말 답답함. 지금 다시 만든다면 Go로 작성했을 것 같음
    • 너무 단정적인 말 같음
      MacOS 9은 2002년 이후 공식 지원이 끊겼고, 관련 기능을 표준 라이브러리에서 제거하는 건 합리적임
      대부분의 사용자는 그런 기능을 전혀 쓰지 않으니까
      관련 토론: cpython issue #83534
  • 처음엔 “Mac mini M4”로 잘못 읽고 깜짝 놀랐음

    • 그래도 이 프로젝트는 여전히 엄청나다는 인상을 줌
  • StarMax 시리즈(특히 4400)는 CHRP에 가장 가까운 모델이었음
    내 PowerCity 클론은 PS/2와 ISA 포트를 갖고 있었고, BeOS도 잘 돌았음
    루프가 돌 때 스피커에서 소리가 나는 독특한 특징도 있었음

    • 대부분의 StarMax 시스템은 Tanzania / LPX-40 디자인 기반임
      PC 스타일 플로피 드라이브를 지원하고, PS/2는 CudaLite 마이크로컨트롤러가 ADB 장치로 변환함
      ISA 슬롯이 있는 버전은 못 봤지만, PCI-ISA 브리지 칩으로 구현 가능했을 듯함
      참고 문서: LPX-40 Dev Note
    • CHRP 기반 MacOS 시스템은 PC와 Mac 주변기기가 섞인 기묘한 디바이스 트리를 가졌음
      Motorola Yellowknife 보드와 IBM Long Trail 시스템이 유사함
      두 시스템 모두 W83C553 southbridge와 PC87307 Super I/O 컨트롤러를 사용함
      NXP의 회로도를 보면 구조를 더 잘 이해할 수 있음
  • PowerPC Mac의 복잡한 구조를 배우고 싶은 사람에게 묻고 싶음 — 특정 모델의 하드웨어 지원은 어디에 구현되어 있을까?

    • 동심원처럼 겹겹이 쌓인 레이어 안에 있음
  • 사실 이건 System 7을 “네이티브 부팅”하는 게 아님
    PowerPC Mac은 전부 에뮬레이터를 통해 System 7을 돌림
    그래도 이 시도 자체는 인상적임

  • 나는 iMac G4 1.25GHz를 쓰고 있음
    원래 1GHz 모델이었는데, 나중에 보드를 교체함
    OS X의 클래식 모드 대신 OS 9을 직접 부팅할 수 있으면 훨씬 효율적일 텐데,
    1~1.25GHz 모델에서는 공식적으로 지원되지 않음
    언젠가 듀얼 부팅이 가능해지길 꿈꾸고 있음

    • 사실 그 보드에서도 OS 9 부팅이 가능
      내장 스피커는 안 되지만 헤드폰 잭은 작동함
  • 이런 콘텐츠는 정말 멋짐. Hacker News에서 보기 좋은 주제

  • 인상적이긴 하지만 초기 macOS의 UX는 꽤 불편했음
    UI 스레드가 모든 걸 담당했기 때문임
    클릭 후 기다림이 일상이었음

    • 그래도 인터페이스 자체는 지금의 M1 Max Studio보다 빠르게 느껴졌음
      애니메이션이 거의 없고, 입력이 블로킹되지 않았기 때문임
      자주 쓰는 앱은 손이 기억하는 대로 즉시 반응했음
    • 가장 기억에 남는 건 프로그램 충돌로 인한 잦은 재부팅
      null 포인터 하나로 시스템 전체가 멈췄음
    • 사실 느림의 원인은 UX보다 RAM 용량과 HDD 속도였음
    • “UI 스레드가 전부였다”는 말에 공감하지만, 그렇다면 다르게 구현할 방법은 무엇이었을까 궁금함