안녕하세요? 리눅스환경에 안드로이드 개발 환경을 구축하는 법을 써보도록 하겠습니다.


본 강좌는 리눅스 민트 13 Maya KDE 버전을 기반으로 작성되었습니다. 데비안기반의 리눅스라면 특별히 다른점 없이 진행하시면 되겠습니다.


레드햇 기반의 리눅스는 터미널 명령어가 조금 다릅니다. 이점 유의하시고 진행에 참고하시기 바랍니다.




추천은 블로거에게 힘이 됩니다.

손가락 콕 찍고 시작하겠습니다.


1. 자바 설치


안드로이드 개발이나 테마/기능 작업을 위한 컴파일/디컴파일에 있어서 자바는 필수 입니다.


먼저 리눅스에 기본으로 깔려있는 open JDK를 삭제하고서 Oracle 자바를 설치해야합니다. open JDK를 삭제하기 위해서 다음을 터미널에서 입력합니다.


$ sudo apt-get purge openjdk*


자바를 받아올 PPA를 추가하겠습니다. 온라인상의 배포처를 추가한다고 생각하시면 됩니다.


$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update


혹시라도 ppa를 추가함에 있어서 문제가 생기는 분은 다음 명령어를 입력후에 ppa를 추가해주시기 바랍니다. 자바 인스톨이 무리없이 이루어지시는 분은 그냥 넘어가셔도 됩니다.


$ sudo apt-get install software-properties-common


다음으로 자바를 설치하겠습니다 .6,7,8, 버전중에 필요한 버전을 선택해서 설치가 가능합니다. 아래의 명령어에서 숫자만 바꿔주시면 원하는 버전으로 설치가 가능합니다. 여기서는 8버전을 이용하겠습니다.


$ sudo apt-get install oracle-java8-installer


두가지 묻는 화면이 나오는데 확인/예를 누르시면 됩니다. 이렇게 하면 자바 설치가 끝납니다.


혹시 터미널에서 설치시에 에러가 있으신분은 시냅틱 패키지 관리자를 이용하여 설치하시기 바랍니다. 시냅틱 패키지 관리자를 실행하신후에 검색창에 oracle-java8 이라고 검색하시면 아래와 같이 자바 인스톨러가 나타납니다. 설치체크 해주시고 적용해주세요. 자동으로 추가 설치되는 라이브러리도 설치하세요.



이렇게 하고 적용을 누르시면 설치창이 뜨는데요 여기에서 자세히보기를 눌러서 진행상황을 확인하셔야합니다. 자바 인스톨 확인 메시지를 눌러줘야하니까요. 자세히보기를 누르시면 다음과 같은 화면이 나오는데 역시나 마찬가지로 확인/예를 눌러주세요.



이렇게 하시면 자바 인스톨이 끝납니다.


2. Android SDK ADT Bundle 설치


이제 구글에서 제공하는 개발툴을 설치하여야 합니다. 다음 페이지에서 "Download the SDK ADT Bundle for linux" 버튼을 눌러서 다운받으세요.



약관에 동의하시고 사용하시는 운영체제에 받는 버전으로 다운받아주시기 바랍니다. 그리도 다운받은 압축파일을 적당한 곳에 풀어주세요. 자주 이용하게 될것이므로 폴더이름을 알기 편하게 만들어주세요. 저는 다음 스샷처럼 droid-devel로 만들었습니다.



이렇게 압축을 푸셨으면 eclipse 폴더내의 eclipse와 sdk/tools 폴더의 android 를 한번씩 실행해주세요.


android를 실행하면 각 버전의 api를 설치할 수 있습니다. 필요한 버전을 선택하시고 설치해주시면 되겠습니다.


3. 32bit 라이브러리 설치


터미널을 실행후에 다음 명령어를 입력해주세요


$ sudo apt-get install ia32-libs


시냅틱 패키지 관리자를 이용해서 설치하셔도 상관없습니다.


4. 각종 툴 다운로드 및 실행설정


먼저 apktool을 다운로드 받겠습니다. 다음 링크에서 apktool1.5.2.tar.bz2 와 apktool-install-linux-r05-ibot.tar.bz2 두 파일을 다운로드 받아주세요.



두파일의 압축을 모두 풀고 적당한 폴더에 모아주세요. 3개의 파일이 됩니다.


다음으로 다음 링크에서 smali-1.4.2.jar와 baksmal1.4.2i.jar, smali, baksmali 파일을 다운 받아주세요. (2013년 8월 27일 기준)



4개의 파일 모두 apktool 을 모아둔 폴더에 복사해서 넣어주시기 바랍니다. 그리고 smali-1.4.2.jar는 smali.jar로 baksmali.jar파일은 baksmali.jar로 이름을 변경하여 주세요.


그리고 전 단계에서 설치한 ADT에서 sdk/platform-tools 폴더안의 adb 와 fastboot 파일도 복사해서 위의 7개 파일을 모아둔 폴더에 넣어주세요. 그러면 현재 작업중인 폴더에 9개의 파일이 존재하게 됩니다.


이제 이 파일들을 어떤 경로에서든 실행 가능하도록 바꾸겠습니다. 터미널을 열고 파일이 모여있는 폴더로 진입하세요. 탐색기에서 바로 터미널을 여는 기능이 있는 OS는 바로 열어주시면 됩니다. 그런후에 다음 명령어를 입력해주세요.


$ chown userid:userid *

$ sudo chmod +x *

$ sudo cp * /usr/local/bin


