HOME > etc > tips

우분투에서 삼성 스마트폰에 Firmware를 다운로드하는 방법 (heimdall)

JSFollow04 Mar 2018

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

참고