m1에 ubuntu 설치하기

유동헌·2022년 3월 4일
2

Apple Silicon MAC에서 Linux를 사용할 수 있을까?

How to Install Linux on an M1 Mac With Apple Silicon라는 글을 참고하였습니다. 이 글은 약 2021년 6월쯤 작성이 된 글이긴한데, 가상머신을 사용하면 가능하다고 나와있습니다. 저는 VMWare를 사용할 계획입니다. 사실 CentOS를 설치하려고 했습니다만, 설치 과정에서 오류가 발생해 그냥 ubuntu를 설치하기로 합니다.

ARM64 vs x86_64 앱의 사용

Intel 프로세서 아키텍처는 x86_64로 설계되어 있습니다. 반면에 Apple Silicon M1은 arm64으로 설계가 되어 있습니다.

apple은 M1에서 Intel 기반의 앱을 지원하기 위해 Rosetta2라는 에뮬레이터를 만들었습니다. Rosseta2는 백 그라운드에서 작동하며 Apple Silicon에서 사용할 수. 있도록 Intel 기반 앱을 자동으로 변환합니다. 이를 통해 Intel 프로세서 아키텍처로 설계된 앱을 arm을 통해서도 사용할 수 있다고 합니다. 그리고 Rosseta2를 사용한 앱은 놀랍게도 네이트브와 거의 성능 차이가 느껴지지 않습니다.

결과적으로 Apple silicon용으로 새로 빌드한 앱을 사용하는게 가장 좋지만, Intel 기반 앱을 사용해도 큰 이슈는 없다고 합니다.

M1 등장 이후 앱은 총 애플 실리콘 기반, 인텔 기반, 둘 다 기반으로 제공됩니다. 하지만 개발환경은 상황이 조금 다릅니다.

CLI 프로그램도 앱과 동일하게 arm64 빌드를 우선 사용하고 없으면 x86_64 빌드를 사용하면 됩니다. 특정 앱에서 m1용 최신 버전이 있다면 그걸 사용하면 되고 없다면, 구버전만 있다고 한다면, 즉 x86_64만 제공이 된다면 Rosseta2로 변환하여 사용하면 된다는 말입니다.

하지만 문제는 설치하는 과정. 예를 들어 Node.js는 버전 관리 프로그램(nvm, asdf)을 사용하는 것이 일반적인데 arm64 아키텍처는 구버전을 설치할 수 없습니다. 동일한 버전관리 프로그램을 상황에 따라 최신 버전은 arm64를 사용하고 구버전은 x86_64를 사용하는 방법이 필요합니다. 가장 좋은 건 모든 개발환경을 arm64로 통일하는 것이지만 레거시와 의존성 라이브러리 이슈로 한동안 아키텍처를 혼용할 수 밖에 없음

결론은, rosseta2를 사용해 app 빌드할 수 있다고 합니다!

VMWare Fusion에서 가상머신 생성

본격적인 CentOS 리눅스를 설치하기에 앞서, 우선 가상머신에 자원을 얼마나 할당하여 OS를 설치할 것인가에 대해 고민해 봐야 합니다. 설치할 리눅스를 어떤 용도로 활용할 것인가에 따라 선택적으로 구성하시기 바랍니다.

CentOS 공식 문서에 따르면, CentOS8 리눅스의 최소 디스크 할당량은 10GB, 권장량은 20GB 이상으로 제안하고 있습니다. 메모리의 경우 최소/권장량은 제안하고 있지 않지만, 가급적이면 2GB 이상 할당을 추천합니다.

단순 개인이 사용하기 위한 용도라면 1vCPU만 할당해도 충분하다고 합니다.

앱 스토어에서 다운 받을 수 있습니다.

UTM 첫 실행 화면입니다.

세 가상 머신 만들기를 클릭하고 들어온 화면입니다.

옵션의 차이

맥북 m1과 동일한 아키텍처를 사용하는 리눅스를 선택하면 된다고 합니다.