여기서 userid는 리눅스 로그인시 사용되는 아이디 입니다. 제대로 돌아가는지 확인하기 위해서는 smali, bakmali, apktool, adb, fastboot 등을 터미널에서 입력하여서 확인하시면 됩니다.


5. 정리


다운팓은 파일들은 따로 모아두어서 다음에 리눅스를 재설치하거나 문제가 생겼을때 복구용으로 두시면 됩니다. 필요없으신 분은 지우셔도 무방합니다. 


이로서 리눅스 상에서도 이클립스의 사용이 가능해졌습니다. 테마작업을 하시는 분들도 이 방법대로 설정하시면 apk파일 및 dex파일의 컴파일 디컴파일이 가능하니 리눅스상에서도 테마 작업이 가능합니다. 설치한 각 툴에대한 설명은 다른 글에서 찾아뵙겠습니다.


'안드로이드 > 강좌' 카테고리의 다른 글

리눅스에 안드로이드 개발 환경 구축  (0) 2013.08.27
갤럭시 루팅펌웨어 제작  (48) 2013.08.18
리커버리를 이용하여 루팅하는법  (1) 2013.08.10
오딘 사용 방법  (25) 2012.12.28


2013년 8월 25일 수정 사항 : 권한 문제로 인하여 바이너리가 없고 설치할 수 없다고 뜨는 문제를 해결하였습니다. su의 권한을 6755가 아닌 4755로 변경하여 권한을 부여해주시기 바랍니다. 6755로 문제없으신 분들은 6755로 사용하시면 됩니다.


갤럭시 시리즈는 루팅펌웨어를 제작해서 오딘을 해용하여 펌웨어를 올리면 루팅카운트(커스텀 바이너리 카운트)를 올리지않고 루팅이 가능합니다.


루팅펌웨어를 쉽게 구할 수 있으면 다행이지만 그렇지 못한 경우도 있습니다. 그래서 이번에는 루팅펌웨어를 제작하는 법을 포스팅하겠습니다.




추천은 블로거를 힘나게 합니다.

손가락 콕 찍고 시작하겠습니다!


루팅펌웨어는 리눅스 상에서 만들어야 합니다. 가상머신을 통하여 리눅스를 구동하던가 멀티부팅을 이용하여 리눅스를 사용하여야 합니다.


리눅스 운영체제가 없는 분은 다음 링크를 통하여 우분투를 설치하세요.


우분투 13.04 64비트 설치법 : http://crampstory.tistory.com/29


1. 파일 준비


먼저 필요한 파일을 준비하겠습니다. 리눅스 상에서 준비하는 것을 추천드립니다. 복사해오는 수고를 덜 수 있으니까요.


1. ext4fs util : 압축된이미지를 풀고 수정후에 다시 압축해주는 툴입니다. 파일은 첨부해 놓겠습니다. 첨부된 파일은 우분투 13.04 64비트에서 컴파일된 파일입니다. 


ext4fs_util.tar


혹시 직접 컴파일 하실분은 이곳 에서 직접 받아서 컴파일후에 사용하시기 바랍니다. 첨부된 두파일 모두 받아서 각각 압축을 푸신후에 터미널로 각 폴더 진입후에 각각에서 make를 해주세요. 그런후 New버전에서 ext2simg 와 make_ext4fs를 꺼내쓰시고 구버전에서 simg2img를 꺼내서 사용하시면 됩니다.


2. 순정펌웨어 : 본인이 소유한 기기의 순정펌웨어 파일이 필요합니다. 이 파일을 수정하여 루팅펌웨어를 제작합니다. 노트2의 순정팜은 이 블로그에 있지만 다른기기를 소유하신 분들은 직접 구하시기 바랍니다.


3. SuperSu 어플 파일과 su바이너리 : 이 두파일을 순정펌안에 넣을 것입니다. 첨부된 파일은 SuperSu 1.51버전의 파일입니다.


supersu.tar


역시 마찬가지로 직접 구하실 분은 이곳 에서 직접 받으신후에 system/app/Superuser.apk 파일과 system/xbin/su 파일을 따로 빼두세요. CWM / TWRP / MobileODIN installable ZIP 이라고 써있는 부분에서 다운 받으시면 됩니다.


다음 스크린샷 처럼 받으신 파일은 펌웨어를 제외하고는 적당한 곳에 압축을 풀어주세요.



저는 내폴더안에 firmware폴더와 working폴더를 만들었습니다. 그리고 working 폴더안에 system폴더도 하나 만들어주세요.


순정펌웨어 : 내폴더/firmware/                    (펌웨어 이름은 외우기 쉽도록 간단하게 바꿔주세요)

Superuser.apk , su : 내폴더/working/

ext4fs util : 내폴더/working/util


이렇게 폴더를 정해서 넣었습니다. 터미널에서 폴더사이를 이동할 것이기 때문에 각 경로를 기억해주세요. 여기서는 펌웨어이름을 E250SMF6.tar 로 설정하였습니다.


2. 권한 획득 및 util 설치


앞으로의 작업은 root권한이 필요한 작업입니다. 리눅스의 root권한을 얻어 보도록 하겠습니다.


먼저 윈도우 키를 눌러서 검색창을 띄어주세요. 그리고 terminal을 검색하시기 바랍니다. ter만 쳐도 맨 앞에 나타납니다.


터미널을 눌러서 실행하셔도 되고 옆에 가젯바에 넣으셔도 됩니다.


터미널을 실행하시고 다음 명령어를 쳐주세요. 앞으로 나올 명령어는 대문자 소문자 확실하게 구분해주셔야 합니다.


  sudo passwd


