EBook

Tolino vision 2 (톨리노 비전 2, 톨비2) Android 4.4 설치하고 루팅하기

네이버 ebook 카페에 올렸던 글을 그대로 복사해서 남겨둠
https://cafe.naver.com/ebook/500576

리디 페이퍼 프로와 톨리노 비전 2 사용자입니다.
리페프 사용이 많다보니 톨비2의 사용이 많지는 않지만, 어쩌다 하게 된 4.4 킷캣 업데이트 작업의 경험을 기록으로 남깁니다. 요즘은 톨비2를 루팅하는 게시물이 온전하게 남아있는 게 별로 없어서 다른 분들의 글을 참고하여 백업용으로 남겨두려고 합니다.


톨비2가 오래된 리더기라서 안드로이드 젤리빈(4.1~4.3)을 탑재하고 출시된 것으로 알고 있습니다. 그래서 최근 앱들이 설치가 안 됩니다. 최근 앱들의 하위 호환성은 젤리빈 다음 버전인 킷캣(4.4)까지만 지원하는 것 같더군요. 요즘 나오는 앱들은 심지어 그 다음 버전인 롤리팝(5.0~5.1)을 최소 사양으로 요구하고 있습니다. 결론은 구형 이북 리더를 루팅해봤자 최신 앱을 설치하기가 쉽지 않다는 것입니다.


그런데 마침 톨리노 서비스 업체인 도이치 텔레콤에서 펌웨어 업데이트를 12.2까지 올렸더군요. 예전에는 버전이 1.7.x였는데 10.x를 거쳐서 11.2까지 나와 있었고 2019년 3월 말에 12.2가 발표되었습니다. 톨비2도 12.2를 설치할 수 있어서 설치를 했더니 그 뒤로 루팅 상태가 깨져서 동작을 하지 않게 되었습니다. (12.2 업데이트를 설치하려면 순정 런처인 톨리노 앱을 실행하여 설정에서 업데이트를 진행하면 됩니다.) 어떤 분의 글을 보니 12.2에서는 패스트부트 모드 진입이 안 된다고 하시더군요. 


루팅 상태가 깨져서 순정으로 돌아가면 한국에서는 쓰기가 어렵기 때문에 다시 루팅을 시도했습니다. 여러가지 방법들을 시도해봤으나 모두 실패했고, 패스트부트 모드에 진입되지 않아서 루팅을 시작조차 할 수 없었습니다. 그런데 마지막으로 인터넷에서 Dorudoru님의 글을 참고하여 루팅을 시도했는데 성공했습니다. 
https://dorudoru.tistory.com/1132

그 글에 이북 카페에 내|맘|대|로님께서 올려주신 글의 링크가 있었고, 그 글에 첨부파일로  11.2 펌웨어에 호환되는 부트 이미지가 있었습니다.
https://cafe.naver.com/ebook/430640

이 11.2 펌웨어에 대응되는 adb 사용 가능한 부트이미지가 핵심입니다. 이 부트이미지를 이용하면 12.2 상태에서도 패스트부트 모드에 진입 가능하고 adb를 사용할 수 있어서 루팅이 가능합니다.


우선 다음 파일들을 다운로드하면 됩니다. 참고로 파일들은 구글 드라이브에 모아두었으니 필요한 파일을 골라서 받으면 됩니다. 파일들을 모두 다운로드하면 뒤죽박죽되니 딱 필요한 파일만 받는 게 좋습니다.
https://drive.google.com/drive/folders/1k6eKa_KQ_s2UiQLPfwMtem95QUQGuSNJ?usp=sharing
이번에 파일들을 구하기가 어려워서 애를 먹은 경험이 있어서 다른 분들이 충분히 사용하실 수 있도록 가급적 최대한 오랫동안 유지할 예정입니다. (한 10년 후에는 아무도 톨비2를 사용하지 않겠죠?)

준비물
데이터 전송 케이블이 필요합니다. 이북 리더 단말기 대신에 스마트폰과 PC를 연결했을 때 “USB로 미디어 파일 전송 중”이라고 떠야 합니다. “유선 충전”이라고만 뜨면 충전 케이블입니다. 충전 케이블로는 루팅이 불가능합니다. 충전 케이블은 보통 USB 포트에 꽂았을 때 드라이브로 잡히는 포트가 있고, 그렇지 않은 포트가 있을 수 있습니다. 컴퓨터 메인보드마다 다릅니다. 일반적으로는 컴퓨터 후면 USB 포트가 USB 드라이브로 잘 잡히는 경우가 많습니다.


PC에서 사용할 파일
1) fastboot.exe
2) adb.exe
3) AdbWinApi.dll
4) AdbWinUsbApi.dll

PC에 문제가 생기면 필요한 파일
3) AdbDriverInstaller.exe

USB로 톨비2에 복사해둘 파일
4) boot.img
5) eink.apk
6) update.zip

