Computer >> 컴퓨터 >  >> 문제 해결 >> Android

삼성 갤럭시 A51 부트로더 잠금 해제 및 루팅 완벽 가이드

시장 분석에 따르면 삼성 갤럭시 A51은 2020년 1분기 가장 많이 팔린 미드레인지 안드로이드 스마트폰 중 하나입니다. 6.5인치 AMOLED 디스플레이, 엑시노스(Exynos) 9611(10nm) 칩셋과 Mali-G72 MP3 GPU를 탑재했으며, 4GB/6GB/8GB RAM 옵션으로 출시되었습니다.

하지만 갤럭시 A71이 약간 더 비쌀 뿐 훨씬 좋은 사양을 갖추고 있어서인지, A51은 커스텀 롬 개발자 커뮤니티에서 큰 주목을 받지 못했습니다. 그 결과 현재까지도 A51용 TWRP는 공식·비공식 모두 존재하지 않습니다.

그래도 갤럭시 A51을 잠금 해제하고 루팅할 수 있는 방법은 존재합니다. 다만 절차가 상당히 까다롭고 많은 인내심이 필요하다는 점을 미리 알아두세요.

이 가이드는 Windows와 Linux 환경을 모두 필요로 합니다. Linux는 Kali Live처럼 부팅 가능한 USB로 사용해도 무방합니다. 이 과정에서 Linux 터미널을 이용해 새로운 firmware.img 파일을 생성해야 하기 때문입니다. 대신 Windows의 Linux Bash 시스템(WSL)을 활용하는 것도 가능합니다.

따라서 Linux에 익숙한 사용자가 아니라면, 충분한 시간과 인내심이 있고 갤럭시 A51 루팅이 반드시 필요한 경우에만 진행하는 것을 권장합니다.

준비물

  • Windows PC와 부팅 가능한 Linux OS, 또는 Linux Bash가 설치된 Windows
  • 갤럭시 A51 공식 펌웨어 다운로드용 Frija 또는 SamFirm
  • GSI Android 10 A/B Gapps arm64v8 이미지
  • LZ4 Extractor
  • Simg2img
  • LPunpack Tool
  • Odin
  • 7zip
  • Permissive 커널

1단계: 갤럭시 A51 부트로더 잠금 해제

  1. 설정 > 휴대전화 정보 > 빌드 번호를 7번 연속 탭하여 개발자 모드를 활성화합니다.
    삼성 갤럭시 A51 부트로더 잠금 해제 및 루팅 완벽 가이드
  2. 개발자 옵션으로 이동한 후 OEM 잠금 해제(OEM Unlocking)를 활성화합니다.
  3. 갤럭시 A51의 전원을 끈 뒤, 볼륨 버튼 두 개를 동시에 누른 상태에서 USB 케이블로 PC와 연결합니다.
  4. 휴대전화가 다운로드 모드로 부팅되면, 볼륨 업 버튼을 길게 눌러 부트로더 잠금을 해제합니다.

이후 갤럭시 A51은 자동으로 공장 초기화를 진행하고 안드로이드 설정 마법사로 재부팅됩니다.

2단계: Windows에서 .img 파일 준비하기

  1. 본인의 갤럭시 A51 모델명과 지역 펌웨어 변형에 정확히 일치하는 공식 삼성 펌웨어를 다운로드합니다.
  2. 펌웨어 zip 파일에서 AP_file.tar.md5라는 이름의 파일을 추출합니다.
  3. 7zip을 사용해 AP_file.tar.md5 파일 안에서 super.img.lz4 파일을 추출합니다.
  4. super.img.lz4 파일을 LZ4 폴더에 넣고 CMD 명령 프롬프트를 실행한 후 아래 명령어를 입력합니다.
    lz4.exe -d super.img.lz4 superLZ4.img
  5. 이제 superLZ4.img 파일을 Simg2img 폴더에 넣고 CMD에서 다음 명령어를 입력합니다.
    simg2img.exe -i superLZ4.img -o superSIMG.img