그러면 처음에 사용자 패스워드를 묻습니다. 로그인할때 혹은 설치시에 설정한 암호를 넣어주세요.


그런후에 UNIX 패스워드를 묻습니다. 원하는 패스워드를 입력하세요. 화면상에는 나타나지 않지만 입력이 되고 있는 것입니다.


재확인 패스워드도 똑같이 입력해주세요. 그런 후에 다음 명형어를 쳐주세요.


  su 


그러면 패스워드를 입력하라고 합니다. 위에서 설정한 패스워드를 입력하시면 루트 권한을 얻습니다. 다음 스크린샷처럼 커서앞에 #이 나타나야합니다.



루트권한을 획득했으니 util파일을 bin폴더로 옮겨서 어디서나 실행이 가능하도록 하겠습니다. 다음 명령어를 입력해주세요.


  cd working/util

  cp * /bin

  cd ..

  cd ..


3가지 유틸이 있는 폴더에 들어가서 3개의 파일을 /bin 폴더로 복사해넣는 명령어입니다. 폴더명이 다르다면 설정한 폴더를 입력하세요. 복사한후에 내폴더로 다시 돌아오는 명령어까지 있습니다. 특별한 결과는 나타나지 않습니다.


3. 루팅펌 제작


이제 펌웨어파일의 압축을 풀고 우리가 필요한 system.img 파일을 작업 공간으로 옮겨보겠습니다.


지금까지의 과정을 그대로 따라오셨다면 터미널창에 root@~~~~~:/home/(사용자)# 이런식으로 나타나 있을 것입니다.이 상태에서 다음 명령어를 입력하여 주세요.


  cd firmware

  tar xvf E250SMF6.tar

  cd ..


그러면 펌웨어 폴더에 내용물의 압축이 풀어져서 나타납니다. 압축이 다 풀어지면 탐색기를 통하여 확인하실 수 있습니다. 그중에서 system.img파일을 working폴더로 옮겨주세요.



위 스크린샷은 압축을 풀어서 나온 system.img를 working폴더로 옮겨놓은 모습입니다.


이제 본격적으로 파일 수정을 해보겠습니다. 일단 sparse 이미지를 non-sparse이미지로 바꿀것입니다. 마운트가능한 이미지로 바꾸는 작업입니다.


  cd working

  simg2img system.img system.ext4


명령어 실행 후에 성공했다는 멘트가 출력되고 탐색기를 통해서 보시면 working폴더에 system.ext4파일이 하나 생성됩니다. 그러면 이제 system.img는 지워 주세요. 나중에 다시 이미지를 만들때 겹치게 되므로 헷갈리지 않도록 하기 위함입니다.



이제 non-sparse이미지의 크기를 확인해야 합니다. 나중에 리팩할때 이 이미지의 크기를 입력해야 합니다. 탐색기에서 system.ext4파이을 오른쪽 클릭하여 속성을 눌러주세요. 그러면 파일크기가 포함된 정보를 담고 있는 창이 나타납니다. 그리고 계산기를 준비해주세요. 그런후에 다음과 같은 계산을 합니다.



바이트 단위로 나타난 크기를 입력하신후에 1024로 두번을 나누어 주시면 됩니다. 노트2의 경우는 딱 2400이 나옵니다. 이숫자를 기억하세요.


자 이제 다시 터미널로 돌아와서 많은 명령어를 입력하겠습니다.


  mount -o loop -t ext4 system.ext4 system

  cp -va Superuser.apk system/app/Superuser.apk

  cp -va su system/xbin/su

  chmod 644 system/app/Superuser.apk

  chmod 6755 system/xbin/su

  chown root.root system/app/Superuser.apk

  chown root.root system/xbin/su

  make_ext4fs -s -l 2400M -a system system.img system/

  umount system

  cd ..


수정가능하도록 이미지를 마운트한 후에 필요한 파일들을 복사하고 제기능을 하도록 권한 및 소유권을 바꾸어 준 것입니다.


혹시 루팅펌 완성후에 su 바이너리 문제를 격으시는 분은 chmod 6755 system/xbin/su 대신에 chmod 4755 system/xbin/su 로 바꾸어서 권한을 주시기 바랍니다.


make_ext4fs는 마운트되어있는 내용을 이미지화하는 명령입니다.


-s : sparse 이미지로 변경

-l 2400M : 이미지 사이즈 지정

-a system : 안드로이드 상에서 이 이미지가 마운트되는 곳

system.img : 변환될 이미지 이름

system/ : 리눅스에 마운트 되어있는 이미지화할 폴더


노트2가 아니라면 2400M이 아닐 수도 있습니다. 위에서 system.ext4 이미지의 크기를 계산 하였을때 나온 숫자에 M만 붙이시면 됩니다.



이제 system.ext4는 없어도 되는 파일이므로 지우셔도 무방합니다. 새로 생성된 system.img파일을 firmware폴더로 옮겨주세요.


그러면 이렇게 펌웨어 파일을 구성하고 있는 파일들이 다시 한군데에 모이게 됩니다.



이제 마지막으로 파일들을 하나로 압축하여 오딘에서 플래싱이 가능한 파일로 만들겠습니다.


  cd firmware

  tar cvf Rooted-E250SMF6.tar boot.img cache.img hidden.img modem.bin recovery.img sboot.bin system.img



이제 펌웨어 폴더에 새로운 펌웨어 파일이 생긴것을 확인하실 수 있습니다. 이제 이파일을 윈도우가 있는 하드로 복사해서 넣기만하면 제작 완료 입니다.