루팅이 끝나면 톨비2에 설치할 파일
7) app 폴더 모두
8) epdblk

파일에 대한 설명 
커스텀 업데이트(update.zip) 파일은 펌웨어 업데이트를 가장한 파일로서 패스트부트(fastboot) 모드에 진입할 수 있게 해줍니다. 11.2나 12.2에 호환되는 커스텀 업데이트 파일을 구할 수가 없어서 여기저기 찾아봤는데 구버전 커스텀 업데이트 파일도 괜찮다고 해서 시도를 해보니 펌웨어 버전과는 상관이 없었습니다. 다만, 구버전 커스텀 업데이트 파일도 구하기가 어려웠습니다. 예전에 받아둔 압축파일에서 찾았는데 제공자분을 못 찾겠습니다. 톨리노 루팅의 선구자인 르호봇님이나 ROuGeCiel님께서 제공해주셨던 파일이 아닐까 싶은데 예전 글을 살펴봐도 파일을 확인할 수가 없습니다.
https://cafe.naver.com/ebook/292421


boot.img 파일은 adb로 연결해서 본격적인 루팅 작업을 할 수 있도록 adb 기능을 활성화한 이미지입니다. 위에서 언급한 것처럼 내|맘|대|로님께서 제공해주신 11.2에 대응되는 부트 이미지입니다. 이 파일이 없으면 루팅을 진행할 수 없습니다.


eink.apk는 런처앱입니다. 전용 톨리노 리더 앱을 대체하는 런처가 되는 셈입니다. 다른 앱을 이용해도 됩니다만 쓸만한 이북 리더용 런처를 찾기가 어렵습니다. 다만, 이 앱은 중국에서 개발된 거라서 약간 찜찜합니다.


작업 1
fastboot.exe와 adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll을 실행이 편한 위치에 복사해둡니다. 

주의사항
이미 루팅이 되어 있어서 굳이 루팅을 할 필요가 없는 경우가 있습니다. 심지어는 공장 초기화를 하더라도 루팅된 상태일 수 있습니다. 윈도우즈의 cmd 창을 실행하여 adb로 연결이 잘 되는지 확인하여(adb devices 명령을 실행하여 장치번호가 잘 노출됨) 잘 연결되어 있다면 이미 루팅되었다고 봐도 됩니다. 작업 2, 3, 4를 건너뛰고 런처앱을 설치하고(adb install eink.apk) 재부팅 후에 작업 5로 넘어가서 서점 앱들을 설치하면 됩니다.


작업 2

톨비2를 USB 케이블로 PC와 연결하여 USB에 파일 복사하듯이 위 4번 5번 6번 파일을 복사해둡니다. USB 연결이 잘 안 되면 PC에서 AdbDriverInstall.exe 파일을 실행하여 USB 드라이버를 설치해야 합니다. 다음 Google Android 페이지에서 다운로드하여 설치할 수 있다고 합니다. https://developer.android.com/studio/run/win-usb?hl=ko
재부팅을 하면 update.zip을 가지고 자동으로 업데이트를 진행합니다. 시간이 좀 걸리는데 프로그레스 바가 점차 차오르면서 업데이트가 수행되고 패스트부트 모드에 진입할 수 있는 준비가 되었습니다.


작업 3
패스트부트 모드에 진입해야 합니다. 패스트부트 모드는 종료 상태에서 전원을 켜거나 재시작할 때 전원키와 백라이트키를 동시에 누르고 있다가 백버튼에 라이트가 잠깐 들어왔다가 꺼집니다. 이러면 패스트부트 모드에 들어갔다고 할 수 있습니다. (물론, 이게 잘 안 되어서 엄청나게 삽질을 합니다.) 패스트부트 모드 진입 방법은 르호봇님의 3번에 자세히 설명이 적혀 있습니다. 
https://cafe.naver.com/ebook/292421


패스트부트 모드에 진입이 잘 되었는지를 확인하려면 아까 다운로드해둔 fastboot.exe를 다음과 같이 실행하면 확인 가능합니다.

fastboot devices

뭔가 화면에 출력된 내용이 있으면 정상적으로 패스트부트 모드에 진입한 것입니다. 아무 내용이 나오지 않으면 패스트부트 모드에 진입하는 방법을 다시 공부하시고 위의 과정 중에서 빠뜨린 게 없는지 확인해보시기 바랍니다. 

fastboot boot boot.img

이 명령을 실행하면 adb가 활성화된 이미지로 부팅을 하게 되어 adb 명령을 사용할 수 있습니다. 

부팅이 완료되면 adb devices 명령으로 장치가 adb로 잘 연결되었는지 확인할 수 있습니다. 

adb devices

마찬가지로 화면에 뭔가 장치번호처럼 보이는 숫자들이 출력되어야 정상적으로 연결된 것입니다. 장치번호처럼 보이는 숫자가 나오지 않는다면 AdbDriverInstaller.exe를 실행하여 드라이버를 설치하시기 바랍니다.

