본문 바로가기
ОКБ (실험 설계국)/Trouble Shooting

2. 리눅스 설치를 위한 스마트폰 루팅(SHV-E275S)

by Rosmary 2019. 7. 21.
728x90
반응형

필자가 현재 중장기 프로젝트 중 하나로 구상하고 있는 것이 있는데, 주제는 공기계 스마트폰에 개인 서버 구축이다. 이를 위해서, 서버 설치를 위한 리눅스(CentOS계열) 설치가 선행되어야 했고, 인터넷의 수많은 블로그에서 설치 방법에 대해 포스팅 해 놓았다. 그러나, 그걸 보고 쉽게 진행했다면, 이 포스팅을 쓰지 않았겠지... 

 

위의 취소선처럼, 필자는 리눅스 설치과정, 더 정확히 말하면, 리눅스 설치를 위해 선행되어야하는 루팅 작업에서 시간을 많이 잡아먹었다. 필자가 소유하고 있는 공기계는 S사의 Ga**** Grand였는데, 해당 기기의 루팅을 제공하는 프로그램 찾기가 하늘의 별따기였기 때문이다. 아무래도, IT 쪽으로 관심이 많은 사람들은 대부분 Ga****의 정통 시리즈를 사용하다가, 새 기기 구입과 동시에 루팅을 진행하는 경우가 많기 때문에, 효도폰의 대명사인 Grand에 대해서는 이런 툴킷이 잘 만들어지지 않은 듯 했다. 

 

더불어서 한글로 작성된 대부분의 블로그도, 리눅스의 설치에 중점을 두고 설명하는 포스팅이 많았기 때문에, 루팅에 대해 한글로 제대로 작성된 페이지는 찾을 수가 없었다. 결국 영문으로 해외 사이트 검색을 시도했고 몇 번의 시도 끝에, 이 Grand 제품의 루팅 방법에 대한 설명을 적어놓은 해외 사이트를 찾아서, 무사히 루팅을 마무리 할 수 있었다. 사실, 해당 기기에 대한 루팅 프로그램이 존재하지 않아서, 그 사이트에서도 100% 루팅이 된다고 장담은 못한다고 명시를 해 놓았던터라, 루팅이 성공적으로 마무리 된 것이 너무나도 기쁘다.

 

 

*** 루팅에 대한 간략한 설명 ***

 

루팅(Rooting)이란, 리눅스 시스템을 관리하는 관리자 계정인 Root를 탈취(Loot)한다는 의미다. 어떻게 보면 영어권 사용자의 유사 발음을 이용한 언어 유희다. 

 

컴퓨터에서 동작하는 일반적인 리눅스 시스템은 해당 컴퓨터 시스템을 관리하는 관리자 계정이 있고, 그 외에 시스템을 사용하는 사용자 계정이 존재한다. 관리자는 사용자의 요구에 따라 시스템 설정을 변경하는 등의 작업을 진행하여, 사용자의 편의를 도모한다.

 

안드로이드 계열의 휴대폰은 근간이 리눅스다. 따라서 안드로이드 폰 역시, 사용자는 1명이지만, 관리자 계정이 분명 존재하고 있다. 그러나, 스마트폰 제작 업체에서는, 컴퓨터에 대해 아무것도 모르는 일반인이 설정을 이것저것 건드려 스마트폰을 사용 불능으로 만드는 상황을 방지하기 위해, root 계정과 시스템 설정은 스마트폰 안쪽에 꽁꽁 숨겨두었다. 하지만, 리눅스 시스템에 대해 잘 아는 사용자라면, root 계정을 자신들이 사용할 수 있도록 만듦으로써, 자신만이 사용할 스마트폰 프로그램을 제작하여 설치하는 등의 튜닝(?)을 진행할 수 있다. 이를 위해, 사용자는 root 계정을 뺏어오려는 시도를 하게 되며, 이 과정을 rooting이라고 하며, rooting에 사용되는 프로그램을 rootkit이라고 한다(이거 정보처리기사에 나왔던 문제다...).

 

루팅은 스마트폰 외에도 일반 서버 해킹 분야에서도 자주 언급되는데, 현재 돌아가는 서버의 대부분이 리눅스를 기반으로 만들어진 것이라 그렇다.

 


 

1. 루팅에 실패 또는 포기한 방법들

 

 

(1) Towelroot 프로그램

 

필자가 처음 루팅에 사용한 프로그램은 Towelroot라는 프로그램이었다. towerlroot.com이라는 사이트에서 제공하는 프로그램인데, Towelroot는 와이파이 신호가 빵빵한 상황에서도 기기로 다운로드가 되지 않았다. 별 수 없이 노트북을 이용해 해당 프로그램 다운로드를 시도했는데, 바이러스가 감지되었다고 윈도우 방화벽에서 다운로드를 금지시켜버렸다(...)

 

시스템을 건드리는 프로그램이라도 다운로드하는 과정에서 이렇게 방화벽에 막히는 경우가 많지는 않을텐데, 필자의 컴퓨터가 완강히 다운로드를 거부하니 뭔가 꺼림칙한 기분이 든다. 괜히 다운받아서 필자의 컴퓨터를 날려버리는 것보다는 다른 경로를 찾는 것이 안전하겠다는 생각이 들어, Towelroot 프로그램을 이용한 루팅은 포기하게 되었다.

 

 