리눅스에서 밖으로 나와있는 파일은 지우셔도 상관없습니다. 작업한 폴더들 보시면서 필요없는 파일 지우고 옮기고 하신후에 재부팅해서 윈도우로 진입하시고 오딘으로 루팅펌을 입히시면 되겠습니다.


긴글 읽어 주셔서 감사합니다!


'안드로이드 > 강좌' 카테고리의 다른 글

리눅스에 안드로이드 개발 환경 구축  (0) 2013.08.27
갤럭시 루팅펌웨어 제작  (48) 2013.08.18
리커버리를 이용하여 루팅하는법  (1) 2013.08.10
오딘 사용 방법  (25) 2012.12.28
  1. 이전 댓글 더보기
  2. 아데놈 2014.01.20 17:21 신고

    안녕하세요
    루팅펌이 꼭 좀 필요해서 제작해보려고 합니다
    skt e330s 갤럭시S4 LTE-A 입니다
    최신버젼이 ML2(안드로이드4.3)까지 나와있고 이걸로 제작하고 싶은데요
    우분투까지는 설치해놓았습니다
    위의 방법대로 따라하면 되는건지 아니면 4.3은 좀 다른방법인지 가르침을 부탁드립니다.
    녹스워런티를 우회하고자 하여 부트로더를 삭제하고 올리고 싶습니다.
    방법 좀 부탁드립니다.

    • 크램프 2014.01.20 22:08 신고

      4.3의 경우 약간 다릅니다. 녹스 삭제도 하셔야하구요,
      최신 버전의 supersu의 경우 데몬을 통한 권한을 확득하기때문에 넣어줘야 할 파일이 몇개 더 있습니다.
      자세한 것은 supersu 리커버리 설치용 스크립트를 열어보시면 알수 있습니다.
      조만간 4.3용 가이드를 제작할 예정이니 하다가 잘 안되시면 질문 남겨주시거나 가이드를 기다려주세요.

  3. ㅡ수ㅡ 2014.01.29 11:23 신고

    국내 발매된 갤럭시 액티브(4.2.2)로 강좌를 따라하고있는데 su를 6755, 4755 둘다 테스트 해도 바이너리가 없고 설치할 수 없다고 뜨네요. 우분투 12.04로 제작중입니다. supersu최신버전(1.91)을 구해서 해보려니 윗 대댓글에 말씀하신 것 처럼 몇개를 더 넣으셔야한대서 어떤걸 넣어야 모르겠네요;
    스크립트를 열어봐도 당최 이해를 하기 어려워서 어떤 파일들을 어떻게 넣어야하는지 설명해주실 수 있나요?

    • 크램프 2014.01.29 19:57 신고

      파일의 위치는 다음과 같습니다.

      /system/xbin/daemonsu
      /system/xbin/su
      /system/bin/.ext/.su

      위 세파일은 arm 폴더의 su를 이용하시기 바랍니다.

      /system/app/Superuser.apk
      /system/etc/install-recovery.sh

      퍼미션은 다음과 같습니다.

      0777 /system/bin/.ext
      06755 /system/bin/.ext/.su
      06755 /system/xbin/su
      0755 /system/xbin/daemonsu
      0755 /system/etc/install-recovery.sh
      0644 /system/app/Superuser.apk

      권한은 들어갈 폴더에 있는 다른 파일들과 같은 권한을 주시면 됩니다.

    • ㅡ수ㅡ 2014.01.30 02:38 신고

      감사합니다!! ㅠㅠ
      설 연휴 잘 보내세요!!

  4. wooty9 2014.02.08 00:54 신고

    갤럭시S4 의 system.img 가지고 위에 나온데로 하는 중인데 변환 과정에서 막혔습니다.
    허가 거부 라고 나오는데 어떻게 해야 할까요??

    root@wooty9-virtual-machine:/home/wooty9/working/util# cp * /bin
    root@wooty9-virtual-machine:/home/wooty9/working/util# cd ..
    root@wooty9-virtual-machine:/home/wooty9/working# simg2img system.img system.ext4
    bash: /bin/simg2img: 허가 거부

    • 크램프 2014.02.08 03:23 신고

      simg2img 파일의 소유자 및 실행 권한 설정이 안된걸로 보입니다. chown명령어로 소유자를 로그인 계정명으로 변경하시고 su권한이 없는 터미널에서 실행해보시거나 root로 소유자를 바꾸시고 실행권한을 주고 다시 한번 해보시기 바랍니다.

      chown id:id *

      id는 로그인 계정명

      chnod +x *

      이 두 명령어를 실행하시고서 cp * /bin을 실행해보세요

  5. 안녕하세요 2014.02.08 03:02 신고

    4.4.2 노트3 킷캣 루팅펌을 만들고싶어서 여기저기 돌아다니는데요.. 이 루팅펌을 만들때 통신사 앱이라던지 추노마크 삭제라던지 아이콘 교체라던지 이런것도 가능할까요??

    아 그리고 한가지더궁금한게있는데.. 그 갤럭시들 상단바 번인방지한답시고 삼성이 상단바 아이콘들 일정시간 되면 잠금해제 할때마다 자꾸 왔다갔다 거리는게 있는데 이거 어디서 고쳐야 하는지 알고계신가요??ㅠ

    • 크램프 2014.02.08 03:25 신고

      기본앱 삭제는 루트 권한으로 마운트된 폴더에서 삭제하시면 됩니다.

      추노삭제나 아이콘 교체는 파일을 뽑아서 디컴파일 하셔서 하나하나 수정하셔서 다시 추가하시면 됩니다. 별도의 과정이 필요합니다.

      상단아이콘 이동 현상에 대해서는 정확히 아는 바가 없습니다.

  6. Souleater 2014.02.11 18:55 신고

    저 갤3 3G의 경우 4.3이라도 그냥 4.2.2식으로 루팅펌웨어를 제작해도 될까요? KNOX가 없으니 그대로 해보고 싶은데 안될까요?

  7. 음.. 2014.06.01 17:17 신고

    make_ext4fs, simg2img 할 때 계속 exec 구문오류라고 뜨네요.
    왜 이럴까요? ㅜㅜ;

  8. snow 2014.06.04 18:41 신고

    root@Snow:/home/snow/working# make_ext4fs -s -l 1800M -a system system.img system/
    can't set android permissions - built without android support
    make_ext4fs [ -l <len> ] [ -j <journal size> ] [ -b <block_size> ]
    [ -g <blocks per group> ] [ -i <inodes> ] [ -I <inode size> ]
    [ -L <label> ] [ -f ] [ -a <android mountpoint> ]
    [ -S file_contexts ]
    [ -z | -s ] [ -w ] [ -c ] [ -J ] [ -v ]
    이렇게 나와서 안되는데 어떻게 해야 할까요

  9. 도움좀!! 2014.06.06 06:19 신고

    먼저 감사합니다.

    JB 4.3까지는 이 방법으로 필요없는 앱 삭제된 펌 만들어서
    잘쓰고 있었는데
    킷켓 4.4는 왜 안될까요?

    하얀여우님이 올려주신 deodex로 하고 있는데
    T 로고만 무한돌고 있습니다
    앱 설치된 폴더도
    app 랑 priv-app 로 나눠져 있던뎅...

    노트2 사용하고 있습니다

    도와주세요 ㅠㅠ

  10. 박성수 2014.06.07 23:09 신고

    해외판 노트 8.0 (GT-N5110) 을 사용하고 있습니다.
    지난 5월에 펌웨어가 4.4.2로 업그레이드 되어 Odin을 통해 플래슁할 수 있는 롬을 만들고 싶은데요, 업그레이드된 펌웨어에 KNOX가 추가되었다고 합니다.

    사실 그동안의 롬 업그레이드 후 루팅한 이유는, 쓸데없이 설치되어 있는 기본 어플을 삭제하기 위해서였는데, KNOX 탑재 이후에는 루팅할 경우에 녹스카운트가 증가하는 것으로 알려지고 있습니다.

    그래서 새로운 펌웨어 업그레이드 전에 필요없는 어플과 (가능하다면) KNOX를 제거한 펌웨어를 만들어 Odin으로 플래슁하려고 합니다. 다만, 님의 강좌를 따라서 하되, 루팅어플은 설치하지 않고 단순히 기본어플과 KNOX를 제거하고자 하였습니다.

    주분투 Xubuntu 14.04에서 system.ext4 마운트까지는 잘 되었는데, 마운트된 폴더에서 기본 어플을 삭제하던 중에, 파일관리자에서 삭제가 안되네요. 아마도 권한 문제인 듯 싶은데, 이를 해결하는 방법이나 기타 참고가 될만한 강좌가 있을까요?
    또한 기본어플 폴더에 보니 녹스관련 어플이 있던데, 이 어플들을 삭제하는 것으로 KNOX의 탑재를 방지할 수 있나요?
    잘 찾아보면 있을까도 싶은데, 아무리 검색해 봐도 "공식 펌웨어에서 기본어플과 KNOX를 제거하는 방법"은 찾을 수가 없네요.

    번거로우시겠지만, 해결책을 알려 주시면 고맙겠습니다. 수고하세요.

  11. 루팅초보자 2014.06.08 09:38 신고

    저거 주실수잇나요 제겐 너무어럽네요ㅠ

    qweqwe411@naver.com
    로 보내주시면 정말감사하겠습니다.

  12. paper3875 2014.08.10 17:35 신고

    아.. cp *bin을 하니 cp *bin 이 누락되었습니다. 라고뜨네요 제데로 다했는데 왜이럴까요

  13. 크램프 2014.08.12 15:32 신고

    cp * /bin 입니다

  14. mkco5162 2014.08.17 19:15 신고

    /system/xbin/daemonsu
    /system/xbin/su
    /system/bin/.ext/.su

    위 세파일은 arm 폴더의 su를 이용하시기 바랍니다.

    /system/app/Superuser.apk
    /system/etc/install-recovery.sh

    퍼미션은 다음과 같습니다.

    0777 /system/bin/.ext
    06755 /system/bin/.ext/.su
    06755 /system/xbin/su
    0755 /system/xbin/daemonsu
    0755 /system/etc/install-recovery.sh
    0644 /system/app/Superuser.apk

    권한은 들어갈 폴더에 있는 다른 파일들과 같은 권한을 주시면 됩니다.
    ============================================
    올리신것중에 install-recovery.sh 이 파일은 어느걸 써야하나요??
    혹시 있으시다면 mkco5162@naver.com 으로 부탁드립니다 ㅠㅠ

  15. 닝겐 2014.09.05 22:15 신고

    오...simg2img 하나면 다 해결되는군요.......
    나머지는 각자 알아서 하시면 될거고ㅋ
    저런 툴이 안드로이드 SDK에 있었다니 ㄷ

  16. 닝겐 2014.09.05 23:57 신고

    그리고 윈도로 재부팅하실 필요 없습니다.
    그냥

    root@localhost:~/firmware# apt-get install heimdall-flash
    (....)
    root@localhost:~/firmware# heimdall flash --RADIO-VIA VIA_modem.bin --CACHE cache.img --RADIO modem.bin --BOOTLOADER sboot.bin --SYSTEM system.img --BOOT boot.img --HIDDEN hidden.img --RECOVERY recovery.img

    이렇게 보이게 쳐주시면 됩니다.

    • 닝겐 2014.09.05 23:57 신고

      heimdall은 리눅스 자체 펌웨어 플래시 프로그램인데, Odin과 동격으로 사용하실 수 있습니다.

  17. 닝겐 2014.09.06 00:02 신고

    su 명령어 치실 필요 없습니다.
    그냥 sudo -s 치시고 들어가시면 됩니다.
    USB 자체로 부팅한 상태로도 플래시가 가능하니 (단, System Settings(또는 Preferences)->Software & updates->Community-maintained free and open-source software(universe) 활성화를 해야 합니다) 참고하세요.

  18. 명무 2014.09.09 17:46 신고

    근데 mount -o ~~하는거 쳐봤는데 'mount:wrong fs type, ~~~' 이렇게 뜨더라고요. 도대체 어떤 문제가 있는걸까요? 빠른 답변 부탁드려요.

  19. naninore 2015.11.23 09:08 신고

    와... 진짜 대단하시네요...ㅠㅠㅠ

    그런데 삼성제품인 갤럭시 시리즈가 아닌 lg의 옵티머스 gx인데 똑같이 적용이 될까요?

  20. na 2016.04.13 21:50 신고

    cp * /bin을치니까
    cp : 일반 파일 '/bin/su 을(를) 생성할 수 없음: 실행 파일 사용 중
    이라고 뜨네요
    어떡해야하나요?

  21. 준형 2018.06.03 00:16 신고

    supersu.tar 파일이 막혔네요
    직접 찾아봐도 통 모르겠어요
    링크 걸어주시면 감사하겠습니다



