본문 바로가기

안드로이드BSP/기본

🧩 Allwinner A527 / A523 — Android 15 SDK 변경점 & GRF 정책 도입 정리

반응형

최근 Allwinner(올위너) 에서 A527 / A523용 Android 15 SDK를 새로 배포했습니다.
그런데 막상 내용을 뜯어보니, 이전 버전과는 구조부터 빌드 방식까지 꽤 많이 달라졌습니다.

왜 이렇게 달라졌을까?
그 이유는 이번 SDK부터 Google의 GRF(Google Requirements Freeze) 정책이 본격 도입되었기 때문입니다.


📘 GRF란? (Google Requirements Freeze)

GRF는 구글이 도입한 SoC 벤더 코드 장기 호환 정책입니다.
쉽게 말해, SoC 제조사(Allwinner, Qualcomm, MediaTek 등)가 매번 OS 버전이 바뀔 때마다
커널·HAL·드라이버·펌웨어 등을 일일이 수정하지 않아도 되도록 하는 제도입니다.

즉, 한 번 동결된(Vendor Frozen) 벤더 코드는 최대 4개의 Android 버전 동안 그대로 유지될 수 있습니다.


🔍 GRF 정책 예시

Android 버전Vendor 버전상태
Android 13 Vendor 13 기준 (동결, frozen)
Android 14 Vendor 13 그대로 사용 (1회 업그레이드)
Android 15 Vendor 13 그대로 사용 (2회 업그레이드)
Android 16 Vendor 13 그대로 사용 (3회 업그레이드)
Android 17 Vendor 17 새로 동결 (새 GRF 시작)

➡️ 즉, Android 13에서 커널과 HAL을 세팅하면 16까지는 그대로 업그레이드 가능하다는 의미입니다.
OS가 매년 나온다고 가정하면 최소 4년 동안 벤더 코드 수정 없이 유지할 수 있게 되는 셈이죠.

좋은 점은 유지보수 부담이 크게 줄어든다는 것이지만,
단점은… 역시 커스텀(커널/드라이버 수정) 이 훨씬 까다로워진다는 점 😅


🧠 Allwinner Android 15 SDK의 구조 변화

이번에 공개된 올위너 Android 15 SDK를 보면 특이한 점이 하나 있습니다.
Android 13 버전과 15 버전 SDK가 함께 포함되어 있다는 점입니다.

이전에는 예를 들어 "Android 13 SDK"라면 13 전용만 들어있었는데,
이번엔 android13/ 과 android14/ 폴더가 동시에 존재합니다.

이게 바로 GRF 정책의 핵심 구조입니다.


📂 SDK 구성 요약

구분내용수정 기준
Vendor 영역 BOOT, INIT_BOOT, VENDOR_BOOT, VENDOR, VENDOR_DLKM 등 모든 하드웨어 및 HAL 관련 영역 Android 13 SDK 수정
Framework 영역 SYSTEM, PRODUCT (GMS, 앱, libcore, art 등) Android 14 이후 SDK 수정

즉 👇

 
android13/ → frozen vendor sdk (Allwinner stable BSP) android14/ → framework sdk (Google AOSP 최신 버전)

Vendor SDK: Android 13 시점에서 동결된 버전
Framework SDK: Android 14 이상에서 업데이트되는 AOSP 기반 버전

이 두 SDK를 병합(merge) 하여 하나의 빌드 이미지를 생성하는 것이 바로 GRF 빌드 방식의 핵심입니다.


⚙️ 빌드 구조의 변화

결국, 이번 Allwinner Android 15 SDK는 이렇게 구성된 셈입니다.

  • Vendor 코드: Android 13 버전 코드 그대로 사용
  • Framework 코드: Android 15 (AOSP 기반 최신 코드) 사용
  • Build System: 13 + 15 병합 구조 (GRF 대응 빌드)

즉, 커널과 부트로더 등 하드웨어 의존 부분은 Android 13에서 수정하고,
실제 빌드 및 프레임워크는 Android 15 기준으로 진행하라는 구조입니다.

🤯 결론적으로…
커널은 13에서 건드리고, 빌드는 15에서 해야 한다는 이야기.
복잡합니다... 진짜 복잡해요... 😂


📑 참고 문서

SDK 패키지 내에는 다음과 같은 문서가 함께 포함되어 있습니다:

📄 Android_GRF_编译指南.pdf
이 문서에는 GRF 대응을 위해 변경된 SDK 구성, 빌드 순서, 패킹 방식 등에 대한
자세한 가이드가 포함되어 있습니다.

이 내용을 숙지하면, 변경된 구조에서도 빌드는 충분히 진행할 수 있습니다.
(물론 기존 방식에 익숙한 사람에게는 꽤 낯설게 느껴질 겁니다.)


🧩 정리

항목내용
적용 정책 Google GRF (Google Requirements Freeze)
핵심 변화 Vendor 코드 동결 및 Framework 분리 빌드
유지보수 Vendor 코드는 4년간 유지 가능
SDK 구성 android13/ (vendor) + android14/15/ (framework)
빌드 가이드 Android_GRF_编译指南.pdf 참고
장점 벤더 유지보수 부담 감소
단점 커스텀 및 포팅 난이도 상승

💬 마무리

Allwinner가 이제 Google GRF 정책을 정식 반영하기 시작하면서
앞으로의 BSP 구조와 빌드 방식은 “Framework / Vendor 이원화”로 정착될 가능성이 높습니다.

한마디로 말하면

“커널은 13에서 세팅하고, 빌드는 15에서 하라”
이게 바로 앞으로의 Allwinner Android 빌드 방식입니다.

반응형