3단계: Linux에서 플래싱용 .img 파일 만들기

앞서 말씀드렸듯이 이 단계에는 Linux 터미널(또는 Windows용 Linux Bash 시스템)이 반드시 필요합니다. 커피 한 잔 준비하고 시작해볼까요?

Windows 파티션에서 superSIMG.img 파일을 가져와 otatools/bin 폴더에 넣습니다.

Linux 터미널에서 아래 명령어로 .img 파일을 추출합니다.

./lpunpack --slot=0 superSIMG.img <destination dir>

그다음 GSI Android 10 A/B Gapps arm64v8 파일을 방금 superSIMG.img를 추출한 동일한 Linux 폴더에 넣고, GSI 파일명을 system.img로 변경합니다. 이 폴더에는 odm.img, system.img, vendor.img, product.img 네 개의 파일이 있어야 합니다.

이제 매우 중요하고 민감한 단계입니다. 위 파일들을 하나의 super.img 파일로 결합하게 됩니다. 진행하기 전에 이 섹션을 꼼꼼히 읽어주세요.

다음 Linux 명령어에는 반드시 수정해야 하는 숫자들이 있습니다. 이 숫자들은 추출한 3개의 .img 파일(odm, vendor, product)과 다운로드 후 이름을 변경한 system.img의 크기(바이트 단위)를 의미합니다. 반드시 실제 파일 크기(바이트)에 맞게 코드를 수정해야 합니다.

  • system:readonly:1577095168:main — 언스파스(unsparsed) system.img의 바이트 크기
  • vendor:readonly:342155264:main — vendor.img의 바이트 크기
  • odm:readonly:643456:main — odm.img의 바이트 크기
  • group main:4293513600 — 메인 파티션 크기 (예: 1577095168+342155264+643456=2776752512)
  • group main의 크기는 4개 .img 파일 크기의 합계입니다. 직접 계산해서 입력하세요!

필요한 수정을 마친 후 사용해야 할 Linux 명령어는 다음과 같습니다.

./lpmake --metadata-size 65536 --super-name super --metadata-slots 2 --device super:4294967296 --group main:4293513600 --partition system:readonly:1577095168:main --image system=./system.img --partition vendor:readonly:342155264:main --image vendor=./vendor.img --partition odm:readonly:643456:main --image odm=./odm.img --sparse --output ./super.img

정상적으로 실행되면 새로운 super.img 파일이 생성됩니다. 이 파일을 Windows 파티션으로 옮겨둡니다.

4단계: Windows에서 super.img 플래싱하기

  1. 7zip을 사용해 .tar 파일을 생성하고, Linux에서 만든 super.img를 그 안에 넣습니다.
  2. Odin을 실행한 후 Auto Reboot 체크를 해제하고, AP 탭에 해당 .tar 파일을 추가합니다.
  3. 갤럭시 A51을 다운로드 모드로 부팅한 뒤 Odin에서 Start 버튼을 클릭합니다.
  4. .tar 파일 플래싱이 완료된 후에도 갤럭시 A51을 재부팅하지 말고, AP 탭에 (NoForcedEnforce).tar 파일을 넣어 추가로 플래싱합니다.
  5. 이제 갤럭시 A51을 오리지널 리커버리로 재부팅한 후 공장 초기화를 진행합니다.

마무리: 루팅 확인하기

안드로이드 시스템으로 돌아오면 터미널 에뮬레이터 앱을 설치하고 아래 명령어를 차례로 실행합니다.

su
setenforce 0
getenforce (Permissive라고 표시되면 성공)

getenforce 결과가 Permissive로 표시되면 갤럭시 A51 루팅이 성공적으로 완료된 것입니다. 루팅 과정에서 데이터가 모두 삭제되므로 시작 전에 반드시 중요한 자료를 백업하세요. 또한 잘못된 펌웨어나 파티션 작업은 기기를 벽돌(brick) 상태로 만들 수 있으니, 모델명과 파일 크기를 반드시 여러 번 확인한 후 진행하는 것이 좋습니다.