안녕하세요? 크램프입니다.


이번 강좌는 리커버리를 이용하여 루팅하는 방법입니다.




손가락 콕 찍고 시작하겠습니다!


1. 루팅이란?


일단 루팅이 무엇인지는 다음 링크를 통하여 알아보겠습니다.



2. 루팅하는 방법


루팅하는 방법은 여러가지가 있습니다.


1. 기기의 취약점을 이용한 어플리케이션을 통한 루팅

2. 루팅에 필요한 파일을 펌웨어 제작 단계에서 포함시킨후 루팅펌웨어를 입히는 방법

3. 리커버리에서 루팅에 필요한 파일을 집어 넣는 방법

4. 커스텀 커널을 이용하여 커널단에서 루팅하는 방법

5. 외부 프로그램을 이용하여 컴퓨터를 통한 루팅


이 포스트에서는 세번째에 있는 리커버리를 이용한 루팅법을 소개할 것입니다.


기기의 취약점을 이용한 루팅은 기기마다 안되는 것이 있고, 루팅펌웨어나 커널 제작은 제작 지식이 없으면 힘든 작업입니다.


리커버리를 이용한 루팅은 리커버리만 설치가 가능하다면 언제나 가능한 방법입니다.


대중적으로 많이 사용하는 폰은 그에 맞는 리커버리가 거의 존재하기 때문에 루팅이 쉽다는 장점이 있습니다.