루팅 방법을 한글로 검색하다가, kingoapp이라는 프로그램을 사용한 루팅 방법에 대해 보게 되었다. 사이트 주소는 www.kingoapp.com/android-root/device.htm. 해당 사이트에서는 아래 화면처럼, 핸드폰 기종에 따라 알맞은 루팅 프로그램을 제공하고 있었다.  

 

 

S사 폰이 위치한 영역에서 필자의 공기계를 검색했는데... Grand는 어디에도 보이지 않는다. 혹시나 Grand가 다른 모델명으로도 등록되어 있는지 검색했는데, Grand 모델명은 필자가 알고 있는 것 외에는 검색되지 않는다... 그런다고 다른 모델에 사용되는 프로그램을 다운받아 설치하기에는 위험부담이 너무 컸다. 루팅 과정이 잘못되면 공기계가 순식간에 50만원짜리 벽돌이 되어버리니...

 

 

(2) kingoapp 모바일 루팅 프로그램 다운로드

 

결국 필자는, 기기명으로 루팅 방법을 검색하던 기존의 방법에서 벗어나, 기기의 안드로이드 버전을 명시해 루팅하는 방법에 대해 영문으로 검색해보았다. 그러자, kingoapp 사이트에서 android 4.1.2 Jellybin 버전 루팅 방법에 대해 작성해놓은 사이트가 구글에 나타난다. 아마 필자같은 사람이 지구상에 몇몇은 존재하고 있었는지, 제목도 일반적인 안내 제목과 조금 다르다. "어떻게 안드로이드 4.1.2 젤리빈 기기를 루팅하나요?"

 

 

해당 페이지에는 상세하지는 않지만 대략적인 루팅 프로그램 진행 과정을 안내해 놓았다. 설치 전에 선행되어야 하는 작업(베터리 50% 이상, 전원 On, 인터넷 연결)을 확인하고, 해당 사이트에서 제공하는 kingoroot.apk 프로그램을 직접 기기에 설치/실행하면 된다.

 

프로그램을 설치 전에, Play App Store가 아닌 외부 프로그램을 설치할 수 있도록 기기 설정 내용을 변경한다. 설치가 무사히 되고, 실행을 하자, 오른쪽 화면처럼 루팅 진행률이 나타난다. 

 

그런데, 90%까지는 문제없이 루팅 과정을 잘 수행하던 프로그램이 여기서 버벅거리는 시간이 길어지더니, 루팅에 실패했다는 문구를 결과물로 보여준다. 웹 사이트에서 루팅 과정을 다시 살펴보니, 맨 아랫줄에, 루팅이 100% 된다고 장담하지는 않으니 여러 번 시도해 볼 것을 권한다. 그래서 3번 정도를 더 반복해 보았지만... 다 실패.

 

다시, 사이트에 적힌 내용을 천천히 읽어보니, 만약 위와 같은 방법으로 되지 않을 시, 컴퓨터에 윈도우용 kingoroot 루팅 프로그램을 깔고, 핸드폰을 연결해 루팅을 진행해보라고 조언한다. 

 

 

 

2. SHV-E275S 루팅 성공 방법.

 

마지막 선택지로, kingoroot 윈도우용 프로그램을 컴퓨터에 설치했다. 위의 kingoapp 사이트 우측 상단을 보면, 해당 프로그램을 다운받을 수 있는 버튼이 있는데, 이 버튼을 누르면 다운이 시작된다. 다행히 이 프로그램은 Towelroot처럼 방화벽에 의해 막히지 않고 잘 다운된다. 프로그램을 설치 후 실행하니, 드라이버 설치한다면서 5분 간 시간을 잡아먹는다. 드라이버 설치가 끝나면, 루팅할 기기를 컴퓨터에 USB로 연결하라고 나온다. 연결하고 Rooting 시작 버튼을 누르면, 모바일 프로그램에서 보던 것과 동일한 화면이 컴퓨터에 나타난다. 동시에 컴퓨터와 연결된 스마트폰도 컴퓨터와 연동되어 조금 더 화려한 kingoroot 화면을 보여준다.

 

< 핸드폰 화면상의 진행률이 컴퓨터 상에 나타난 진행율보다 조금 늦다 >

대략 90% 정도 되면, 핸드폰 화면은 원래의 바탕화면으로 돌아가고, 컴퓨터 화면에서 진행률 99%가 찍히면, 해당 기기의 루팅을 계속해서 진행할 것인지 묻는 창이 나타난다(영문이다). yes를 누르면 잠시 뒤 핸드폰 기기가 자동으로 재부팅되면서, 리눅스에서 볼 수 있는 화면을 보여준다.

 

 

루팅 후에도, 화면이 몇 번씩 바뀌는데 잠시 기다리고 있으면, 컴퓨터에 루팅이 성공했는지 실패했는지 결과가 나타난다.

윈도우 프로그램을 이용한 필자의 첫 루팅 시도는 실패였지만, 두 번째 시도에서는 다행스럽게도 성공했다. 

 

< 오래 기다린 보람도 없을 정도로 단순한 결과 출력물이다... >

 

이렇게 리눅스 설치의 선행단계인 루팅 과정이 마무리되었다. 필자의 판단에는, 괜히 기기와 맞지 않는 프로그램이나 보안상 문제가 있을 수 있는 프로그램을 잘못 다운받아 핸드폰을 벽돌로 만드느니, kingoroot의 윈도우용 프로그램을 이용해, 해당 프로그램이 직접 기기를 인식하고 적절한 프로그램을 구동할 수 있도록 만들어 루팅하는 방법이 훨씬 안전하다고 느껴진다. 

 

 

FIN.

반응형

댓글