본 문서에서는 Chromebook에 ChromeOS가 아닌 다른 OS를 설치하는 방법에 대해 다룹니다.
1. 개요
Chromebook도 결국 x86 하드웨어를 사용하는 시점에서 Windows 컴퓨터와 별 다를 것이 없으며, 이에 따라 자신이 원하는 OS를 그 위에 설치하여 유용할 수 있다.이는 Chromebook/크롬스틱/크롬박스를 불문하고 동일하지만, 그 실현 방법에 있어서는 접근방법이 아키텍처와 로직보드에 탑재된 인텔 제어 칩셋의 세대차에 따라 달라질 수 있으므로 본 문서에서는 그러한 차이를 모두 수렴하여 Chromebook에 타 OS를 설치하고 실사용에 문제가 없는 수준까지 조정하는 그 방법에 대해 설명하고 포팅중 벽돌이 되는 경우 복구하는 방법까지 서술하도록 한다.
2. 시도하기 앞서
크롬북은 기본적으로 일반적인 노트북들과는 컨셉이 다르고 운영체제도 일반적으로 쓰이는 Windows 등이 아닌 ChromeOS를 사용한다. 따라서 부트캠프를 통해서 MacOS와 함께, 또는 MacOS를 밀어내고 Windows를 설치할 수 있는 인텔맥과는 달리 아예 ChromeOS 이외의 운영체제를 사용하는 것은 고려되어 있지 않다. 따라서 크롬북을 사서 써보다 마음에 안들면 윈도 등을 깔아서 쓸 생각이라면 포기하는 것이 시간적으로나 돈으로 보나 가장 유익한 선택이다.또한 크롬북의 경우 일반적인 컴퓨터처럼 Intel/AMD 기반의 프로세서를 사용한 제품도 있으나 ARM 기반의 프로세서를 사용한 제품도 있는데 ARM 기반의 크롬북은 다른 운영체제를 설치하는 방법이 Intel/AMD 크롬북 보다 매우 어렵다는 점도 참조하자.
레딧에 올라온 리스트를 참조하여 내 크롬북 또는 내가 구입할 크롬북에 Windows가 설치 가능한지를 먼저 알아보고 시도하는 것이 좋다. 참고로 위 링크는 지속적으로 업데이트 되며 위 리스트에 없는 모델은 10000% Windows 설치가 불가능한 모델이다. 또 위 리스트에 올라온 제품 중에서는 윈도가 설치는 되나 여러 문제점을 가진 경우도 많다.[1]
크롬북의 크롬OS가 점점 범용컴퓨터로도 쓸만한 기능들이 추가되었다 하더라도 애초에 구글은 크롬북을 갤럭시북·맥북·서피스와 같은 범용컴퓨터로써 설계한게 아니고 지금도 그 방침에는 변함이 없기에 구글에서는 크롬북에 다른 운영체제를 설치하는 쉬운 방법을 제공하지 않을 가능성이 높고 해당 크롬북의 타 운영체제용 드라이버도 제조사 측에서 지원하지 않을 가능성이 높다.[2]
또한 최근의 ChromeOS는 어떠한 방법으로도 셸 스크립트, 특히 noexec 마운트 기능을 호출하는 코드가 포함된 셸 스크립트의 작동을 원천 차단하는 보다 더 강력한, 어쩌면 macOS의 루트리스 기능보다 더 막강한 보안 기능(?)을 도입했는데 이로 인해 기존 크롬북에서 리눅스를 설치하거나 macOS의 맥브류 비슷한 패키지메니저인 ChromeBrew(크롬브류)의 설치가 불가능 해졌다. 단 구글에서도 이 보안 기능이 개발자들에게는 매우 해로운(?) 것임을 인지하여 /usr/local/ 디렉터리 내에서 실행되는 스크립트는 작동이 되도록 했으나 이 경우에도 모든 실행 결과는 /usr/local/ 디렉터리 내에서만 처리되어야 하며 /etc/ 나 /var/, /bin/ 등 타 디렉터리에 결과물을 생성하는 경우는 차단되도록 되어 있다. 따라서 구글이 엄청난 심경의 변화를 가지고 부트캠프와 같은 물건을 내놓지 않는 이상 크롬북에서 다른 운영체제를 설치하는 것은 매우 어렵고 ChromeOS를 개발자모드로 전환하더라도 ChromeOS 자체 리눅스 셸에서 할 수 있는 것은 제한적이다.[3]
이렇게 위에서도 여러차례 강조했듯 크롬북은 macOS와 비슷한 비 Windows운영체제가 아니며 본격적으로 활용이 가능한 범용 리눅스머신도 아니다. 따라서 혹 크롬북을 호기심 차원에서 구입하고 싶다면 이 점을 적극적으로 고려해야 한다.
3. 방법
Chromebook위에 ChromeOS가 아닌 다른 OS를 설치하는 방법에는 크게 2가지 방법이 있다. 이후 편의상 목차에서의 호칭은 1번 방법과 2번 방법으로 통일 하도록 한다.1. ChromeOS의 위에서 가상으로 타 OS를 설치하는 방법
- Crouton 등을 사용하는 방법 [4]
- QEMU에 KVM을 이용해서 가상머신을 만들되 내장 그래픽카드를 가상머신으로 만든 새 운영체제에 직접 가져다 붙여서 사실상 기기위에 네이티브로 설치한 것이나 다름없는 쾌적함과 퍼포먼스를 이끌어 내는 방법 (GPU-Passthrough)
2. Chromebook의 BIOS 혹은 EFI, 아니면 부트로더를 개조해 타 OS를 설치하는 방법
- BIOS는 Chromebook 자체가 기본적으로 Seabios를 사용하고 있으므로 설정을 살짝 바꾸면 크롬OS와 원하는 OS의 멀티부팅이 가능하다[5]
- Mr.Chomebox라는 해외의 Chromebook 파워유저가 각 기종에 맞춰 포팅한 Tianocore의 변형을 Chromebook 내부에서 Mr.Chromebox가 만든 스크립트를 통해 Fastrom으로 직접 Chromebook의 EEPROM에 덮어 씌워버리는 법.
후자에서 메인보드의 EEPROM에 덮어 씌워버릴 경우 그 악명높은 Intel ME가 작동을 한다고 스스로 생각하긴 하는데 사실상 힘을 못쓰게 된다. 참고로 유선랜이 장착된 모델일 경우엔 유선랜의 MAC 주소를 미리 적어두는게 좋다.
추가로 본 문서에서는 Chromebook이 BIOS나 EFI를 개조하다 벽돌이 된 경우 수리하는 방법에 대해서도 서술하고 있다.
3.1. 기종에 따른 가능 여부
아키텍처 | 기기명 | 보드명 |
RW_LEGACY 펌웨어 |
BOOT_STUB 펌웨어 |
FULL ROM 펌웨어 ( legacy) |
FULL ROM 펌웨어 (UEFI) |
|||
샌디브릿지/ 아이비브릿지 | |||||||||
HP Pavilion Chromebook 14 | BUTTERFLY | ✅ | |||||||
Google Chromebook Pixel (2013) | LINK | ✅ | ✅ | ||||||
Samsung Chromebook Series 5 550 | LUMPY | ✅ | |||||||
Acer C710 Chromebook | PARROT | ✅ | |||||||
Lenovo Thinkpad X131e Chromebook | STOUT | ✅ | |||||||
Samsung Chromebox Series 3 | STUMPY | ✅ | ✅[6] | ||||||
하스웰 | |||||||||
HP Chromebook 14 | FALCO | ✅ | ✅ | ||||||
Toshiba Chromebook 13 | LEON | ✅ | ✅ | ||||||
Acer Chromebox CXI | MCCLOUD | ✅ | ✅ | ✅ | |||||
LG Chromebase 22 | MONROE | ✅ | ✅ | ||||||
Asus Chromebox CN60 | PANTHER | ✅ | ✅ | ✅ | |||||
Acer C720/C720P Chromebook | PEPPY | ✅ | ✅ | ||||||
Dell Chromebox 3010 | TRICKY | ✅ | ✅ | ✅ | |||||
Dell Chromebook 11 (2013) | WOLF | ✅ | ✅ | ||||||
HP Chromebox CB1 | ZAKO | ✅ | ✅ | ✅ | |||||
브로드웰 | |||||||||
Acer C740 Chromebook | AURON_PAINE | ✅ | ✅ | ||||||
Acer C910 Chromebook (CB5-571) | AURON_YUNA | ✅ | ✅ | ||||||
Acer Chromebase 24 | BUDDY | ✅ | |||||||
Toshiba Chromebook2 (2015) | GANDOF | ✅ | ✅ | ||||||
Asus Chromebox CN62 | GUADO | ✅ | ✅ | ✅ | |||||
Dell Chromebook 13 7310 | LULU | ✅ | ✅ | ||||||
Acer Chromebox CXI2 | RIKKU | ✅ | ✅ | ✅ | |||||
Google Chromebook Pixel (2015) | SAMUS | ✅ | ✅ | ||||||
Lenovo ThinkCentre Chromebox | TIDUS | ✅ | ✅ | ✅ | |||||
베이트레일 | |||||||||
Acer Chromebook 15 (CB3-531) | BANJO | ✅ | ✅ | ✅ | |||||
Dell Chromebook 11 3120 | CANDY | ✅ | ✅ | ✅ | |||||
Lenovo N20/N20P Chromebook | CLAPPER | ✅ | ✅ | ✅ | |||||
Lenovo N21 Chromebook | ENGUARDE | ✅ | ✅ | ✅ | |||||
Lenovo ThinkPad 11e/Yoga Chromebook | GLIMMER | ✅ | ✅ | ✅ | |||||
Acer Chromebook 11 (CB3-111/131) | GNAWTY | ✅ | ✅ | ✅ | |||||
Haier Chromebook G2 | HELI | ✅ | ✅ | ✅ | |||||
HP Chromebook 11 G3/G4 | KIP | ✅ | ✅ | ✅ | |||||
AOpen Chromebox Commercial | NINJA | ✅ | ✅ | ✅ | |||||
Lenovo Ideapad 100S Chromebook | ORCO | ✅ | ✅ | ✅ | |||||
ASUS Chromebook C300 | QUAWKS | ✅ | ✅ | ✅ | |||||
Asus Chromebook C200 | SQUAWKS | ✅ | ✅ | ✅ | |||||
AOpen Chromebase Commercial | SUMO | ✅ | ✅ | ✅ | |||||
Toshiba Chromebook 2 (2014) | SWANKY | ✅ | ✅ | ✅ | |||||
Samsung Chromebook 2 (XE500C12) | WINKY | ✅ | ✅ | ✅ | |||||
브라스웰 | |||||||||
Acer Chromebook 15 (CB3-532) | BANON | ✅ | ✅ | ||||||
Samsung Chromebook 3 | CELES | ✅ | ✅[7] | ||||||
Acer Chromebook R11 (C738T) | CYAN | ✅ | ✅ | ||||||
Acer Chromebook 14 (CB3-431) | EDGAR | ✅ | ✅ | ||||||
Dell Chromebook 11 3180/3189 | KEFKA | ✅ | ✅ | ||||||
Lenovo N22/N42 Chromebook | REKS | ✅ | ✅ | ||||||
Acer Chromebook 11 N7 (C731) | RELM | ✅ | ✅ | ||||||
HP Chromebook 11 G5 | SETZER | ✅ | ✅ | ||||||
ASUS Chromebook C202SA | TERRA | ✅ | ✅ | ||||||
ASUS Chromebook C300SA/C301SA | TERRA13 | ✅ | ✅ | ||||||
Lenovo ThinkPad 11e/Yoga Chromebook (G3) | ULTIMA | ✅ | ✅ | ||||||
White Box Chromebook | WIZPIG | ✅ | ✅ | ||||||
스카이레이크 | |||||||||
Dell Chromebook 13 3380 | ASUKA | ✅ | ✅ | ||||||
Asus Chromebook C302CA | CAVE | ✅ | ✅ | ||||||
Samsung Chromebook Pro | CAROLINE | ✅ | ✅ | ||||||
HP Chromebook 13 G1 | CHELL | ✅ | ✅ | ||||||
Acer Chromebook 14 for Work | LARS | ✅ | ✅ | ||||||
Acer Chromebook 11 (C771/C771T) | LILI | ✅ | ✅ | ||||||
Lenovo Thinkpad 13 Chromebook | SENTRY | ✅ | ✅ | ||||||
아폴로레이크 | |||||||||
Acer Chromebook 11 (C732) | ASTRONAUT | ✅ | 개발중 | ||||||
White Label Chromebook | BLACKTIP | ✅ | 개발중 | ||||||
Dell Chromebook 11 2-in-1 5190 | NASHER360 | ✅ | 개발중 | ||||||
Dell Chromebook 11 5190 | NASHER | ✅ | 개발중 | ||||||
Acer Chromebook ??? | EPAULETTE | ✅ | 개발중 | ||||||
Lenovo Thinkpad 11e/Yoga 11e (G4) | PYRO | ✅ | 개발중 | ||||||
Acer Chromebook Spin 11 (R751T) | ELECTRO | ✅ | 개발중 | ||||||
Asus Chromebook Flip C213SA | REEF | ✅ | 개발중 | ||||||
Lenovo 500e Chromebook | ROBO360 | ✅ | 개발중 | ||||||
Lenovo 100e Chromebook | ROBO | ✅ | 개발중 | ||||||
Acer Chromebook 15 (CB515-1HT) | SAND | ✅ | 개발중 | ||||||
Acer Chromebook 11 (CB311-8H) | SANTA | ✅ | 개발중 | ||||||
HP Chromebook x360 11 G1 EE | SNAPPY | ✅ | 개발중 | ||||||
카비레이크 | |||||||||
Acer Chromebook 13 | AKALI | ✅ | 개발중 | ||||||
Acer Chromebook Spin 13 | AKALI360 | ✅ | 개발중 | ||||||
Google Pixelbook (2017) | EVE | ✅ |
요청시 가능 |
||||||
HP Chromebox G2 | KENCH | ✅ | ✅ | ||||||
Lenovo Yoga Chromebook C630 | PANTHEON | ✅ | 개발중 | ||||||
Acer Chromebox CXI3 | SION | ✅ | ✅ | ||||||
HP Chromebook X2 | SOROKA | ✅ | 개발중 | ||||||
ASUS Chromebox 3 (CN65) | TEEMO | ✅ | ✅ | ||||||
Dell Inspiron Chromebook 14 (7460) | VAYNE | ✅ | 개발중 | ||||||
CTL Chromebox CBx1 | WUKONG | ✅ | ✅ | ||||||
ViewSonic NMP660 Chromebox | WUKONG | ✅ | ✅ |
3.2. 개조 이후 설치가 가능한 대표적인 OS들
단, 브라스웰 사용시 리눅스를 설치한다면 터치패드 감도도 대단히 형편없고 터치스크린도 지원되지 않음에 주의해야 한다. (GalliumOS에서도 2017년부터 버그 리포트가 꾸준히 되고 있음에도 불구하고 개발자들이 여전히 진전없이 그저 해결해보려고 삽질중이다.) 브라스웰 이전 모델은 모두 문제없이 한방에 잡힌다. Elan사가 Chromebook용으로 납품한 터치스크린들 자체가 오픈소스로 풀린 드라이버 소스들과 호환이 되지 않는다.3.2.1. 윈도우
- 윈도우 XP (혹은 POS Ready): 고전 게임의 구동만큼은 후대의 운영체제보다 낫다. 또 분명 윈도우 2000이나 윈도우 95보다 XP의 경우가 훨씬 Chromebook의 드라이버를 설치하는데 편하기도 하고.
3.2.2. GalliumOS
다운로드Chromebook에서 사용될걸 미리 상정하고 개발된 Xfce를 사용하는 주분투계열 리눅스 배포판이다. 레딧 r/GalliumOS 서브레딧에서 모인 유저들이 커뮤니티를 이뤄서 개발하는 OS로 독자적인 레포지토리를 유지하고 있고 커널안에 현존하는 대다수의 Chromebook을 위한 드라이버가 딸려있다. 기본적으로 OS가 차지하는 공간은 약 4GB이며, 여기서 필요없는 로캘 파일이나 설명서 등을 삭제하고 Xinitrc에 매번 apt autoclean을 돌리도록 설정해두면 최소 2.5GB에 근접할 정도로 용량을 줄일 수 있다.
전원관리는 Xfce4의 전원관리자를 사용하지만 이것도 세부설정을 최적화를 잘 해둔덕에 크롬OS가 11시간을 사용하면 GalliumOS도 약 10.5시간에서 9시간 정도를 사용할 수 있다.
터치패드 드라이버를 아예 처음부터 짰다고 하는데 굉장히 편안하다! Chromebook 자체가 애초에 제조업체에서 저가형으로 하드웨어를 뽑아내서 맥북의 터치패드에 하드웨어적인 측면에서는 상대가 안되겠지만 OS위에서의 부드러움 만큼은 맥북과 동급이다. ChromeOS보다도 훨씬 낫다.
이하 자세한 내용은 항목참조.
3.2.3. OMV
Chromebook을 그냥 침대 밑이나 다락방에 쳐박아놓고 NAS로 사용하고 싶다면 이러한 서버 특화 리눅스 배포판을 설치할 수 있다. 다만 OMV는 데비안 9.0 Stable 위에 몇가지 사전 설치 패키지들과 OpenMediaVault 패키지를 설치한 것에 지나지 않으므로 몇몇 기종의 경우 지원되는 무선랜 드라이버가 OMV만 설치할 경우 잡히지 않을 수 있다.이 경우 상술한 GalliumOS, 혹은 우분투나 주분투등을 설치하고 터미널에서 다음 명령어를 사용해 openmediavault를 설치하면 문제없이 OMV를 Chromebook 위에서 사용할 수 있다.
$ sudo apt-get install openmediavault
3.2.4. Ubuntu 계열
Ubuntu 계열( Ubuntu, Xubuntu, Lubuntu 등)은 브라스웰 기준 터치스크린을 제외하면 거의 모든 드라이버를 단 한방에 잡아준다. 저사양 특성상 Ubuntu보다는 Lubuntu, Xubuntu가 추천된다.다만 Ubuntu 자체가 내가 필요하지도 않는 패키지들을 잔뜩 깔아놓고 용량 배짱을 부리면서 지우려고 하면 의존성 문제를 뿜어내기 때문에 기본적으로 9GB 정도의 공간을 OS가 혼자서 차지하는게 부담스러운 빈약한 eMMC 용량을 지닌 Chromebook이라면 Ubuntu 계열은 피하는게 좋다. 아니면 외장 SSD을 구매하라.
3.2.5. 해킨토시
Chromebook중 i3가 돌아가는 모델은 해킨토시가 상당히 잘 올라가기에 i3 모델들을 위한 강좌들이 널려있다.Chromebook 해킨토시화의 대표 주자인 Acer의 C720은 이미 강좌가 웹상에 파다한 상황.
다만 모델명을 잘 구분하여야 한다. Acer C720-3404는 i3 탑재 모델이고 C720-2848은 Celeron 2955U 탑재 모델이다
4. 2번 방법
2번 방법의 선구자는 사실상 레딧 r/GalliumOS, r/chrultrabook에서 활동하고 있고 GalliumOS 개발자중 한명인 Mr.Chromebox로서, 혼자서 Chromebook 개조의 최첨단을 달리고 있는 자타공인 굇수다(...) 직접 Tianocore를 포팅하는 것도 모자라 Chromebook 전기종의 개조와 GalliumOS 포팅을 목표로 지금도 커뮤니티에서 개발을 주도하고 있다.다음 절차를 따라 해당 개발자가 운영하는 MrChromebox.tech에서 제공하는 커스텀 펌웨어를 설치하여 Windows나 다른 리눅스를 설치할 수 있다.
4.1. 롬 프로텍터 제거
우선 펌웨어를 변경하기 전에 Chromebook 메인보드에 존재하는 롬 프로텍터를 제거해야 한다. Chromebook 제작사가 롬 프로텍터로 채택한 방법은 나사를 끝까지 조이면 그 나사를 통해 양쪽에 전기신호가 연결되도록 설계된 "접점 나사" 장치인데, 아무거나 풀면 안 되고 특정한 나사를 정확히 찾아서 풀어서 빼면 된다.해당 기종의 경우 7번 나사를 풀어야만 로그인 화면에서 쉘 프롬프트를 틀고 나서 펌웨어를 바꿀 수 있다. 문제는 저 나사의 위치가 기종마다 다르다는 것이다.
특정 펌웨어를 설치하기 위해서는 메인보드의 특정한 나사를 골라서 풀어줘야 되는데, 메인보드에 조여진 나사가 한 두 개가 아니라서 뭐가 뭔지 모르는 사람이 처음 보면 절대로 찾을 수 없다. 자세히 보면 기판상의 선 하나가 밖으로(유난히 비효율적으로 멀리) 이어져있는 곳을 찾을 수 있는데 그것을 먼저 빼놓고 시작한다. HP의 경우에는, 펌웨어 롬 쓰기를 막기위해 박아둔 접점 나사가 무려 메인보드를 지탱하는 일반 나사 중 하나다 (...) 이렇게 조악한 경우는 '당연히 이 나사는 아니겠지'라고 생각하도록 설계된 함정으로서, 선이고 나발이고 답 없고 스스로 파악하는 데 한계가 있다. 따라서 반드시 까보기 전에 구글 이미지 검색으로 (기종 이름) chromebook write protector screw 라고 검색해보자. 잘 나와 있다.
나사가 상당히 작으니, 분해전에 작은 시계 드라이버를 꼭 구비하도록 하자. 너무 작은 드라이버나 너무 큰 드라이버로 우악스럽게 힘으로 풀려고 들면 금방 나사의 홈이 해져서 영원히 못 풀게 된다.[8] 컴퓨터 본체 갤러리에서 나사를 풀려다가 야마나서 '영구 귀속'이라는 제목으로 컴갤빌런에 박제되는 사례가 잊을 만하면 가끔 나오는데, 이 나사를 풀려다가 그런 상황이 벌어질 수 있는 것이다.
픽셀북을 비롯해 최근에 나오는 Chromebook들[9]은 쓰기 방지 나사가 따로 없다. 이들은 쓰기 방지 모드의 작동 여부를 배터리 커넥터의 연결 여부에 따라 결정하기 때문에, 배터리를 분리하고 AC 전원으로 부팅하면 다른 펌웨어를 설치할 수 있다. #
4.2. Legacy BIOS
드디어 Chromebook에 윈도우 10 을 설치할 수 있다는 정보가 나왔다! 단 우리가 평소에 쓰는 컴퓨터처럼 쓰려면 인텔 CPU가 탑재된 Chromebook으로 해야겠지만... 자세한 요구 사양 및 방법은 다음의 링크를 참조. http://www.davebennett.tv/install-windows-10-on-chromebook/Seabios등 오픈소스 개발자들이 만든 커스텀 BIOS를 올려서 아예 기계만 Chromebook이고 윈도우 10이나 리눅스 멀티부팅을 할 수도 있다.
Chromebook은 끽해야 16, 32기가 용량의 SSD이므로 사실 윈도우를 설치하려면 SSD를 교체하는게 답이다. 윈도우를 설치한다고 해도 Chromebook의 키보드 드라이버는 MS에서 제공하지 않는다. 윈도우를 설치하면 키보드, 터치패드가 작동하지 않으므로 기본적으로 USB키보드, 마우스가 있어야 하겠다. 관련된 정보는 reddit r/chrultrabook에서 찾아보자. reddit에서 드라이버도 제공하고 있다.
아무튼 MrChromebox에서 제공하는 스크립트를 실행시키면 여러가지 메뉴가 뜬다. 정말로 아무 OS나 설치하고싶다 라면 3번 full rom을 설치해야된다. 중간에 기존 펌웨어를 저장하겠냐고 묻는데 (당연히 저장하는게 좋겠다) 저장하겠다고 하면 .rom 파일 하나가 나온다. 그것을 꼭 보관해놓고 있다가 복구할때 써먹도록 하자. 설치 중간에 uefi, legacy 둘 중 하나를 고르게 되어있는데 uefi로 하면 윈도우/리눅스 듀얼부팅이 되지 않았다. legacy로 해야 자동으로 듀얼부팅이 설정되었다 (grub, lilo 등).
4.3. 펌웨어 복구방법
펌웨어 복구를 위해서는 다시 MrChromebox의 스크립트를 실행시켜야 되는데 이를 위해서 Chromium OS를 이용한다. Chromium OS에서 crosh shell로 들어간 다음 스크립트를 실행시키고, 백업해놨던 원본 펌웨어를 USB로 찾아주면 자동으로 복구해준다. Chromium OS에서는 sudo를 포함한 명령어를 입력하면 password를 요구하는데 배포하는 곳마다 비번이 다르다. Chromium OS의 기본 password는 facepunch이고, neverware cloudready의 비번은 chrome이고, 다른 곳에서 제공하는 것의 비번은 password였다.5. 벽돌 복구법
다음과 같이 생긴 이베이나 알리익스프레스에서 3천원이면 살 수 있는 CH341A라는 저렴한 롬라이터로 Chromebook의 메인보드에 위치한 SOIC8 EEPROM 칩을 직접 물리고 그 위에 Mr.Chromebox가 만든 Tianocore ROM 파일을 덮어 씌우면 정상적으로 Chromebook이 다시 부팅되고 펌웨어 개조가 끝나게 된다.
라즈베리파이 가지고도 GPIO 단자를 이용해서 롬라이팅을 할 수 있긴 한데, 어차피 SOIC8 클립이 필요한건 피차 매한가지이고, 아예 라즈베리파이가 없다면 새로 라즈베리파이를 사는 비용이 비용인 만큼 그냥 CH341A를 사는게 훨씬 나은 선택이다.
참고로 Chromebook의 EEPROM은보드에 납땜이 되어 있으므로 주문할 때 SOIC8 Clip이라는걸 사도록 하자.
이 집게발 같이 생긴 클립으로 납땜된 칩셋을 납을 녹이고 칩셋만 빼서 빼서 라이팅 할 필요 없이 납땜된 채로 집게로 집어서 단자를 접촉시킨 후 롬을 덮어 씌울 수 있다.
이 중 하단에 Winbond라고 적혀진 칩이 SOIC8 규격 EEPROM이다. 사진은 Acer 11N의 메인보드로, 펌웨어 칩이 2개다. 하나는 순전히 내부 제어용이고 다른 하나가 펌웨어인데 이렇게 EEPROM이 여러개인 경우에 아무 생각없이 대충 비슷해 보이는 칩에다 롬라이터 물리고 롬파일을 덮어씌우면 정말 AS 센터 보내야 한다. 이럴때는 그냥 잘 아는 이에게 자문을 구해야 한다.
참고로 EEPROM 자체는 쓰기 수명이 상당히 길어서 몇 만번이고 다시 덮어 쓸 수 있으므로 롬을 씌우던 중 접점불량등으로 롬라이팅이 실패해도 걱정 없이 다시 똑바로 물린 후 위에 덮어 써버리면 된다. 이거 잘못돼서 벽돌이 더욱 답이 없어지는 경우는 잘못된 전압을 인가해서 칩을 태워버리는 경우가 아니고서야 전무하니 걱정하지 말고 부담없이 덮어 씌워버리자.
주의해야 할 점은 브라스웰 같은 보드들에 사용된 몇몇 칩셋들은 3.3v가 아니라 1.8v를 요구 하기 때문에 주문할때 CH341A 보드 위에 장착하는1.8v 어댑터를 시키는 걸 잊지 말자. 자신의 노트북이 3.3v를 쓰는지 1.8v를 쓰는지 확실하지 않으면 노트북을 까고 보드위에 SOIC8 규격으로 생겨먹은 칩의 모델넘버를 사진으로 찍은 후 r/GalliumOS등에 질문을 남기면 Mr.Chromebox가 친절하게 도와줄 것이다.
가끔 1.8v를 요구하는 칩인데도 어댑터를 끼고서는 도저히 보드쪽에서 인식이 안돼서 그냥 3.3v를 직접 인가해버리고 롬을 읽어들였는데도 문제없이 될 때가 있다. 정말 1.8v 어댑터가지고 해도해도 안된다면 최후의 방법으로 시도해보자.
5.1. Mr.Chromebox가 포팅한 tianocore UEFI ROM 파일 구하는 법
2.1 문단에서 자신의 Chromebook에 해당되는 개발코드를 알아 낸 후, 원하는 설치 방식이 UEFI Fullrom 설치인지, Legacy BIOS인지 확인하고본 문단의 맨 밑에 있는 링크 목록중에서 자신의 개발코드와 일치하는 롬의 파일 명을 복사해서 선호하는 설치 방식에 따라 다음 링크의 뒤에 붙혀서 웹 브라우저의 주소창에 치면 자동으로 다운로드가 시작된다.
다음 링크들은 2018-11-26 기준으로 최신이다.
Legacy_BIOS_소스_주소 ="https://www.mrchromebox.tech/files/firmware/rw_legacy/#이부분 이후 큰 따옴표와 함께 지우고 롬의 파일명을 붙혀넣으세요"
UEFI_FULLROM_소스_주소 ="https://www.mrchromebox.tech/files/firmware/full_rom//#이부분 이후 큰 따옴표와 함께 지우고 롬의 파일명을 붙혀넣으세요"
이하는 개발코드에 따른 롬의 파일명들이다.
UEFI Full 롬
#SNB/IVB
coreboot_uefi_butterfly="coreboot_tiano-butterfly-mrchromebox_20180827.rom"
coreboot_uefi_lumpy="coreboot_tiano-lumpy-mrchromebox_20180827.rom"
coreboot_uefi_link="coreboot_tiano-link-mrchromebox_20180827.rom"
coreboot_uefi_parrot="coreboot_tiano-parrot_snb-mrchromebox_20180827.rom"
coreboot_uefi_parrot_ivb="coreboot_tiano-parrot_ivb-mrchromebox_20180827.rom"
coreboot_uefi_stout="coreboot_tiano-stout-mrchromebox_20180827.rom"
coreboot_uefi_stumpy="coreboot_tiano-stumpy-mrchromebox_20180827.rom"
#Haswell
coreboot_uefi_falco="coreboot_tiano-falco-mrchromebox_20180827.rom"
coreboot_uefi_leon="coreboot_tiano-leon-mrchromebox_20180827.rom"
coreboot_uefi_mccloud="coreboot_tiano-mccloud-mrchromebox_20180827.rom"
coreboot_uefi_monroe="coreboot_tiano-monroe-mrchromebox_20180827.rom"
coreboot_uefi_panther="coreboot_tiano-panther-mrchromebox_20180827.rom"
coreboot_uefi_peppy="coreboot_tiano-peppy-mrchromebox_20180827.rom"
coreboot_uefi_peppy_elan="coreboot_tiano-peppy_elan-mrchromebox_20180827.rom"
coreboot_uefi_tricky="coreboot_tiano-tricky-mrchromebox_20180827.rom"
coreboot_uefi_wolf="coreboot_tiano-wolf-mrchromebox_20180827.rom"
coreboot_uefi_zako="coreboot_tiano-zako-mrchromebox_20180827.rom"
#Broadwell
coreboot_uefi_auron_paine="coreboot_tiano-auron_paine-mrchromebox_20180827.rom"
coreboot_uefi_auron_yuna="coreboot_tiano-auron_yuna-mrchromebox_20180827.rom"
coreboot_uefi_gandof="coreboot_tiano-gandof-mrchromebox_20180827.rom"
coreboot_uefi_guado="coreboot_tiano-guado-mrchromebox_20180827.rom"
coreboot_uefi_lulu="coreboot_tiano-lulu-mrchromebox_20180827.rom"
coreboot_uefi_rikku="coreboot_tiano-rikku-mrchromebox_20180827.rom"
coreboot_uefi_samus="coreboot_tiano-samus-mrchromebox_20180827.rom"
coreboot_uefi_tidus="coreboot_tiano-tidus-mrchromebox_20180827.rom"
#Baytrail
coreboot_uefi_banjo="coreboot_tiano-banjo-mrchromebox_20181126.rom"
coreboot_uefi_candy="coreboot_tiano-candy-mrchromebox_20181126.rom"
coreboot_uefi_clapper="coreboot_tiano-clapper-mrchromebox_20181126.rom"
coreboot_uefi_enguarde="coreboot_tiano-enguarde-mrchromebox_20181126.rom"
coreboot_uefi_glimmer="coreboot_tiano-glimmer-mrchromebox_20181126.rom"
coreboot_uefi_gnawty="coreboot_tiano-gnawty-mrchromebox_20181126.rom"
coreboot_uefi_heli="coreboot_tiano-heli-mrchromebox_20181126.rom"
coreboot_uefi_kip="coreboot_tiano-kip-mrchromebox_20181126.rom"
coreboot_uefi_ninja="coreboot_tiano-ninja-mrchromebox_20181126.rom"
coreboot_uefi_orco="coreboot_tiano-orco-mrchromebox_20181126.rom"
coreboot_uefi_quawks="coreboot_tiano-quawks-mrchromebox_20181126.rom"
coreboot_uefi_squawks="coreboot_tiano-squawks-mrchromebox_20181126.rom"
coreboot_uefi_sumo="coreboot_tiano-sumo-mrchromebox_20181126.rom"
coreboot_uefi_swanky="coreboot_tiano-swanky-mrchromebox_20181126.rom"
coreboot_uefi_winky="coreboot_tiano-winky-mrchromebox_20181126.rom"
#Braswell
coreboot_uefi_banon="coreboot_tiano-banon-mrchromebox_20180827.rom"
coreboot_uefi_celes="coreboot_tiano-celes-mrchromebox_20180827.rom"
coreboot_uefi_cyan="coreboot_tiano-cyan-mrchromebox_20180827.rom"
coreboot_uefi_edgar="coreboot_tiano-edgar-mrchromebox_20180827.rom"
coreboot_uefi_kefka="coreboot_tiano-kefka-mrchromebox_20180827.rom"
coreboot_uefi_reks="coreboot_tiano-reks-mrchromebox_20180827.rom"
coreboot_uefi_relm="coreboot_tiano-relm-mrchromebox_20180827.rom"
coreboot_uefi_setzer="coreboot_tiano-setzer-mrchromebox_20180827.rom"
coreboot_uefi_terra="coreboot_tiano-terra-mrchromebox_20180827.rom"
coreboot_uefi_ultima="coreboot_tiano-ultima-mrchromebox_20180827.rom"
coreboot_uefi_wizpig="coreboot_tiano-wizpig-mrchromebox_20180827.rom"
#Skylake
coreboot_uefi_asuka="coreboot_tiano-asuka-mrchromebox_20180827.rom"
coreboot_uefi_caroline="coreboot_tiano-caroline-mrchromebox_20180827.rom"
coreboot_uefi_cave="coreboot_tiano-cave-mrchromebox_20180827.rom"
coreboot_uefi_chell="coreboot_tiano-chell-mrchromebox_20180827.rom"
coreboot_uefi_lars="coreboot_tiano-lars-mrchromebox_20180827.rom"
coreboot_uefi_sentry="coreboot_tiano-sentry-mrchromebox_20180827.rom"
#KabyLake
coreboot_uefi_fizz="coreboot_tiano-fizz-mrchromebox_20180827.rom"
Legacy BIOS 롬
#SNB/IVB
coreboot_stumpy="coreboot_seabios-stumpy-mrchromebox_20180204.rom"
#Haswell
coreboot_mccloud="coreboot_seabios-mccloud-mrchromebox_20180204.rom"
coreboot_panther="coreboot_seabios-panther-mrchromebox_20180204.rom"
coreboot_tricky="coreboot_seabios-tricky-mrchromebox_20180204.rom"
coreboot_zako="coreboot_seabios-zako-mrchromebox_20180204.rom"
#Broadwell
coreboot_guado="coreboot_seabios-guado-mrchromebox_20180204.rom"
coreboot_rikku="coreboot_seabios-rikku-mrchromebox_20180204.rom"
coreboot_tidus="coreboot_seabios-tidus-mrchromebox_20180204.rom"
#RW_LEGACY payloads
seabios_link="seabios-link-mrchromebox_20180912.bin"
seabios_hswbdw_box="seabios-hswbdw_box-mrchromebox_20180912.bin"
seabios_hswbdw_book="seabios-hswbdw_book-mrchromebox_20180912.bin"
seabios_baytrail="seabios-byt-mrchromebox_20180912.bin"
seabios_braswell="seabios-bsw-mrchromebox_20180912.bin"
seabios_skylake="seabios-skl-mrchromebox_20180912.bin"
seabios_apl="seabios-apl-mrchromebox_20180912.bin"
seabios_kbl="seabios-kbl-mrchromebox_20180912.bin"
[1]
예컨데 사운드 관련 기능 작동 안함, USB 포트 인식 불가, 터치스크린 또는 터치패드 미지원, 팬이 있는 모델의 팬 작동 속도가 고정됨 등
[2]
드라이버만 공개하고 지원을 안 할수도 있지만 드라이버를 공개하는 순간 지원을 안할수는 없게 되므로
[3]
ChromeOS 자체 리눅스 셸은 개발자모드가 활성화 된 상태에서만 진입이 가능하며 최신의 ChromeOS에서는 더욱더 확실한 보안을 위해 Ctrl + Alt + T를 눌러 나오는 Crosh 터미널에서는 sudo 명령 등 루트 권한 승격을 위한 어떠한 방법도 통하지 않고 Ctrl + Alt + →(PC 키보드로 치면 F2키에 해당)를 눌러 나오는 풀스크린 터미널에서만 루트 권한을 쓸 수 있게 해놨다. 풀스크린터미널이므로 당연히 인터넷에서 명령어를 복사해서 붙여넣는 것은 안되고 옛날식으로 일일히 보면서 타이핑 해야 하므로 사용법 화면을 띄워둘 스마트폰 또는 서브 디바이스는 필수적이다.)
[4]
ChromeOS의 최신버전에서는 보안정책이 더 강화되어 noexec 권한을 호출하는 모든 셸 스크립트의 작동이 막혔다. 크루톤이나 크롬브류 등의 설치가 불가능 하거나 까다로와졌다.
[5]
현재 시중에 널려있는 대부분의 중저가형 Chromebook은 eMMC 32GB 혹은 그만도 못한 16GB를 사용하고 있으므로 이 방법으로는 크롬OS나 원하는 OS나 둘다 쾌적하게 사용할 수가 없는 지경에 다다를 수 있다.
[6]
윈도우에서는 DisplayPort가 작동하지 않지만, 리눅스에서는 작동한다.
[7]
윈도우즈를 설치한 후
다음 패치를 하여야 합니다.
[8]
저 나사는 굉장히 무른 편이기 때문에 쉽게 닳는 것이다. 드라이버로 돌릴 수 없는 최악의 경우엔 작은 니퍼로 바깥쪽에서 누르고 천천히 돌리면 돌아간다. 물론 이것은 최후의 방법...
[9]
아폴로레이크나
카비레이크 기반 칩셋을 탑재한 Chromebook이라면 여기에 해당될 수도 있다.