물론 커스텀 리커버리를 구할 수 없는 스마트기기의 경우 다른 방법을 강구해야 합니다.


3. 커스텀 리커버리를 통한 루팅


일단 리커버리 설치 및 사용법을 알아야합니다.


TWRP리커버리 사용법은 다음 링크를 확인해주세요.



CWM이나 Philz 리커버리의 경우는 Install zip from Sdcard라는 메뉴만 기억 하시면 루팅이 가능합니다.


그러면 이제 루팅에 필요한 파일을 구해보도록 하겠습니다.


루트권한을 제어하는 어플리케이션중에 유명한 두가지 어플이 SuperSu와 SuperUser라는 어플이 있습니다.


여기서는 Chainfire님의 SuperSu를 이용하여 루팅하는 방법을 선택하겠습니다. SuperUser어플을 사용하셔도 루팅하는 방법은 똑같습니다.


다음 링크에서 파일을 다운받아주세요.




위 스크린샷에 보이는 부분을 찾으셔서 클릭하시면 UPDATE-SuperSU-vx.xx.zip 라는 파일을 받으실 수 있습니다.


이제 이 파일을 스마트폰 내부 저장소에 본인이 알기 쉬운 장소에 복사해서 넣으세요.


그런다음에 리커버리 모드로 진입하시기 바랍니다.


TWRP리커버리는 쓰신다면 Install 버튼을 누르시고 저장한 경로를 찾아 들어가서 파일은 선택하신 후에 설치 하시면 됩니다.


CWM이나 Philz리커버리 사용자분들은 Install zip from Sdcard 메뉴를 선택하신후 Choose zip from sdcard 선택하셔서 넣어주신 파일을 선택해주세요.


설치과정은 스크립트로 보여집니다. 인스톨이 끝났다는 문구가 나오시면 이제 정상적으로 재부팅을 해주세요.


부팅이 끝난후에 어플리케이션 메뉴에 SuperSu라는 어플이 생기셨다면 루팅이 성공하신 것입니다.


4. 주의점


1. 루팅은 공식 서비스센터의 A/S 거부 또는 유상 수리 사유가 됩니다.


