서문
잘 알다시피, ARM64 플랫폼 컴퓨터에서 컴퓨터 운영체제를 실행하면 많은 호환성 문제가 발생합니다. 마이크로소프트의 오랜 노력 덕분에 ARM 아키텍처의 Windows는 점점 더 좋아지고 있으며, x86_64 애플리케이션을 번역 실행해도 능숙하게 처리할 수 있고, 성능 손실도 비교적 낮으며, 더 긴 배터리 사용 시간을 얻을 수 있습니다. 예를 들어 Surface Pro X는 ARM 프로그램만 실행할 때 화면을 켠 상태에서 배터리가 무려 6-7시간이나 지속되지만, 배터리 용량이 약 20% 더 큰 Surface Pro 9 Intel 버전은 절전 모드를 켜지 않으면 3.5시간 또는 그보다 더 짧은 시간만 버틸 수 있습니다. 또한 Pro X는 Pro 9보다 무려 3년이나 먼저 출시되었지만, 일상적인 사용에서 성능 체감은 조금도 뒤처지지 않으며, 오히려 고부하 상태에서는 Pro 9의 팬이 미친 듯이 돌고 시스템이 버벅거리며 성능 발휘가 2020년에 출시된 Surface Pro X 2세대보다도 못한 경우가 있습니다. 그래서 ARM 칩에서 컴퓨터 운영체제를 실행하는 것은 휴대용 기기에 있어서 잠재력이 점점 더 커지고 있습니다.
하지만 현재 시중에 나와 있는 모든 Linux 배포판 중에서 스냅드래곤 칩, 특히 8cx 1세대와 2세대에 적응된 것은 하나도 없습니다. 저도 처음에는 배포판부터 시작하려고 했지만, 일곱여덟 개의 배포판을 부팅해 본 결과 모두 실패했습니다. 거의 모든 자료(중국어, 영어 및 더 많은 언어의 자료 포함)를 찾아봤지만, Surface 및 기타 8cx 장치를 위한 설치 튜토리얼을 작성한 사람이 아무도 없다는 것을 발견했습니다. 이것은 제 실전에 큰 도전이 되었습니다.
그렇다면 Windows ARM 노트북이 이렇게 좋은데, 왜 굳이 Linux를 실행하려고 애를 썼을까요?
이제 악명 높은 위챗(WeChat)을 언급하지 않을 수 없습니다. 위챗은 ARM64 Windows 버전을 제공하지 않습니다. 방금 언급한 배터리 사용 시간은 실행하는 모든 소프트웨어가 ARM64를 지원한다는 전제 하에 나온 것입니다. x86-64 소프트웨어 몇 개만 동시에 실행해도 배터리 사용 시간은 약 4시간으로 줄어들어 1-2시간이 줄어듭니다. 여전히 가치가 없습니다. 그래서 저는 이 머신에 Linux를 설치하기로 결정했습니다.
험난한 과정
원인
먼저, ARM 장치에서 운영체제를 실행하는 것은 그리 어렵지 않습니다. BIOS가 일반 컴퓨터처럼 단순하고, 칩이 적응되어 있으며, 운영체제 커널이 이 머신의 핵심 드라이버를 지원하기만 하면, 기본적으로 ARM64 컴퓨터는 실행될 수 있습니다. 일반적인 Linux 커널은 대부분의 일반적인 오픈 소스 드라이버를 통합하고 있어서, 일반 컴퓨터에 Linux를 설치할 때 드라이버 설치라는 귀찮은 과정이 필요 없는 경우가 많습니다. 임시 부팅에 들어가서 설치를 클릭하고 설치 프로그램이 진행률 표시줄을 끝까지 채우는 것을 기다리면 컴퓨터를 바로 사용할 수 있습니다.
하지만 이건 Surface입니다.
Surface 자체가 일반 컴퓨터와 다를 뿐만 아니라, 터치스크린, 키보드, 스피커 등도 시중에서 흔히 볼 수 있는 플러그 앤 플레이 제품이 아니기 때문에 드라이버를 구하기가 어렵습니다. 게다가 스냅드래곤 8cx2 칩 자체가 거의 모든 Linux 배포판과 호환되지 않으며, 이 컴퓨터의 칩은 원래 8cx2가 아니라 Microsoft SQ2라는 이름으로 마이크로소프트가 개조한 것입니다. 그래서 우리는 고수들이 적응시켜 주기를 기다릴 수밖에 없습니다.
과정
첫째 날, 저는 어렴풋이 배포판부터 시작하려고 했습니다: Ubuntu에서 Debian까지, CentOS에서 deepin까지. 그중 Debian 13의 비자유 하드웨어 버전은 시스템 설치 페이지까지 부팅하는 데 성공했지만, USB와 Surface 키보드, 터치스크린을 사용할 수 없었습니다. 저는 범용 커널만으로는 Surface와 같은 하드웨어에 정상적으로 설치할 수 없다는 것을 깨닫기 시작했습니다.
둘째 날, 저는 linux-surface 프로젝트에 의존하기로 결정했습니다.
하지만 이 프로젝트에는 오해의 소지가 있습니다. 홈페이지의 장치 지원 목록에 Surface Pro X 지원이 명확하게 적혀 있지 않아서(지원되는 모든 장치는 x86 칩 머신으로 표시됨), 처음에는 이 프로젝트를 고려하지 않고 스냅드래곤 8cx 칩으로 부팅할 수 있는 Linux 시스템만 찾고 있었습니다. 프로젝트 홈페이지로 돌아가 보면, 아래쪽에 아주 눈에 띄지 않는 프로젝트가 있습니다: aarch64-arch-mkimg. 이것은 부팅 가능한 이미지(ArchLinuxARM, 처음에 고려했지만 공식적으로 적응되지 않음)로, 라이브 환경의 USB 부팅 이미지에 불과합니다. 놀랍게도, USB에 구우면 디스플레이가 정상이고, USB가 정상이며, Surface 키보드와 Wi-Fi도 정상적으로 작동합니다.
이 이미지가 있으면, 비록 이 이미지를 통해 직접 하드 디스크에 Linux를 설치할 수는 없지만, 적어도 필요한 커널 프로그램을 얻을 수 있습니다.
제 생각은 AI의 지시를 하나씩 따라가며 디스크 파티션과 설치 과정을 완료하는 것이었습니다. 하지만 화면에 표시된 개미만한 글자들이 너무 보기 힘들었고, 한 시간 내내 작업한 후에는 시력이 좋아진 것 같았습니다... 하지만 성공하지 못했고, 시스템이 Linux로 정상 부팅되지 않았습니다.
하지만 저는 잘못된 결정을 내렸습니다: 성공적으로 부팅된 Debian을 연구하기로 한 것입니다. 자세한 설명은 생략하겠습니다. 몇 시간을 또 낭비했습니다...
막다른 길에 다다랐을 때, 갑자기 한 가지 생각이 떠올랐습니다: Wi-Fi에 정상적으로 연결할 수 있다면, 에이전트를 사용하여 SSH로 제 컴퓨터에 연결하고 AI가 작업하게 하면 되지 않을까?
바로 실행에 옮겼습니다. 컴퓨터에서 Mimo Code로 Surface에 연결하고 바로 작업을 시작했습니다(사실 SSH 연결도 체력이 필요한 작업입니다. 실패할 때마다 라이브 환경으로 재부팅하고, Wi-Fi에 연결하고, root로 전환하고, SSH를 활성화해야 했습니다. 매번 눈과 머리와 손가락이 고통스러웠습니다.) 일곱여덟 번 연속으로 재부팅하고 오류가 발생했고, 오후 1시부터 4시까지 계속 작업했습니다.
하지만 저는 순수하게 바보였습니다.
로그인하기 귀찮아서 샤오미 무료 기본 모델을 계속 사용했습니다. 이런 일은 간단한 소형 모델로도 충분하다고 생각했습니다. 하지만 전환점은 오후 4-5시가 AI 사용 피크 시간이라 무료 모델이 매우 느렸고, 결국 mimo에 로그인하여 다시 작업을 시켰습니다. 마지막으로 AI에게 명령을 입력했을 때, 성공했습니다. 시스템이 Linux 명령줄 인터페이스로 정상 부팅되었습니다! 아직 미완성 상태이지만, 이것은 성공의 큰 진전이었습니다.
믿기지 않겠지만, 저는 이 과정을 한 번에 담은 동영상도 저장해 두었습니다. 프로 모델로 전환하자마자 처음에 성공했습니다. 이 이틀 동안 제가 무엇을 하고 있었는지 아십니까? 순전히 스스로를 고문한 것입니다!
셋째 날, 미완성 상태를 꾸미기 시작했습니다. 꾸미는 것은 정말 번거로운 일이었지만, AI의 도움이 없었다면 일주일에서 이 주일은 걸렸을 것입니다. 어려운 점은: 먼저, 이 시스템의 드라이버가 완전하지 않아 Wi-Fi에 연결할 수 없었고, 직접 SSH를 할 수도 없었으며, 가장 이상한 것은 계정과 비밀번호가 없다는 것이었습니다. 그래서 먼저 로그인 문제를 해결해야 했습니다(이런 사소한 일도 AI로 해결할 수 있습니다). 그 후, 어려운 점은 아직 네트워크에 연결할 수 없다는 것입니다. 유선을 꽂아도 소용없었습니다. 이때 이전에 USB 부팅으로 사용했던 USB를 포맷하고, AI가 이전에 다운로드한 유용한 커널이 포함된 이미지를 기반으로 스크립트를 작성하고, 네트워크 도구를 설치하고, openssh를 설치하고, IP 주소를 자동으로 표시하도록 해야 했습니다. 이 단계도 인내심이 필요합니다. 오류를 정면으로 마주해야 합니다. 이후에 핵심 사항을 정리해서 올리겠습니다.
다음 단계는 다시 SSH에 연결하는 것이었습니다. 시간은 다시 오후가 되었습니다. 하지만 적어도 이제 어려운 점은 모두 해결되었습니다. 우리는 계속 손을 놓고 MimoCode가 GNOME(취향에 따라 KDE를 선택할 수도 있지만, 저는 Nyarcher를 적용하고 싶었습니다. ArchLinux를 Nyarch처럼 이차원 감성으로 가득 차게 만드는 패치입니다), WeChat 및 QQ의 Linux ARM64 버전 등 일반적인 소프트웨어를 설치하도록 했습니다. (물론, 이때 Wi-Fi와 블루투스가 가끔 드라이버를 잃을 수 있으므로 해결해야 할 수도 있습니다.) 그리고 이 3일 동안 가장 여유로운 시간이 찾아왔습니다: 차를 마시는 시간. 아닙니다, 그것은 여러분의 이야기이고, 저는 운전면허 1종 시험 영상을 공부해야 했고, 컴퓨터는 여기에 그냥 두었습니다. (아, 수능이 끝난 지 한 달이 지난 것 같은데, 매일 일하는 것 같고 전혀 쉬지 못했습니다!)
여기까지가 Surface에 Linux를 설치하는 일의 끝입니다.
사진과 자세한 튜토리얼은 하편에서 다루겠습니다!