[완벽 가이드] Alldocube iPlay 50 mini (일반형) LineageOS GSI 설치 및 Magisk 루팅 총정리
> Gemini 통해 작업하고, 결과 Gemini 로 정리한 내용
iPlay 50 mini에 커스텀 롬(GSI)을 올리고 루팅까지 하는 과정은 안드로이드 보안 시스템(AVB)과 Unisoc 칩셋의 깐깐함 때문에 수많은 부트루프(무한 부팅) 지옥을 겪기 쉽습니다. 이 가이드는 수많은 시행착오 끝에 찾아낸 가장 완벽하고 논리적인 설치 루트를 안내합니다.
⚠️ 0. 시작하기 전 필수 주의사항 (매우 중요!)
- 기기 모델 확인 (NFE vs 일반): 넷플릭스 고화질(L1)이 지원되는 NFE 모델과 일반 모델은 펌웨어가 절대 호환되지 않습니다. 교차해서 플래싱할 경우 기기가 벽돌이 되거나 무한 부팅에 빠지므로, 반드시 본인 기기에 맞는 펌웨어(PAC 파일)를 준비하세요.
- Mac 사용자 주의: Mac용 fastboot -w 명령어는 포맷(ext4, f2fs) 기능을 제대로 지원하지 않아 에러를 뿜습니다. 초기화는 무조건 기기의 Recovery 모드에서 직접 진행해야 합니다.
🛠️ 1단계: 순정 펌웨어로 뼈대 세우기 (초기화)
커스텀 롬을 올리기 전, 기기를 가장 깨끗한 상태로 만드는 것이 중요합니다.
- SPD ResearchDownload Tool을 사용해 기기에 맞는 순정 .pac 파일을 플래싱합니다.
- 정상적으로 안드로이드 순정 화면이 부팅되는지 100% 확인합니다. (이 과정을 통해 파티션 꼬임 문제를 원천 차단합니다.)
🔓 2단계: 안드로이드 보안 검증(AVB) 완벽 무력화
이 태블릿은 보안 스위치(vbmeta)를 제대로 끄지 않으면 10~20초 뒤 커널 패닉을 일으키며 재부팅됩니다. 구글의 기본 fastboot 옵션(--disable-verity)은 버그가 있으므로, 우리가 직접 파일을 변조해서 덮어씌우는 방식을 사용합니다.
1. 변조된 vbmeta 파일 만들기 (Python)
순정 펌웨어에서 추출한 vbmeta-sign.img 파일이 있는 폴더에서 아래 파이썬 명령어를 실행하여 120번째 바이트를 조작한 -disabled 파일을 만듭니다.
python3 -c "import os; [(open(d, 'wb').write((lambda data: (data.__setitem__(120, data[120] | 3), data)[1])(bytearray(open(s, 'rb').read()))), print(f'✅ {d} 생성 완료!')) for s, d in [('vbmeta-sign.img', 'vbmeta-disabled.img')] if os.path.exists(s)]"
2. Fastbootd 모드에서 변조 파일 플래싱
기기를 fastbootd 모드(빨강/초록 글씨 화면)로 부팅한 뒤, 변조된 총괄 대장(vbmeta)만 플래싱합니다.
💡 핵심 노하우: vbmeta_system, vbmeta_vendor 등 하위 보안 파티션은 절대 건드리지 마세요! 이 작은 파일들을 변조하면 파일 구조가 깨져서 오히려 부트루프의 원인이 됩니다. 오직 메인 vbmeta만 끄면 됩니다.
fastboot flash vbmeta_a vbmeta-disabled.img
fastboot flash vbmeta_b vbmeta-disabled.img
🚀 3단계: LineageOS (GSI) 설치
검증이 무력화되었으니, 이제 본격적으로 GSI 롬을 심어줍니다.
1. 공간 확보 (가벽 부수기)
GSI 롬 용량을 넉넉하게 담기 위해 잘 안 쓰는 논리 파티션(product)을 지워줍니다. (fastbootd 모드 유지)
fastboot delete-logical-partition product_a
fastboot delete-logical-partition product_b
2. 시스템 이미지(GSI) 플래싱
준비한 LineageOS 이미지 파일 경로를 지정하여 쏴줍니다.
fastboot flash system [본인의_GSI_롬_파일경로.img]
3. 데이터 초기화 (Wipe Data) - 필수!
시스템 뇌 구조가 바뀌었으므로, 기존 암호화된 찌꺼기를 날려야 부팅됩니다.
- 볼륨 버튼으로 Enter recovery를 선택해 리커버리 모드 진입
- Wipe data/factory reset 실행
- Reboot system now 로 시스템 재부팅! (첫 부팅은 최대 5분 소요)
🪄 4단계: Magisk 루팅 (최고 권한 탈취)
최신 안드로이드 구조에 맞춰, 커스텀 리커버리(TWRP) 없이 순정 boot.img를 패치하여 루팅합니다. (이 기기는 init_boot 대신 램디스크가 boot.img에 통합되어 있습니다.)
- 순정 펌웨어 폴더의 boot.img 파일을 태블릿으로 복사합니다. (adb push boot.img /sdcard/Download/)
- 태블릿에 최신 Magisk 앱을 설치합니다.
- Magisk 앱에서 설치 -> 파일 선택 및 패치를 누르고 boot.img를 선택해 패치합니다.
- 패치가 완료된 파일(magisk_patched-XXX.img)을 다시 PC로 가져옵니다.
- 기기를 fastbootd 모드로 재부팅하고, 패치된 파일을 플래싱합니다.
fastboot flash boot_a magisk_patched-XXX.img
fastboot flash boot_b magisk_patched-XXX.img
fastboot reboot
- 부팅 후 Magisk 앱을 켜서 설정(톱니바퀴)에서 Zygisk를 활성화하고 한 번 더 재부팅하면 루팅 완벽 종료!