2. 마켓에서 SuperSu나 SuperUser를 다운 받으시기만 해서는 루팅이 안됩니다.


3. 리커버리나 다른 방법으로 루팅하신 후에는 마켓에서 업데이트 하셔도 됩니다.


'안드로이드 > 강좌' 카테고리의 다른 글

리눅스에 안드로이드 개발 환경 구축  (0) 2013.08.27
갤럭시 루팅펌웨어 제작  (48) 2013.08.18
리커버리를 이용하여 루팅하는법  (1) 2013.08.10
오딘 사용 방법  (25) 2012.12.28
  1. 나그네 2015.12.25 21:35 신고

    올리신 글 잘 보았습니다. 이 방법이 루팅하는데 많은 도움이 되었습니다. 커스텀 리커버리 제작 관련하여 조언좀 구하고자 문의드립니다. 저는 직업상 루팅이 꼭 필요한데, 특정 기종의 경우 커스텀 리커버리를 구하기가 어렵습니다. 그래서 직접 커스텀 리커버리를 제작하려고 구글링으로 해외 사이트의 커스텀 리커버리 제작 포스팅을 보면...제일 먼저 요구조건이 루팅을 해야한다고 나옵니다. 루팅할 툴이나 방법이 없어서 자체적으로 커스텀 리커버리를 만들려고 하는데 루팅을 먼저하라고 하니 완전히 넌센스 입니다. 커스텀 리커버리를 루팅없이는 만들 수 없는 건가요?


안녕하세요. 크램프입니다.

첫번째 강좌로 어떤 것을 선택할까 고민하다가 저도 처음 사용한것이 오딘이기에 오딘을 택하였습니다.

오딘이 무엇인지 부터 설명드리겠습니다.



손가락 콕 찍고 시작하겠습니다!


1. 오딘(Odin) 이란


기본적으로 펌웨어를 핸드폰에 입히는 역할을 하는 윈도우용 프로그램입니다.


단, 제한 조건이 붙습니다. 모든 핸드폰에서 사용이 가능한 것이 아니라 갤럭시 계열의 폰에서만 사용이 가능합니다. 


원리는 리눅스상에서 만들어진 이미지 파일들을 리눅스 압축파일인 tar파일로 묶어둔 후에 윈도우상에서 폰에 이미지를 입히는 방식입니다. 실제로 다운받은 *.tar 파일을 알집같은 압축툴로 열어보면 그안에 여러 이미지 파일이 있는 것을 확인하실수 있습니다. 각각의 이미지 파일에 들어있는 마운트 정보에 따라서 폰에 파일을 넣는 것입니다.


이를 응용하여 커널이나 시스템 이미지를 오딘에 맞게 tar파일로 압축하여 커스텀 커널을 올리거나 쿠킹롬을 올리게 됩니다.


2. 사용시 주의점


  • 다운 받으신 펌웨어나 롬/커널 파일의 기종 정보와 버전을 꼭 확인하시기 바랍니다. 다른기종의 펌웨어를 올릴 경우에는 돌이킬 수 없는 상태가 될 수 있습니다.
  • 배터리는 충분히 확보한 상태에서 진행하시기 바랍니다. 중간에 작업이 중단되어도 위험한 상황이 올 수 있습니다.
  • 핸드폰이 재부팅되기 전까지 전원을 분리하거나 컴퓨터와 연결을 끊지 마시기 바랍니다. 물론 예외의 경우도 존재합니다. 장시간 반응이 없는 경우에는 처음부터 다시 작업해야 할 수도 있습니다.
  • 순정 펌웨어가 아닌 커스텀 롬이나 커스텀 커널 혹은 커스텀 리커버리를 올리실 경우에는 커스텀 바이너리 카운트가 증가하며 커스텀 바이너리 카운트가 증가된 상태에서는 A/S의 거부나 불이익을 받으실 수 있습니다. 이는 트라이앵글 어웨이라는 어플로 초기화가 가능합니다. 트라이앵글 어웨이 사용법은 다음 강좌에서 진행하겠습니다.

3. 오딘을 사용하여 보자!

오딘의 역할을 알았으니 이제 오딘을 사용해보도록 하겠습니다. 이 강좌에서는 오딘을 이용하여 커스텀 바이너리 카운트의 증가 없이 루팅하는, 루팅펌웨어를 SKT 갤럭시 노트2 에 올리는 방법을 설명하겠습니다.

오딘은 이곳에서 3.07버전을 다운받아서 사용하기 편한 폴더에 압축을 풀어주시기 바랍니다.

SKT 갤럭시 노트2를 사용중이시라면 이곳에서 SKT 노트2 루팅펌웨어를 받아주시기 바랍니다. 이미 펌웨어가 준비된 분이시면 준비된 펌웨어를 이용해주세요.

타기기 사용자께서는 기기에 맞는 펌웨어를 준비하시기 바랍니다. 꼭 루팅펌웨어가 아니어도 상관없습니다. 순정펌웨어도 오딘 사용법은 똑같습니다.

일단 핸드폰 전원을 꺼주시기 바랍니다. 그리고 꺼진 상태에서 볼륨 하(下)+홈+전원 키를 누르고 계시기 바랍니다. 그러면 아래와 같은 경고 화면이 나타납니다.


그러면 볼륨 상(上)키를 눌러서 다음과 같은 화면이 나타나게 합니다


보시다시피 3번째 줄에 커스텀 바이너리 카운트가 2 입니다. 강좌를 위해 리셋을 하지 않았습니다. 후에 저 숫자를 0으로 만들 것입니다. 안전한 A/S를 위해서 말입니다.

