🔐

06. netOdin에서 regular Odin과 납땜으로 방향을 바꾸다

단계
Boot & AVB
상태
완료
순서
6
시기
2024.07.23–08
요약
netOdin의 custom image 제약을 확인한 뒤 OEM unlock과 regular Odin, 물리 USB 연결로 방향을 전환했다.
🔐
이 글의 질문 · netOdin에서 custom image가 막혔을 때 왜 software bypass가 아니라 납땜과 regular Odin을 선택했는가?

OEM unlock부터 다시 살리기

netOdin으로 custom kernel을 flashing하려면 OEM unlock이 필수적이었다. 그런데 시험적으로 flashing한 기기에서 OEM unlock 항목이 사라지는 현상이 발생했다.
여러 방법을 시도한 뒤 software update를 계속 진행했고, 특정 version에서 OEM unlock이 다시 생기는 것을 확인했다.

netOdin에서 반복된 flashing error

7월 23일에는 netOdin에서 수많은 error가 발생했다.
netOdin으로는 불가능한가? 라는 의문점이 발생.
7월 23일 회의에서 정리한 netOdin flashing error
7월 23일 회의에서 정리한 netOdin flashing error
입력을 달리해도 반복된 netOdin 오류
입력을 달리해도 반복된 netOdin 오류
포럼과 기존 연구 기록에서 선례를 찾았다.
netOdin은 실패했지만 regular Odin으로 성공한 기존 사례
netOdin은 실패했지만 regular Odin으로 성공한 기존 사례
netOdin으로는 실패했지만 USB를 사용하는 regular Odin에서는 성공한 사례가 있었다.
프로젝트 기록에는 이 판단이 다음처럼 남아 있다.
netOdin 상에서는 삼성의 보안 정책으로 인해 커스텀 ROM을 올릴 수 없다는 것을 확인함.
따라서 AVB bypass를 USB 포트를 납땜하여 Odin을 통해 하겠다는 것.

software 경로에서 hardware 경로로

이 선택에는 대가가 있었다.
  • 내부 USB pad와 pinout을 찾아야 했다.
  • 0.6 mm 안팎의 pad에 납땜할 실력이 필요했다.
  • 장비를 새로 준비해야 했다.
  • cover를 열면 wireless charging이 끊기는 별도 문제도 해결해야 했다.
하지만 장점도 분명했다. 다른 연구가 끝나기를 기다리지 않고, 직접 통제할 수 있는 새로운 flashing 경로를 만들 수 있었다.
7월 23일 회의에서는 이 방법이 허가됐고, 다음 작업이 납땜 도구와 정보 확보로 바뀌었다.

동시에 남은 kernel 문제

regular Odin 경로를 준비하는 동안 kernel binary도 계속 분석해야 했다. firmware의 kernel과 직접 빌드한 kernel version이 달라 어느 byte가 수정 대상인지 확신할 수 없었다.
hardware 작업은 software 분석을 포기한 것이 아니라, software 결과를 실제 장치까지 전달하기 위한 독립된 통로를 만드는 작업이었다.