Android 10 DSU를 사용하면 커밋하지 않고도 OTA 업데이트를 시도할 수 있습니다.

실제로 업데이트하지 않고 업데이트를 시도하고 싶었던 적이 있습니까? Android 10의 DSU는 이를 위해 설계되었지만 현재는 제한되어 있습니다. 그것은 곧 바뀔 수 있습니다.

Android OS 및 보안 수준 단편화는 Google이 해결하기 위해 많은 엔지니어링 노력을 투자하고 있는 큰 문제입니다. 지난 2년 동안 Google은 업데이트 출시 속도를 높이기 위해 고안된 두 가지 주요 계획을 발표했습니다. 프로젝트 트레블 그리고 프로젝트 메인라인. 후자는 이번 5월에야 발표되었습니다. 구글 I/O 2019이며 Android 10으로 출시되는 기기에서만 지원됩니다. 그러나 전자는 그 이후로 계속 존재했습니다. 구글 I/O 2017, Android 업데이트에 얼마나 많은 영향을 미치는지 확인했습니다. 안드로이드 9 파이와 함께 그리고 안드로이드 10.

조각화를 줄이는 것 외에도 Google은 Project Treble이 앱 개발자에게 유용하기를 원합니다. 그렇기 때문에 그들은 공개했다. 동적 시스템 업데이트 (DSU)를 사용하면 개발자는 부트로더를 잠금 해제하거나 데이터를 삭제하지 않고도 새 OS 업데이트의 베어본 버전을 시험해 볼 수 있습니다. DSU의 잠재력을 확인한 Google은 거기서 멈추지 않고 OEM의 OTA 업데이트가 GSI 설치와 동일한 방식으로 설치될 수 있도록 하여 유틸리티를 확장하고 있습니다.

전문 용어가 많지만, 미래에 이런 일이 일어날 것이라고 상상해 보세요. OEM이 Android 10이 탑재된 휴대전화를 출시하고 Android 11용 베타 프로그램을 시작합니다. 새로운 기능을 확인하기 위해 이 베타 버전을 시험해 보고 싶지만 현재 일일 드라이버의 안정성을 위험에 빠뜨리고 싶지는 않습니다. 베타 업데이트를 플래시한 다음 완벽하게 안정적이기를 바라는 대신 DSU 흐름을 통해 일시적으로 설치해 보는 것은 어떨까요? 마음에 들지 않으면 재부팅하면 설정이 정상으로 돌아갑니다. 마음에 들면 업데이트를 "커밋"할 수 있습니다.

여러분은 어떨지 모르겠지만, 이는 베타 테스트를 더욱 즐겁게 만들어주는 Android의 환영할 만한 변화가 될 것입니다. 더 이상 베타 업데이트를 직접 확인하기 위해 베타 업데이트를 수행할 필요가 없습니다. 많은 분들이 자신의 기기에 Android 10 베타를 보고 싶어 하겠지만, 바로 설치하는 것이 불편할 수도 있습니다. DSU가 변경되면 더 이상 문제가 되지 않습니다.

Android 10+의 동적 시스템 업데이트 - 변경 사항

XDA Portal의 친구이자 인정받는 개발자, 우리에게 다음과 같은 정보를 제공했습니다. 새로운 커밋 '여러 DSU 파티션이 있는 경우 마운트'라는 제목의 AOSP에 병합되었습니다. 커밋은 파일 시스템 테이블(fstab)과 시스템 이외의 DSU 파티션(현재는 제품 및 공급업체 포함)이 부팅 중에 마운트될 수 있도록 init 프로세스를 수행합니다. 프로세스.

기존 제품 및 공급업체 파티션 대신 product_gsi 및 Vendor_gsi 이미지를 로드하기 위한 지원을 추가하는 fstab의 새 코드입니다. DSU는 OEM이 서명할 수 있지만 그 외에는 Google의 공식 GSI를 지원한다는 의견이 있습니다.

현재 DSU는 AOSP에서 컴파일된 베어본 시스템 이미지인 GSI(일반 시스템 이미지)만 부팅할 수 있도록 설계되었으므로 최신 Android 업데이트의 새로운 API 및 기타 변경 사항을 테스트할 수 있습니다. 그러나 이러한 변경으로 인해 DSU는 제품 및 공급업체 이미지도 허용하게 됩니다. 전자에는 장치별 앱, 라이브러리 및 기타 파일이 포함되어 있고, 후자에는 장치별 바이너리가 포함되어 있습니다. Project Treble은 장치별 파일 없이 시스템 이미지를 사용하여 장치를 부팅할 수 있도록 만들었으므로 이제 제품 및 공급업체 로드를 허용하는 것은 별 의미가 없는 것 같습니다.

