Lenovo Miix 2 8 Windows Tablet에 Android-x86 설치하기

BS가 Windows 태블릿을 하나 샀습니다. 중고로 싸게…
그런데 생각보다 Windows 태블릿용 앱이 너무 없었습니다.
그리고 국내 도서관, Ebook 등의 PC 뷰어가 너무 너무 허접해서 태블릿에서 사용할 수 없었습니다.
태블릿을 산 이유가 ebook을 좀 편하게 보려고 한 것이었는데…

Windows 태블릿은 도킹 키보드 + 터치 패드가 아니면 사용할 수 없으니 왠만하면 구매하지 마세요.

본론으로 들어가서
Windows PC에 Android를 설치해서 활용해보기로 했습니다.

준비물

  • WinPE ISO
    기존 Tablet의 파티션을 마음대로 편집하기 위해서는 USB로 부팅을 해야 합니다. 다른 것으로도 할 수 있지만 WinPE 부팅해서 편하게 할 수 있습니다.
    단, Miix 2는 UEFI 부팅만 가능하기 때문에 잘 찾아야 합니다.
  • Rufus
    https://rufus.ie
    ISO 파일을 부팅 USB로 만들기 위해 사용합니다.
  • MiniTool Partition Magic
    https://www.partitionwizard.com/partitionmagic/portable-partition-magic.html
    파티션 편집용 프로그램. Windows의 디스크 관리를 이용해도 되지만 조금 더 편리합니다.
  • BOOTICE
    https://sites.google.com/site/gbrtools/home/software/bootice-portable/bootice-downloads
    UEFI 부팅 엔트리 편집을 위해 사용합니다.
  • Android-x86 ISO
    http://www.android-x86.org
    현재 기준 android-x86_64-8.1-r1.iso 입니다.
    반드시 64비트 이미지를 사용해야 합니다.
    ReleaseNote를 잘 읽어보면, 32비트 이미지에서는 Google Play Service가 정상 작동 하지 않는다고 되어 있습니다.
  • USB 허브
    Miix 2 기준으로는 무조건 별도 전원을 연결하는 제품이어야 합니다. 무전원 USB 허브로는 USB 메모리와 USB 키보드를 사용할 경우 전원 부족으로 인식이 되지 않습니다.
  • USB 키보드
    설치 과정에서 터치 입력과 가상 키보드 사용이 불가능하므로 반드시 키보드를 유선으로 연결해야 합니다.
  • Micro 5핀 -> USB 젠더
    보통 OTG 젠더라고도 부르는 그것이 필요합니다.
  • USB 메모리
    여러 개 있으면 편리합니다. WinPE, Windows (BS는 듀얼 부팅 할 거라서…), Android
    BS는 이렇게 3개로 했습니다.

