요약
M4 맥에서 리눅스를 막던 범인은 대기 명령 뒤 레지스터를 잊어버리는 CPU였습니다.
개발자 유레카 릴리언이 2024년 11월에 산 M4 맥 미니에서 리눅스를 처음 부팅하기까지의 과정을 정리했습니다. Asahi Linux 팀의 도움을 받았지만, M4부터 보안이 강화돼 이전 세대의 분석 방법을 그대로 쓸 수 없었습니다.
왜 중요한가
- 우회 장치가 리눅스 메인라인과 m1n1(Apple Silicon용 부트로더)에 합쳐졌습니다. 이제 최신판으로 M4 맥에서 모든 코어를 쓰며 부팅할 수 있습니다.
- 같은 우회책이 M4 Pro, M4 Max, M5에서도 통해 이후 칩 지원의 토대가 됩니다.
- 다만 지금은 셸까지 뜨는 단계입니다. 카메라, 디스플레이, GPU 같은 장치는 아직 분석 중입니다.
핵심 내용
- M4가 처음 의무화한 SPTM(macOS 커널의 페이지 테이블 보안 장치) 탓에 하이퍼바이저로 드라이버를 엿보던 분석법이 막혔습니다.
- 출력이 전혀 없자 글자 하나를 찍는 코드를 부팅 경로에 넣어 가며 멈추는 지점을 좁혔습니다.
- 핵심 문제는 WFI(인터럽트가 올 때까지 코어를 쉬게 하는 명령) 뒤에 레지스터가 0으로 지워지는 동작이었습니다.
- 이전 칩은 이 동작을 끌 수 있었지만 M4는 끌 수 없어 ARM64 규격을 어깁니다.
- 결국 부트 인자로 WFI 대기를 끄고, m1n1이 문제 있는 실제 기기에서만 그 인자를 넣기로 했습니다.
HN 반응
- 애플이 하드웨어를 개방하면 더 커질 것이라는 의견에, 애플은 기기와 운영체제를 묶어 파는 회사라는 반론이 나왔습니다.
- 애플 칩으로 서버를 팔자는 주장에는 Xserve(애플의 옛 서버 제품) 실패와 서버는 코어 수가 더 중요하다는 반론이 맞섰습니다.
애플이 오픈 하드웨어를 받아들였다면 얼마나 커졌을지 상상해 보세요. 애플에는 분명 해자가 있어요. macOS는 너무 비대해서 정말 싫지만, 하드웨어만큼은 다른 어떤 것보다 압도적으로 좋거든요.
애플은 수직 계열화 회사예요. 하드웨어를 팔고 싶어 하지 않아요. 소프트웨어를 팔고 싶어 하지도 않고요.
애플이 팔고 싶은 건 전체 패키지뿐이에요. 가톨릭 교회더러 랩 음악 8트랙 테이프 전문 레코드 클럽을 시작하라고 하는 게 더 낫겠네요. 가능성은 똑같으니까요.
애플한테 하드웨어는 목적을 이루기 위한 수단일 뿐, 그 이상도 이하도 아니에요.
https://catholicvibe.com/artists/foundnation
아, 있긴 있겠죠. 생각해 낼 수 있는 장르라면 뭐든 기독교 버전이 있잖아요. 그래서 일부러 8트랙을 끼워 넣어서 더 말도 안 되게 만든 거예요.
차라리 몽골 갱스터 랩이라고 할 걸 그랬나 봐요.
그것도 분명히 있겠죠? 특히 랩 장르라면요. 사탄의 영향에서 아이들을 구하려면 애들 눈높이에 맞춰 힙해야 하니까요.
https://soundcloud.com/realdesant
누비아는 애플 엔지니어 몇 명이 서버용 CPU를 만들어 팔고 싶어 해서 시작된 회사입니다. 애플 경영진이 내켜 하지 않자 이들은 회사를 나와 직접 창업했고, 이후 퀄컴에 인수되었습니다.
존 터너스가 서버와 AI 용도로 Apple Silicon을 외부에 판매할 수도 있다는 이야기가 나오고 있습니다.
https://www.macrumors.com/2026/09/16/apple-may-return-to-server-market/
그래서 누비아 사람들의 서버 꿈은 지금 어떻게 돼 가고 있나요?
OS X Server를 되살릴 것도 아니고, 퀄컴도 서버 시장에서 그리 대단하지 않잖아요. 이번에 모듈러를 인수한 걸로 좀 달라질지는 몰라도요.
지금까지 벤치마크에서는 누비아 코어가 순정 Arm 코어를 앞서고 있습니다. 퀄컴 입장에서는 꽤 괜찮은 인수로 보입니다.
곧 서버 CPU도 내놓을 걸로 알고 있습니다. 이름은 Dragonfly C1000입니다.
정말 곧이에요. 누비아의 설계는 이미 8 Elite와 X Elite/Plus 시리즈에 들어갔습니다. 8 Gen 3보다 세대가 몇 단계는 앞선 도약이었고, 8 Elite는 이미 애플 M1에 근접한 수준입니다.
저는 저렴한 8 Elite 폰을 구해서 루팅하고, LXC 컨테이너와 임의의 리눅스 ARM64 프로그램을 돌릴 수 있게 해 주는 특수 커널 모듈을 올려 볼 생각입니다. 거기에 서비스 몇 개를 돌리고, 어쩌면 Kubernetes까지 포팅할 수 있을지도 모르고요.
제 요점은 어느 하이퍼스케일러가 그걸 사 가느냐였어요.
메타요.
양산은 2028년부터고요....
그러니까 아직 나오지도 않았고, 시장에서 실력을 증명하지도 못했다는 거네요?
맞습니다, 증명되지 않았어요. 애플은 제품이 없고, 외부 고객에게 팔 거라는 보장도 없습니다. 퀄컴은 아직 출시하지 않았고요.
증명됐다고 말하는 사람은 아무도 없습니다.
적어도 macOS 기반 서버 칩 정도는 검토해 봐야 한다고 생각합니다. 요즘 맥 미니를 랙에 꽂아 서비스하는 업체가 얼마나 많습니까. 대부분 애플 플랫폼에 배포할 코드의 CI 테스트용인데, 애플 사업에 아주 도움이 되는 용도입니다.
저도 그렇게 생각해요. 적어도 가상 macOS 서버 정도는 파는 게 너무 당연한 수순이잖아요.
XServe를 다시 내놓을 때가 됐네요.
소프트웨어를 팔고 싶어 하지 않는다지만, 가끔은 팔아요. 예전에는 더 많이 팔았고요.
그래도 애플이 자사 CPU를 넣은 리눅스 서버를 팔면 돈을 꽤 많이 벌 수 있을 텐데요.
왜 그러고 싶겠어요? 자사 CPU를 넣은 자사 컴퓨터를 파는 쪽이 돈을 훨씬 더 많이 버는데요.
서버 시장은 엄청나게 크고 평균 판매 단가도 훨씬 높습니다. 서버를 만들어서 안 만들 때보다 매출과 이익이 늘어난다면, 애플이 서버를 만드는 건 당연한 선택입니다. 애플이 2029년에 M8 기반 서버를 계획 중이라는 소문도 있고요.
애플은 20년 전 PowerPC 시절(그리고 나중에는 인텔 시절)에 서버 시장을 공략한 적이 있습니다. Xserve는 설계가 정말 잘 된 기계였고 잘 돌아갔습니다. 그리고 네, 리눅스도 돌릴 수 있었습니다(Yellowdog였던 걸로 기억합니다).
하지만 실패했습니다.
그래도 애플은 아주 값진 교훈을 얻었다고 생각합니다. 이 회사는 서버 시장이 어떻게 돌아가는지, 거기에 어떻게 팔아야 하는지를 잘 모릅니다. 프리미엄 제품 스타일은 바닥을 향한 경주나 다름없는 서버 시장에 자리가 없었습니다.
저희 대학원 연구실에도 두 대가 있어서 웹 서버로 썼습니다. 그런데 바로 그게 문제였습니다. 프리미엄으로 설계된 제품인데도 웹 서버로서는 평범한 (더 싼) 델 1U 장비보다 나을 게 없었거든요.
지금은 정말 독보적인 칩이 있으니 달라질 수도 있겠죠. ARM은 PowerPC보다 생태계 전체에 대한 다른 회사들의 지지가 훨씬 큽니다. 와트당 성능과 GPU 설계가 이번에는 더 큰 차이를 만들어 낼 수도 있고요.
그래도 애플이 데이터센터 중심의 서버를 내놓고 판매하는 모습은 상상이 안 됩니다. 다른 회사들이 더 가능성이 있다고 봅니다.
결정적으로 중요한 차이는 지금 애플이 세계 최고 수준의 CPU를 가지고 있다는 점입니다.
애플 CPU가 좋은 건 맞지만, 서버 워크로드 대부분은 소수의 더 좋은 코어보다 128코어 이상의 괴물이 더 유리합니다.
macOS도 서버 OS가 아니고, 리눅스의 M* 지원이 성숙하려면 몇 년은 걸릴 겁니다. 게다가 추론 쪽은 엔비디아가 애플을 몇 년씩 앞서 있고요.
그러니 애플이 기대할 수 있는 건 기껏해야 틈새시장입니다.
애플의 강점 가운데 상당수는 메모리와 연산을 긴밀하게 묶은 완전 통합 설계에서 나옵니다. 그 이점이 핫스왑 메모리 같은 기능이 표준인 서버에서도 그대로 통할지는 좀 의문입니다. 차라리 중간 규모는 건너뛰고 곧장 메인프레임으로 가는 게 어떨까요?
핫스왑 메모리는 일반 서버보다 메인프레임에서 훨씬 흔할 거예요. 보통의 x86 서버는 지금도 DIMM을 교체하려면 전원부터 꺼야 하거든요. 한편 엔비디아와 AMD는 둘 다 최근에 CPU, GPU, RAM을 한 패키지/모듈에 납땜하는, 꽤 애플스러운 서버 프로세서를 내놓았고요.
소문으로는 내부용이라고 합니다. 애플이 일반에 팔지 않는 커스텀 M2나 M3 서버를 이미 갖고 있다는 건 알려진 사실입니다. 출처는 Accidental Tech Podcast 여러 회차입니다. 이와 관련된 기사들을 다루거든요.
내부용이라면 말이 되죠. 하지만 상용 제품으로는 전혀 말이 안 된다고 생각해요.
초대형 AI 워크스테이션이라면 가능할 수도 있겠지만요.
서버요? 글쎄요, 아니에요.
애플이 서버 시장에 신경을 썼다면 TCP 스택에 syncookies를 넣었을 겁니다. Xserve 시절에 진작 넣었어야 했고, 그때는 업스트림 BSD에서 가져오기도 비교적 쉬웠을 텐데요. 그런데 제가 마지막으로 확인했을 때까지도 아직 안 넣었더군요.
애플에는 이런 일이 돌아가게 할 기업 간 거래(B2B) 지원 조직도 없고요.