M4 Mac mini에 리눅스 부팅 성공, 잠긴 레지스터와 SPTM 벽 넘은 기록
- M4 Mac mini는 SPTM(Secure Page Table Monitor)을 처음 의무화한 Apple Silicon 세대라, m1n1 하이퍼바이저로 macOS 드라이버와 하드웨어의 MMIO 상호작용을 추적하던 기존 리눅스 브링업 방식이 그대로 통하지 않음
- m1n1은 M4에서 BRINGUP 모드로만 시작했고 GXF 초기화와 RVBAR 쓰기가 크래시를 일으켜 둘 다 건너뛰도록 고침. RVBAR에는 이미 올바른 값이 들어 있었음
- MMU 활성화 뒤 시리얼 출력이 끊긴 원인은 리눅스가 MMIO 주소의 1:1 매핑을 만들지 않아 UART 접근이 실패한 것이었고, 초기 페이지 테이블에 매핑을 추가해 해결함
- 가상화 관련 레지스터 SYS_IMP_APL_VM_TMR_FIQ_ENA_EL2 쓰기가 새 크래시를 일으켰는데, 이 레지스터는 최신 iBoot에서 풀려 이제 주석 처리할 필요가 없음
- earlycon=s5l,0x3ad200000 부트 인자를 넣고 나서야 시리얼 콘솔에 커널 출력이 나왔고, 최종적으로 셸까지 부팅함
Hacker News 의견들
오픈에 적대적인 회사 기기를 굳이 사서 오픈 소스 돌린다는 게 좀 웃기긴 함
여기가 Hacker News라는 걸 까먹은 모양인데
애플이 일부러 막는 건지 그냥 신경 안 쓰는 건지 진짜 궁금함. macOS 얘기고 모바일은 훨씬 더 막혀 있음
레노버 노트북이 서스펜드 후 트랙패드 죽는 펌웨어 버그를 끝까지 안 고쳐줘서 맥북으로 갔음. SKU가 적으니 이런 뻔한 버그를 방치할 일이 없음. M3는 아사히 포팅이 안 돼서 아쉬웠는데 요즘은 좀 진행되는 듯
애플이 오픈 하드웨어를 받아들였으면 회사가 얼마나 커졌을까 싶음. macOS는 진짜 bloated라 싫은데 하드웨어는 다른 것보다 훨씬 좋음
하드웨어가 좋은 건지 통합이 좋은 건지 모르겠음. 내 경험에선 '훨씬 좋다'는 게 결국 배터리임
애플 규모에서 데스크톱 리눅스 쓰고 싶은 지구상 모든 사람이 제일 비싼 맥을 사도 매출에 티도 안 남. 버블에서 좀 나와라
애플은 수직 회사라 하드웨어만 팔 생각도, 소프트웨어만 팔 생각도 없음. 패키지 전체를 파는 게 목적이고 하드웨어는 수단일 뿐임
big을 어떻게 정의하는지 모르겠는데 이미 역사상 손꼽히는 기업임. 매출에 안 잡히는 유저를 굳이 떠안을 이유가 없음
AI로 이런 거 되지 않을까? 시도한 사례 있음?
phoronix에 Gravity Linux M4 Mac mini 관련 글 있음
내가 알기로 M4랑 M6 리버스 엔지니어링은 AI 보조로 하는 걸로 앎
겨우 진짜 재밌는 해킹 글 하나 나왔는데 반응이 'AI한테 맡겨라'라니. 도전이랑 재미, 성취감은 어디 갔냐
맥용 서드파티 트랙패드가 없는 이유를 찾아봤는데, 터치패드랑 제스처 프로토콜이 macOS에서 독점이라 서드파티는 마우스 흉내밖에 못 냄. 하드웨어와 OS와 액세서리와 서비스를 다 가진 회사한테서 나오는 결과임