이 기사는 애플의 M4 칩에 대한 리눅스 지원을 구축하는 데 직면한 도전 과제를 다루고 있으며, 이 과정이 상당히 어려울 것으로 예상된다고 언급하고 있습니다. 현재 M1 및 M2 칩에 대한 지원을 업스트리밍하는 데 집중하고 있으며, M4에서 m1n1을 부팅하려는 시도는 아키텍처의 상당한 변화를 드러냈습니다.
주요 기술적 문제는 macho 부트 객체의 구성으로, 이제 GL2 모드에서 실행 중인 애플의 SPTM과의 상호작용이 필요합니다. 이는 페이지 테이블을 설정하기 위해 이미 MMU가 활성화된 상태에서 EL2와의 통신을 요구하며, 이 과정은 리눅스와 하이퍼바이저 하에서 리버스 엔지니어링을 위한 XNU 커널 모두와 호환되지 않습니다.
또한, 원시 부트 객체를 구성할 때 시스템은 GL2와 대부분의 애플 전용 확장이 비활성화된 상태로 EL2로 전환됩니다. 이 상태는 리눅스에서는 관리 가능하지만, 하드웨어 리버스 엔지니어링에 필수적인 하이퍼바이저 하에서 XNU를 실행하는 데는 도전 과제가 됩니다. 이 기사는 이 구성이 15.2 이상의 버전에서는 깨진 것으로 보이며, 이는 충분한 테스트 부족 때문일 가능성이 높다고 언급합니다.
전반적으로 이 기사는 M4에 대한 리눅스 지원 개발의 복잡성과 잠재적인 차질을 강조하며, 새로운 하드웨어 아키텍처에 대한 추가 테스트와 적응의 필요성을 강조하고 있습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.