Samsung 스마트폰은 fastboot를 사용할 수 없고, Odin으로 바이너리를 디바이스에 다운받아야 합니다. 하지만 Odin은 Windows용 프로그램만 있고 Linux용은 따로 없는 것 같습니다.
Heimdall이라는 Opensource Project가 있는데, 이 Tool은 Ubuntu에서 Odin처럼 바이너리를 삼성 디바이스에 flash하는 것을 도와주는 Tool입니다.
apt로 cmd 기반과 UI기반의 heimdall을 설치할 수 있습니다. 아래 중에 1개만 설치하면 됩니다. 저는 heimdall-flash를 설치하였습니다.
$ sudo apt-get install heimdall-flash
$ sudo apt-get install heimdall-flash-frontend
Samsung 폰을 다운로드 모드로 진입하고 폰이 PC에 연결된 상태에서 detect
명령어를 사용하면 PC에 연결되었는지 알 수 있습니다.
$ heimdall detect
Device detected
그리고 print-pit
명령어로 디바이스의 파티션 정보를 자세히 알 수 있습니다. 이 명령어를 사용하면 폰이 reboot되어 다시 다운로드 모드로 진입해야 합니다.
$ heimdall print-pit
--- Entry #20 ---
Heimdall v1.4.1
Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/
This software is provided free of charge. Copying and redistribution is
encouraged.
If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/
Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...
.....
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 18
Attributes: 5 (Read/Write)
Update Attributes: 5 (FOTA)
Partition Block Size/Offset: 315392
Partition Block Count: 5046272
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: SYSTEM
Flash Filename: system.img
FOTA Filename:
...............
이제 flash
명령어로 img 파일을 flash할 수 있습니다. 삼성 정식 바이너리는 Tar로 압축되어있는데, 풀면 확장자가 img인 여러 파일들이 나옵니다. flash
명령어와 함께 각 파일들이 저장되어야하는 파티션을 옵션으로 설정해주면 됩니다.
$ heimdall flash --SYSTEM system.img --BOOT boot.img --CACHE cache.img --HIDDEN hidden.img --RADIO modem.bin --RECOVERY recovery.img
참고
Loading script...
Related Posts
- Python - Yaml 파일 파싱하는 방법
- Python - pip와 requirements.txt로 패키지 관리
- 유튜브 쇼츠(Shorts) 자막 끄기/켜기
- SOLID 원칙, 객체지향 설계 5가지 원칙
- Ubuntu 20.04 - Nginx로 React를 배포하는 방법
- 애드센스 '구글 검색 기능' 블로그에 추가
- 트위터 이메일 안오게, 알림 끄기
- 인스타그램 동영상, 사진 저장 방법
- Git 설치 방법 (Ubuntu, Windows)
- Python pip 설치 (Ubuntu / Windows)
- 마우스 우클릭 복사 방지 해제 방법 (크롬)
- Python 에러 해결, 'conda' 용어가 cmdlet, 함수, 스크립트 ... 인식되지 않습니다.
- Python 에러 해결, AttributeError: module 'jwt' has no attribute 'encode'
- Atom - 코드 자동 정렬
- Sublime Text - 코드 자동 정렬, 단축키 설정
- VSCode에서 탭 간격 설정 (Tab to 4 spaces)
- Visual Studio Code에서 코드 자동 정렬
- 구글 검색 기록 삭제, 자동 저장 끄기 (PC, 모바일)
- 안드로이드 개발자 옵션 활성화, USB 디버깅 켜기
- 유튜브 채널 차단, 해제 방법 (PC, 모바일)
- 유튜브 미리보기 자동재생 끄기 (자동 소리 끄기/켜기)
- PC에서 유튜브 모바일 버전(m.youtube.com)으로 보기
- 모바일에서 유튜브 PC버전으로 보기
- 유튜브 시간 링크 만들기, 댓글에 시간 태그 입력하기
- 유튜브 스크립트 함께 보기, 자막 추출 방법
- 유튜브 알고리즘 초기화, 검색 기록과 시청 기록 삭제
- 유튜브 '싫어요' 숫자 다시 보이게 하기
- 구글 크롬, 방금 닫은 탭 다시 열기
- Maven으로 Java프로젝트 build하는 방법
- node.js, npm 버전 확인 방법 (터미널, cmd 명령어)
- GitLab - 'pre-receive hook declined' 에러 해결
- Javacript Heap Out Of Memory 문제 해결
- SSH key 생성하고 GitHub에 등록
- GMT, UTC의 차이점
- Linux(Ubuntu)에 Adobe Photoshop, Illustrator 설치하는 방법