그래도 잘 안 되는 경우가 있는데, 이런 경우에 수동으로 파일을 만들어주어야 합니다. 짱구님의 가이드대로 하시기 바랍니다.
https://cafe.naver.com/ebook/299137

사용자 홈디렉토리(%HOMEPATH%)에 .android 디렉토리를 만들고 그 안에 adb_usb.ini 파일을 만들어서 다음과 같은 내용을 적어줍니다.

%HOMEPATH%\.android\adb_usb.ini 

0x1f85
0x18d1

라고 두 줄을 적어줘야 합니다.

작업 4 
그 다음은 본격적인 루팅 과정인데, 예전에는 르호봇님의 글의 5번부터 8번 중간까지 수동으로 루팅을 했었는데, Dorudoru님의 글을 보니 킹고루팅 프로그램을 사용하면 자동으로 루팅이 실행됩니다. 
https://dorudoru.tistory.com/1132

킹고루팅 프로그램을 설치해서 실행하면 게시물과 앱 화면이 약간 다르긴 하지만, 시키는대로 하면 루팅이 성공적으로 수행됩니다.
https://www.kingoapp.com/

작업 5
필요한 서점 이북 앱을 설치해줍니다. app 폴더에 있습니다. 톨비2와 호환되는 앱을 몇 가지 테스트해둔 게 있으니 설치해서 사용하면 됩니다. (교보, yes24, 알라딘, 리디북스) 그 외에 Alreader, ADM(다운로더), RefreshPie 1.2 등의 앱 몇 가지도 쓸만합니다. 설치는 다음 명령으로 PC에서 실행할 수 있습니다.

adb install 앱파일

앱을 삭제할 때는 런처에서 삭제해주어야 합니다.


작업 6
언제나오늘님과 북극김님께서 제공해주신 RefreshPie 설치와 설정이 필요합니다. 보통 순정 리더기의 화면 리프레시는 5번이나 10번 정도의 터치 이후에 실행되도록 설정되어 있습니다. 그러므로 RefreshPie 설치 후에 위 수치를 참고하여 사용자 취향에 맞도록 임의로 설정하면 됩니다. 개인적으로는 기본 리프레시는 10번 터치에 한 번, 풀 리프레시는 20번 터치에 한 번으로 설정해두고 있습니다. 톨비2가 카르타 패널을 탑재하고 있어서 Regal waveform에 의해 풀리프레시를 자주 하지 않더라도 잔상이 어느 정도 깨끗하게 지워지는 장점이 있기 때문에 너무 자주 리프레시를 할 필요가 없습니다.


RefreshPie는 설치가 좀 어렵습니다. 우선 epdblk 파일을 복사해둬야 합니다. 복사하려면 내장 메모리 파일시스템을 내렸다가 올리는 작업들을 해줘야 합니다. 요즘은 킹고루팅을 이용한 루팅 과정에서 su와 Superuser.apk를 설치해주기 때문에 예전과 달리 su와 Superuser.apk 설치 과정은 필요 없습니다.


중간에 mount하는 게 두 번 있는데, 처음은 쓰기가능하도록 파일시스템을 다시 올려주는 것이고, 그 다음은 작업이 종료된 후에 쓰기불가능하도록 파일시스템을 다시 올려주는 것입니다. (쓰기가 허용되면 시스템용 실행프로그램들이 손상될 수 있고 이러면 당연히 안드로이드 OS가 오동작하거나 런처 앱이나 서점 앱들에 문제가 생기기 때문입니다.)

adb push epdblk /data/local/tmp
adb shell
su
mount -o re,remount /dev/block/mmcblk0p5 /system
busybox cp /data/local/tmp/epdblk /system/bin/
busybox chmod 0755 /system/bin/epdblk
mount -o ro,remount /dev/block/mmcblk0p5 /system
exit
exit

마지막으로 adb install로 RefreshPie 앱을 설치합니다.

adb install RefreshPie1.2.1.apk

마무리
루팅된 톨비2를 재시작하면 런처를 어떤 걸 사용할지 물어봅니다. 당연히 tolino 순정 런처 대신에 eink.apk로 설치한 런처를 선택하고 Always를 눌러줍니다.


문제가 발생하면…
1) 혹시 루팅은 잘 끝났으나, 부팅 중에 영어로 가득한 화면이 나오고 문제가 생긴 것처럼 나오면 전원버튼을 클릭하여 순정 런처로 부팅한 다음에 USB 연결하여 update.zip 파일을 삭제해주면 재부팅했을 때 루팅된 상태로 사용할 수 있습니다.
2) 루팅이 실패하더라도 순정 런처로 부팅이 잘 된다면 언제든 공장초기화를 한 뒤에 다시 루팅을 할 수 있습니다.