Apple Silicon 맥북에서는 Arm64v8 아키텍쳐를 택하고 있다.

이후 Apple Silicon에 등장으로 Arm Cpu 또한 많이 증가하는 추세이며 Arm과 X86_64의 대결 구도가 그려지고 있다.

M1맥북을 쓴지 어느덧 10개월 포너블을 하기위해 버렸던 사투와 그 사투끝에 결국 택한 방안을 정리해보고자 한다.

과거 많은 사람들이 Docker를 활용한 포너블 환경을 구축하려 했지만

Qemu에 Ptrace 이슈로 실패했고 Rosetta2_Linux의 출시로 도커의 Rosetta2 에뮬 기능이 추가되었지만 로제타2 에뮬레이션 원리로는 X86_64 디버깅을 정상적으로 할 수 없었다.

결국 최종적으로 남은것은 Rosetta_DEBUGSERVER 인데 이또한 결국 원격으로 진행하는 거와 같아 속도가 보다 느리며 heap영역과 libc 버전을 정상적으로 gdb에서 알 수 없었다.

그렇게 지금까지 시간이 흘러 기존에 Apple Silicon 맥북으로 포너블 환경은 대부분 아래와 같이 구축했다.