-
무지성 구글 포토 업로드 후기 with Google Pixel XL (2016)카테고리 없음 2021. 8. 29. 19:39
와 구글 포토에 사진 백업하던 사람들 다 어떡한대 2021년 6월, 구글 포토 무제한 업로드 중지가 발표되었다.
내가 혹한 문구 나는 여지껏 한 번도 구글 포토를 제대로 써 본 적이 없었다. 그런데 여태까지 출시한 구글 픽셀 스마트폰에서는 구글 포토 무제한 업로드를 계속 지원하겠다고 하니 없던 흥미가 생기는 것이 아닌가. 픽셀에서 찍었는지는 상관 없고 픽셀에서 '업로드만 되면' 원본 화질로 무제한이라니까, 외장하드에 있는 미디어를 백업하기에는 딱 좋다고 생각했다.
방금 이베이에서 아무거나 찾은 Used 픽셀 XL 그렇게 부푼 꿈을 안고 이베이에서 Used 컨디션의 픽셀 1 XL (이하 픽셀)를 구매했는데...
켜지질 않아...
유선 전원을 넣어도, 이틀 밤낮으로 충전을 해도, 바닥에 내던져 봐도 정말 아무런 반응이 없었다.
판매자에게 클레임을 넣었더니 30달러를 돌려준다길래 결국 첫 번째 픽셀은 30달러 받고 분해 후 폐기처리했다.
다른 판매자에게 구매한 두 번째 픽셀은 그래도 켜지긴 했으나...
뭔가 박스부터 좀 허접하다 (오른쪽) 분명 흰색 샀는데 왜 블루임 외관은 흰색인데 내부 property는 파란색, 정품조회 내역도 파란색이다.
거기다 분명히 Factory Unlocked를 샀는데 Verizon 버전을 보내줌 오히려 나빠
그래도 켜지는 게 어디인가 싶어 이번에는 클레임 없이 이 기기를 그대로 쓰기로 했다.
픽셀 내부 저장소를 사용하지 않고 외장하드의 데이터를 업로드하려면 다음과 같은 것들이 필요하다.
- USB-PD 전원, USB 데이터 포트, RJ45를 지원하는 USB-C 허브
안정적인 유선랜과 전원 상시 공급을 위해 필요함. 다나와에서 필요한 포트를 체크하여 아무거나 구매했다. - 작은 스마트폰 쿨러
어떤 것을 사든 엄청나게 뜨거워지는 USB-C 허브를 식히기 위해 필요함. 요즘 중국에서 많이들 떼다 파는 스마트폰용 펠티어 소자 쿨러를 구매했다. - NTFS 지원
외장하드 파일 시스템이 NTFS인데, 검색해본 결과 픽셀은 NTFS나 exFAT를 기본적으로 지원하지 않는다. 커스텀 롬에서 지원하는 빌트인 ntfs-3g를 사용하기로 결정. Paragon사의 앱도 있지만 서드파티 앱의 확장성과 안정성을 믿기에는 내가 좀 쫄보였다. - 충전 최적화 기능
배터리 수명을 늘리기 위해 80%까지만 충전 후 충전을 멈추고, 30%까지 떨어지면 충전을 시작하는 기능이다. 요즘 웬만한 제조사에는 비슷한 기능이 기본적으로 들어가 있는 것으로 알고 있다. 구매한 픽셀이 안 그래도 중고 기계이므로 나중에 험한 꼴을 보지 않기 위해 반드시 필요하다고 생각했다. 이 기능 또한 루팅 + 태스커 등의 자동화 앱으로 충분히 구현할 수 있지만 이왕이면병이 도져서 커스텀 롬에서 지원하기로 결정. - 부트로더 언락
커스텀 롬을 사용하기 위해 필요하다. 원래 이건 Factory Unlock 제품을 사면 fastboot만 가지고 언락이 가능해서 별 신경을 쓰지 않았는데, 이베이 셀러가 Verizon 모델을 보내주는 바람에 약간 귀찮게 되었다. XDA에 Verizon 모델 언락 관련 스레드가 있어서 시도해 봤지만 세네 번 시도해서 모두 실패. 타오바오에서 대충 pixel bl 이딴식으로 검색하면 요즘 보기 힘든 중국 따거가 팀뷰어와 USB Redirector를 사용하여 원격으로 언락해준다. 만원이 조금 안 되게 들었다.
이렇게 준비물을 정리해 놓고 구매한 허브와 쿨러가 도착하는 사이에 픽셀에 올릴 커스텀 롬을 빌드했다. 최근의 커스텀 롬은 판 자체가 매우 좁고 쓰는 사람도 한정되어 있어서 오히려 자료를 찾기가 매우 쉽다. 내가 해야 할 일은 단지 cherry-pick과 명령어 몇 줄 뿐, 나머지는 컴퓨터가 알아서 일해 줄 것이다.
XDA의 픽셀 XL용 ROM 포럼에 들어가 보면 이미 안드로이드 11로 포팅된 PixelExperience와 LineageOS 비공식 버전이 존재한다. 나는 둘 중에서 LineageOS를 사용하기로 했다. LineageOS가 좀 더 대중적이고 체계화가 잘 되어 있으며, 메인테이너가 충분히 믿을 만한 사람이었기 때문이다 (비공식 버전 메인테이너 npjohnson은 LineageOS의 Trusted reviewer이다).
LineageOS의 ntfs-3g 커밋 히스토리 먼저 ntfs-3g는 LineageOS에 기본적으로 탑재되어 있었고, tuxera/ntfs-3g 의 edge 브랜치에 안드로이드 빌드용 커밋이 몇 가지 되어 있는 간단한 구조였다. tuxera의 리포지터리에 최신 커밋이 꽤 많이 올라와 있어서 해당 리포지터리의 edge 브랜치에 rebase했다.
처음 보는 배터리 라이프 세이버 패치셋 충전 최적화 기능은 원래 LineageOS 외의 커스텀 롬에서 사용하는 Smart Charging 기능만 존재했는데, 최근 LineageOS의 Gerrit에 새로운 것이 올라왔다. 잠깐 다른 기종에 적용시켜 보니 충전 중지 알림도 해 주는 등 Smart Charging보다 깔끔했지만 기능이 더 적고 (충전 시작/중지 수준을 사용자가 지정할 수 없다) 아직 코드 리뷰 전인 모양이라 crDroid에서 Smart Charging 관련 커밋을 cherry-pick 했다.
기능 테스트를 해본 결과 전원 연결 후 충전 최적화 마스터 스위치를 한번 껐다 켜 줘야 작동하는 버그를 발견했다. 다른 기종에 적용했을 때는 멀쩡했는데... 이걸 고치면 완벽할 것 같은데... 지금은 뭐 돌아가기만 하면 되겠지 싶어서 그냥 두었다.
다음은 커널 소스에 Realtek 버전의 r8152 드라이버를 병합했다. USB 허브의 유선랜 칩셋은 95%가 r8152/3을 사용하며 내가 구매한 허브도 r8153을 사용한다. 그냥 병합하면 커널 빌드 중에 이 드라이버 관련 오류가 뜨는데, k5.6까지 지원하는 드라이버라서 3.18 커널까지 하나하나 확인하는 데에는 애로사항이 꽃피는 모양이다. 대충 수정했더니 나중에 찾아보니까 이것도 이미 수정된 범용 리포지터리가 있더라. 역시 깃헙이 최고야.
그리고 이 드라이버는 픽셀 기본 롬에서 USB 허브를 테스트하다가 유선랜이 한 번 끊겨서 별 생각 없이 넣었다. 무지성이니까 괜찮다. 유지성 사용자가 되고 싶은 사람들은 아마 변경 전후로 테스트를 충분히 하면 된다.
혹시 롬을 처음 빌드해보는 경우에는 영어가 된다는 가정 하에 LineageOS Wiki 만한 가이드가 없다. 리눅스에서 설치해야 하는 패키지, proprietary blob들을 추출하는 방법까지 모두 잘 나와 있다. 기본적으로 템플릿에서 생성되는 페이지이므로 어느 기기용 가이드를 클릭하든 내용은 다 비슷비슷하다.
아무튼 그 밖에도 다양한 커밋을 cherry-pick 하고 롬 빌드를 끝냈다. 이렇게 롬 빌드를 끝내면 GApps를 준비해야 한다. 픽셀은 안 그래도 system 파티션 용량이 모자라므로 가장 필수적인 패키지만 포함되어 있는 NikGapps의 Core 패키지, 한글 입력을 위한 GBoard 애드온, 그리고 Google 포토 애드온까지만 다운로드했다.
대충 레딧에서 찾은 sideload 사진 (실제로는 성공함) 이제 LineageOS 리커버리에서 adb sideload로 롬과 GApps를 플래싱해야 한다. 근데 이 놈이 개 고물 msm8996 주제에 A/B 디바이스라서 롬을 플래싱할 때마다 슬롯이 바뀐다. 그래서 롬을 플래싱했으면 리커버리를 한 번 재부팅한 뒤에 GApps를 설치해야 한다. 나는 A/B 디바이스를 써본 적이 없어서 처음 플래싱할 때 이걸 몰라서 개고생을 했다 시발
다행히 플래싱한 완성본 롬은 작동이 잘 되어서, 이제 더 고생할 일은 없다. 외장하드에 있는 미디어를 구글 포토로 업로드하기 위한 과정은 다음과 같다.
- USB 허브에 유선랜, USB-PD 전원, 외장하드를 연결한다.
- USB 허브를 픽셀과 연결한다.
- 외부 저장소를 지원하는 파일 탐색기 앱 (Files by Google, Material Files 등) 에서 외장하드를 연다.
- 업로드하고자 하는 파일을 선택한다.
- 공유 -> Google 포토
- Profit!
잘 안보이지만 가운데 USB 허브 밑에 펠티어 쿨러가 있다 며칠 시도해 본 뒤에 느낀 점은 별로 뜨겁지 않다. 위대한 펠티어 쿨러 덕분에 USB 허브는 시원하다 못해 차가울 정도. 픽셀은 업로드 중에 좀 따끈해지기는 해도 막 뜨거워지지는 않는다. 외장하드에서 나는 열이랑 비슷한 정도? 사흘 정도 돌려보다가 소음이 좀 있길래 고무판을 깔아 놓으니 꽤 조용해졌다.
그리고 사진은 한번에 수백 장씩 올라가는데 영상은 한 100GB 업로드 후에 오류가 났다고 꺼진다. 영상 10개를 업로드하다가 6번째 영상에서 오류가 나면 앞에 올렸던 5개는 잘 업로드가 되므로 그렇게 신경이 쓰이지는 않으나, 업로드 20개 걸어놓고 잤는데 일어나 보니까 3개만 올라가고 오류로 종료되어 있으면 좀 킹받는다. 적어 놓은 것보다 시행착오가 훨씬 많았는데 어쨌든 구성해 놓으니까 뿌듯하긴 하다. 픽셀이 자주 급사한다던데 최소한 본전 정도는 찾았으면 좋겠다.
- USB-PD 전원, USB 데이터 포트, RJ45를 지원하는 USB-C 허브