자, 이제 오딘을 풀어 놓은 폴더에서 Odin3 v3.07.exe 파일을 더블클릭하여 오딘을 실행하여 주시기 바랍니다. 그리고 폰과 컴퓨터를 연결하시면 다음과 같은 화면이 나옵니다. 

1. 컴퓨터와 폰을 연결시키면 저렇게 0:[com:4] 라는 문구가 나타납니다. 숫자는 다를 수 있습니다. 연결을 확인하세요.

2. PDA버튼을 클릭하시고 다운받아놓은 펌웨어 파일을 지정해 주시기 바랍니다.

3. 이제 Start 버튼을 누르시면 펌웨어가 입혀지기 시작합니다.

1번 박스에 진행상황이 나타납니다. 완전히 종료가 되기전에 기기를 조작하거나 케이블을 분리하거나 오딘을 종료하지 마세요. 모든 과정이 완료되면 다음과 같은 화면이 나타나며 기기가 재부팅이 됩니다.


위 스크린샷은 커널만 올린 화면입니다. Message부분의 내용은 어떤 파일이냐에 따라 달라집니다. 파일은 달라도 완료 메시지는 비슷합니다. 재부팅이 완료되고 나면 혹은 재부팅시에 오딘에서 Succes나 Fail메시지를 출력하게 됩니다. 정상적인 과정을 따라오셨고 펌웨어 파일이 정상이라면 성공메시지를 보실 수 있을 것입니다.

루팅펌웨어를 올리신 분들은 어플 서랍에서 SuperSU 어플을 확인하실 수 있습니다.

이상 오딘 사용법이었습니다.


오딘을 사용하는 방법은 위험한 방법일 수 있습니다. 사용전 필히 내용을 숙지하시고 안전하게 펌웨어를 입히시기 바랍니다.


'안드로이드 > 강좌' 카테고리의 다른 글

리눅스에 안드로이드 개발 환경 구축  (0) 2013.08.27
갤럭시 루팅펌웨어 제작  (48) 2013.08.18
리커버리를 이용하여 루팅하는법  (1) 2013.08.10
오딘 사용 방법  (25) 2012.12.28
  1. 노트2 사용자 2013.09.11 19:25 신고

    저 노트2 사용자인데요 일단 전 순정펌웨어만 받고 루팅은 안되어있는 상태인데 루팅펌웨어 받아야하나요?

  2. 문누누문 2013.09.11 23:00 신고

    안녕하세요
    루팅 카운터1 인데요 따라했는데... 안없어지네요 ..이유가 뭔지 모르겠어요 ..
    갤노트1 kt향이구요.. 순정펌웨어 진저랑 젤라빈 둘다 인터넷블로그에서 있느거 다운받아해봤는데.. 안되네요 ..
    루팅카운터1이라서 안되는건지요? 아님 ... 또다른 이유가 있는건지요 .. 일단 순정펌하기 이전에 루팅 했었고요. cwm루팅으로요.. 루팅된 폰을 오딘으로 순정펌웨어 구해서 설치해봤는데 안되네요 ..

    • 크램프 2013.09.12 00:30 신고

      루팅카운터는 triangle away 라는 어플을 사용하셔야 초기화 됩니다.

  3. 2013.12.06 13:14

    비밀댓글입니다

  4. 리셋 2013.12.08 18:15 신고

    저 오딘으로 순정펌 입히는데 리셋상태에서 계속잇고 폰은 반응이 없는데 계속 기다려야 하나요??

    • 크램프 2013.12.08 20:58 신고

      15분이상 걸리지 않습니다 .무언가 잘못된것 같으니 다시 시도해보시기 바랍니다. 계속 그런 증상이면 본체 뒤쪽 usb포트를 이용하시거나 다른 컴퓨터를 이용해보세요

  5. 헬프미 ㅠㅠ 2013.12.29 16:57 신고

    ㅠㅠ 자꾸 fail 뜨는데 어떻하죠 ㅠ

    • 크램프 2013.12.29 23:27 신고

      Usb포트를 바꾸시거나 펌웨어파일을 다른 것으로 바꿔 보세요. 컴퓨터도 다른 컴에서 해보시구요

  6. 2013.12.29 17:03

    비밀댓글입니다

  7. 2014.03.25 10:00

    비밀댓글입니다

  8. 2014.03.25 10:02

    비밀댓글입니다

  9. 2014.03.25 10:35

    비밀댓글입니다

  10. anonymous 2014.07.24 18:41 신고

    중간에 usb포트뽑혀다가 다시 는데 문제 없을까요?

  11. 정말 갑사합니다. 2014.11.19 20:57 신고

    위 글 요약 + 추가하자면

    1. 오딘은 삼성 갤럭시 시리즈가 성공률이 높다.

    2. 알맞은 국가, 통신사, 기종 의 것을 써야 한다.

    3. 루팅중 어떠한 것도 건들면 안된다.

    4. 확장자 tar 또는 md5 를 가진 파일인지 확인, 게시자의 설명을 잘 읽는다.

    5. 루팅펌웨어에 deo 가 붙은 것은 데오덱스 롬으로 폰 꾸미기(테마)에 적절하고 안붙은것은 오덱스 롬으로 속도면에서 좋다고 한다.

    이상~

  12. 감사합니다/ 2015.03.22 16:52 신고

    감사합니다.

    근대 오딘모드종료하려면 어떻게해야되나요?

    pda파일은 들어간것같은데 계속 다운로드중화면이떠요