그러나 Google 엔지니어는 이러한 변경 사항이 "OEM이 /data에 OTA 패키지를 설치한 다음 'DSU' 흐름을 사용하여 product.img를 마운트하도록 허용하는 것"이라고 명시적으로 밝혔습니다. system.img, [및] /data의 Vendor.img." 이는 현재 설치를 새 OTA 패키지로 덮어쓰는 대신 OTA를 임시로 로드할 수 있음을 의미합니다. DSU를 통해. OTA 업데이트를 시험해 본 후 "사용자는 해당 이미지를 /super에 '커밋'할지 여부를 결정할 수 있습니다." 이 마지막 부분은 한 Google 엔지니어는 "현재 DSU 파티션을 만들 계획이 없습니다"라고 언급했듯이 변경 사항을 "커밋"하는 작업이 아직 진행 중입니다. DSU 맥락에서 영구적입니다." 그런 다음 그는 이것이 어떻게 구현될 수 있는지 설명하지만 이 구현은 이 문서의 "범위를 벗어납니다"라고 말합니다. 현재 패치.

Google은 모든 Android 버전에서 파티션 구성표를 변경하는 것을 좋아하기 때문에 여기서 설명해야 할 몇 가지 용어와 개념이 있습니다. 우선, 다음 기사에 대한 이전 기사를 읽어 보시기 바랍니다. 동적 시스템 업데이트 작동 방식에 대한 광범위한 개요를 제공하지만 요약하면 스토리지의 하나의 실제 파티션('동적 파티션'이라고 함)이라는 개념을 활용합니다. "super" 파티션)은 크기 조정 가능한 논리 파티션(시스템, 공급업체, 제품 및 system_ext 포함)으로 나누어 임시로 설치합니다. GSI. GSI를 설치할 때 DSU는 기존 사용자 데이터 파티션의 크기를 조정하여 새 시스템 및 사용자 데이터 이미지를 위한 공간을 만듭니다. DSU 지원을 위한 빌딩 블록(동적 파티션, 램디스크 및 데이터 백업용 체크포인트)은 다음의 실행 요구 사항입니다. 안드로이드 10, 따라서 새로운 Android OS 버전으로 출시되는 모든 기기는 DSU를 지원해야 합니다. DSU는 AVB(Android 자체 검사 부팅) 키와 일치하는 이미지만 설치할 수 있기 때문에 일부 사용자가 찾고 있는 맞춤형 ROM용 듀얼 부팅 솔루션이 아닙니다. 그러나 이 새로운 변화로 인해 앞으로는 훨씬 더 유용해질 수 있습니다.

동적 파티션 외에도 Google은 Android 10에서 '가상 A/B' 개념을 도입했습니다. 이는 기본적으로 이중 A/B 파티션 대신 논리 파티션을 사용합니다. A/B 파티션에는 원활하고 안전한 업데이트를 위해 중요한 파티션의 복사본이 포함됩니다. "가상 A/B"를 사용하는 것은 한 Google 엔지니어가 DSU 파티션을 현재 설치의 파티션에 "커밋"하는 방식입니다. 현재 A/B OTA 업데이트 프로세스와 마찬가지로 새 이미지의 변경 사항이 비활성 파티션에 적용될 수 있습니다.

이러한 변경사항은 아직 개발 중이므로 Google이나 OEM에서 사용되기까지는 다소 시간이 걸릴 수 있습니다. 우리 아마도 다음 번에 Android 11 R이 출시될 때까지 이 구현을 볼 수 없을 것입니다. 년도. 그럼에도 불구하고 OEM이 OTA 업데이트에 이 기능을 채택한다는 보장은 없습니다. 하지만 이것이 베타 테스트에 얼마나 유용한지를 고려하면 Google은 이미 관심 있는 OEM과 협력하여 향후 업데이트에 이 기능을 활성화하고 있다고 생각합니다. 새로운 Android 업데이트를 구매하기 전에 시험해 볼 수 있다는 점에 개인적으로 기대가 됩니다. 하지만 여러분은 어떻습니까?