설치 과정

  1. Rufus + WinPE ISO로 부팅 USB를 만듭니다.
    반드시 GPT + UEFI + FAT32 옵션으로 만들어야 합니다. MBR로 만들거나 하면 Miix 2 에서는 부팅할 수 없습니다.
    그리고 USB에 Partition Magic과 BOOTICE를 넣어 줍니다.

  2. 볼륨 업 버튼을 누른 채로 전원을 켭니다.
    그러면 메뉴 선택이 나오는데 거기서 부트 메뉴를 선택하여 USB로 부팅합니다.

  3. 파티션을 편집합니다.
    BS는 Windows 10 과 Android 듀얼로 사용할 것이라서 총 3개의 파티션으로 만들었습니다.
    편집 후에는 반드시 왼쪽 위 Apply를 눌려야 합니다.
    Miix 2는 eMMC 30GiB 정도를 가지고 있습니다.
    • EFI 시스템 파티션 (FAT32, 할당 단위 크기 4K)
      나중에 파티션 크기를 조정하거나 하려면 디스크 제일 앞에 두는 것이 좋습니다. 용량은 100MB
    • Android 파티션(EXT4)
      10GiB를 할당했습니다.
    • Windows 용 공간
      이건 미할당 공간으로 두었습니다. 약 20GiB
      Windows 10 이라는 PC용 OS는 생각보다 많은 용량을 차지하기 때문에 20GiB는 있어야 합니다. (처음에 10, 다음에 15 했다가 자꾸 용량 문제가 발생해서 결국 20을 줬습니다.)

  4. EFI 시스템 파티션의 ID를 설정합니다.
    3번으로 만들면 그냥 일반 FAT32 파티션이 되는데, EFI System Partition으로 바꿔야 합니다.
    관리자 권한 명령 프롬프트에서 DISKPART 를 실행해서
    LIST DISK 로 eMMC 디스크의 번호를 확인한 후
    SELECT DISK <디스크 번호>로 디스크를 선택하고
    LIST PARTITION 으로 EFI 시스템 파티션용 100MB 공간을 확인한 뒤
    SELECT PARTITION <파티션 번호> 로 해당 파티션을 선택
    SET ID=C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    참고: 기본 데이터 파티션 ID: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
    https://ko.wikipedia.org/wiki/GUID_%ED%8C%8C%ED%8B%B0%EC%85%98_%ED%85%8C%EC%9D%B4%EB%B8%94

  5. Windows 10 을 3에서 준비해둔 미할당 공간에 설치합니다.
    Windows 10 설치용 USB를 넣고 2번과 동일한 방법으로 부팅해서 설치를 합니다.

  6. Android-x86을 설치합니다.
    부팅 방법은 동일합니다. 주의할 점은 GRUB2 EFI를 반드시 설치해야 하며, system 영역을 read-write 가능하게 해야 한다는 것!!! 이유는 아래에서 다시 설명합니다.

  7. Android로 부팅
    설치가 끝나면 다시 볼륨 버튼을 이용해 부트 메뉴에서 Android-x86을 선택해 Android로 부팅합니다.
    그리고 아래 2가지를 반드시 설정해야 합니다.
    • 설정 > Android-x86 options > Enable native bridge 활성화
      앱이 ARM용 native 바이너리를 사용했을 경우, 이 옵션이 활성화 되어 있지 않으면 아주 골치 아픈 상황이 됩니다.
      BS의 경우 비활성화 상태에서 Sudoku 앱 하나 설치했더니 태블릿이 먹통이 되고, 강제 리붓해도 먹통이 되는 현상이…
    • 터미널 앱을 사용해 /system/build.prop 파일에 아래 내용을 추가합니다. (이것 때문에 /system 이 read-write 여야 합니다.)
      sleep.state=none
      그리고 아래 명령으로 해당 내용을 현재 상태에도 바로 반영합니다.
      setprop sleep.state none

  8. 다시 Windows로 부팅하여 BOOTICE로 UEFI 부티 엔트리 순서를 조정합니다.

보충 설명

이렇게 해서 Windows Tablet인 Lenovo Miix 2 8 을 듀얼 OS 태블릿으로 바꿨습니다. 뭐 나쁘지는 않지만 Android는 역시 정식으로 된 펌웨어를 설치한 것이 아니라서 조금 부족함이 있습니다.

위 설명에서 7번 항목의 sleep.state에 대해 추가로 설명 드리겠습니다.
Android-x86 사이트의 ReleaseNote에도 설명이 나온 것 처럼 일부 기기에서 suspend/resume이 안되는 문제가 있습니다. 그래서 Sleep 시키려고 파워 버튼을 누르면 먹통이 되 버립니다. (파워 버튼 아주 오래 누르면 강제로 꺼집니다.)

https://groups.google.com/d/msg/android-x86/_vU8nNLKicI/gMfWTkzABgAJ

이 포스트에 따르면 Cherry-Trail / Bay-Trail CPU를 사용하는 PC에서 나타나는 현상이라고 하고 (물론 다른 CPU도 발생할 수 있음), 해당 CPU를 kernel.org 에서 아직 완전히 작업하지 않았기 때문에 Android의 기반이 되는 Linux 자체가 불안한 모양입니다.

그래서 Android-x86 프로젝트 관리자인 Chih-Wei Huang 알려준 sleep.state=none 을 해서 조금 완화?시키는 것인데…
이렇게 하고 나서 파워 버튼을 누르면 화면은 블랙으로 바뀌는데 BLU(Back Light Unit)이 꺼지지 않는 문제가 있습니다. 그리고 CPU, RAM 모두 잠들지 않는 상태이기 때문에 Sleep 모드보다 배터리 소모가 심합니다. 추가로 알 수 없는 조건이 되면 이것도 의미없게 먹통이 되네요.

추가 참고 사항) 일반 PC에 설치했는데 전원 버튼이 Sleep이 아니라 종료로 동작하면
/system/build.prop 에 아래 내용을 추가
poweroff.doubleclick=1

결론… 집에서 버려질 위기의 Windows PC나 Tablet이 있다면 Android로 바꿔서 수명을 연장하는 방법도 있다. 하지만 이걸 위해서 Windows PC 또는 Tablet을 구매해서는 안된다!!!