Virtualize를 선택하고 들어온 화면입니다. 리눅스를 선택합니다.

Download Ubuntu Server for ARM를 선택해 이미지를 다운로드합니다. 그리고 Boot ISO Image를 선택합니다. 또한 위의 옵션들은 건드리지 않았습니다. 건드려서 선택을 하게 되면 부팅이 안된다는 이야기가 있어서 저는 선택하지 않았습니다.

이 부분은 잘 모르겠습니다.

이 부분은 설정하지 않았습니다.

이름을 설정할 수 있는 부분입니다.

플레이 버튼을 누르면 설치가 시작됩니다.

리눅스 설치

IP주소를 확인할 수 있습니다.

프록시 설정을 하는 부분입니다.

이제 미러 설정으로 넘어갑니다.

자세한 내용은 모르겠습니다. mirror address가 잘 접속이 되는지 확인하고 넘어갑니다.

![](https://images.velog.io/images/dhhyy/post/78cf33a4-841d-4875-abb4-ff5d1d90b2f0/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7%25202022-03-04%2520%25EC%2598%25A4%25EC%25A0%2584%252011.54.54.png

Storage를 설정하는 부분입니다. 인터넷을 찾아보면 커스텀하여 설정하는 방법이 많이 나와있습니다만, Set up this disk as LVM group으로 설정해도 될 것 같습니다. 왜냐하면 LVM gruop으로 설정을 하면 유동적으로 20기가 바이트가 적용이 되는 것 같습니다.

마지막입니다. 유저 정보를 확인합니다.

이제 다시 부팅합니다.

Boot from next volume을 선택합니다.

이제 잘 설치가 되었습니다. 데스크탑으로 이용하기 위해서 아래 코드를 적어줍니다.

$ sudo apt update
$ sudo apt install tasksel
$ sudo tasksel install ubuntu-desktop

Ubuntu를 재부팅합니다.  
 
$ sudo reboot

CentOS 설치의 어려움

사실 처음에는 CentOS를 설치하려고 했습니다만, 실패하였습니다. 이유는 부팅 옵션을 바꿔줘야 하는데 그 부분이 잘 되질 않았습니다.

Thread: Boot Ubuntu Cloud image on arm64v8 host : 제가 겪었던 오류가 가장 똑같은 오류입니다.

How do I boot into windows? : 이 오류 또한 비슷한 오류입니다. 해결 방법은 나와있지 않습니다.

UEFI System Utilities and Shell Command Mobile Help for HPE ProLiant m510, m710x, and m710x-L Server Blades in HPE Edgeline Systems : efi 설치 파일이 있는 경로로 직접 접근하여 실행하기.

밑의 화면에서 부팅 옵션을 바꾸는 방법, 또한 터미널 환경에서 바꾸는 방법 등을 시도하였지만 실패하였습니다.



Virtualbox UEFI Shell startup.nsh Error Fixed (MacOS, Linux, Windows any OS) : 리눅스 터미널 환경에서 직접 경로를 찾아가는 방법

Ubuntu 20 AArch64 image from gallery can't boot on Apple M1 "BdsDxe: failed to load Boot0001" #2333 : 이 내용에 대한 에러. 해결 방법이 나와있으나 첨부된 영상을 참고하면 무언가가 설치가 되어야 하는데 무반응.

Reference

Mac VMWare Fusion에서 CentOS 8 리눅스 새로 설치하기 : 이 블로그를 보고 작성된 글입니다. 모든 내용을 참고하였습니다.

패키지 관리자 (Apple Silicon/M1) : Apple Silicon에 대한 참고를 하였습니다.

Macbook M1에 Ubuntu ARM64 설치하는 방법 : 설치 과정에 대해 전반적으로 참고하였습니다.

M1 Mac에서 우분투 가상머신 설치 : 설치 과정에 대해 전반적으로 참고하였습니다.

profile
지뢰찾기 개발자

0개의 댓글