Zhanrui Android 10 플랫폼 OTA 업그레이드

OTA 전체 업그레이드 패키지 생산 단계( SC9863A 플랫폼을 예로 들 수 있음)

  1. 프로젝트 AP용 코드를 다운로드합니다.
  2. 다음 명령으로 컴파일 환경을 설정합니다.
    source build/envsetup.sh
    lunch
    kheader
  3. make 명령을 통해 전체 프로젝트를 컴파일합니다.
  4. "device/sprd/sharkle/sl8541e_1h10_32b/" 디렉토리(보드의 해당 디렉토리)를 입력하고 수동으로 modem_bins 하위 디렉토리를 생성합니다.
  5. "device/sprd/sharkle/common/ModemBuild.mk"에 지정된 이름에 따라 Zhanrui에서 출시한 AP 버전에 해당하는 모뎀 빈의 이름을 바꾸고 "device/sprd/sharkle/sl8541e_1h10_32b/modem_bins/" 디렉터리에 복사합니다.

다음은 SC9863A 플랫폼의 예입니다.

device/sprd/sharkle/common/ModemBuild.mk
MODEM_COPY_LIST := ltemodem ltegdsp ltedsp pmsys ltenvitem wcnmodem ltedeltanv \
	gnssmodem gnssbdmodem

이름 변경 규칙은 문서 끝 부분의 "모뎀 빈 이름 변경 매핑"을 참조하십시오.

접미사가 ".dat"인 주 모뎀 파일도 접미사가 ".bin"인 파일로 변경해야 합니다.

추신: ini 파일의 ota_partition에 있는 녹색 상자가 이름 변경에 따라 flash.cfg에서도 찾을 수 있으며 빨간색 상자에 해당하는 대문자 이름에 따라 실제 모뎀은 flash.cfg에서 찾을 수 있습니다.

  • "make otapackage" 명령을 통해 OTA 패키지를 컴파일합니다. 이 명령을 실행하면 버전 대상 패키지와 OTA 패키지가 생성됩니다. 전체 패키지 디렉토리: out/target/product/sl8541e_1h10_32b/sl8541e_1h10_32b_Natv-ota-eng.q.zip

추신: 향후 버전 업그레이드 시 차등 업그레이드를 사용하려면 이 버전에 해당하는 대상 파일을 예약해야 합니다. 경로는 다음과 같습니다.

out/target/product/sl8541e_1h10_32b/obj/PACKAGING/target_files_intermediates/sl8541e_1h10_32b_Natv-target_files-eng.q.zip
  • 버전 PAC 패키지를 만들려면 이 때 PAC 패키지를 생성하는 명령을 실행하십시오.

추신: make otapackage 명령이 많은 img를 다시 컴파일하고 이 단계 이후에 만들어진 PAC 패키지만 대상 패키지에 엄격하게 대응하기 때문에 make otapackage를 실행한 후에 엄격하게 PAC 패키지를 만드십시오.

대상 패키지에 따라 전체 오타 패키지를 만들 수도 있습니다.

./build/tools/releasetools/ota_from_target_files -k build/target/product/security/testkey sl8541e_1h10_32b_Natv-target_files-eng.q.zip update.zip

증분 업그레이드 패키지 생산 단계

차등 업그레이드 패키지는 업그레이드 차등 패키지와 다운그레이드 차등 패키지로 나뉩니다. 다운그레이드 차등패키지는 신버전에서 구버전으로 다운그레이드하는 패키지로, 안드로이드 7.0 이상 버전에서는 이런 종류의 업그레이드 패키지를 지원하며, 롤백 다운그레이드이므로 사용자 데이터를 지워야 하므로 이런 종류의 업그레이드 패키지를 함께 사용해야 한다. 주의.

  1. 버전 A 코드를 다운로드하고 "3.1 OTA 전체 업그레이드 패키지 제작 단계"의 모든 단계를 수행한 다음 이 버전에 해당하는 대상 패키지 A-target.zip을 저장합니다.
  2. B 버전 코드를 다운로드하고 "3.1 OTA 전체 업그레이드 패키지 제작 단계"의 모든 단계를 수행한 다음 이 버전에 해당하는 대상 패키지 B-target.zip을 저장합니다.
  3. 명령을 실행하여 차등 업그레이드 패키지를 만듭니다. "-k" 뒤의 매개변수 sign_key_dir은 실제 버전 키 배치 디렉토리이며, 사용자 버전에서는 "build/target/product/security/release/releasekey"이고 userdebug에서는 "build/target/product/security/testkey"입니다. 버전.
    升级差分包制作:
    ./build/tools/releasetools/ota_from_target_files –k sign_key_dir -i A-target.zip B-target.zip A-B_update.zip
    降级差分包制作此处须注意 A 版本必须要比 B 版本新,即编译时间靠后。这种差分包需要加入“--downgrade”参数。
    ./build/tools/releasetools/ota_from_target_files --downgrade –k sign_key_dir -i A-target.zip B-target.zip A-B__downgrade_update.zip
    
    举例子:
    ./build/tools/releasetools/ota_from_target_files -k build/target/product/security/testkey -i sl8541e_1h10_32b_Natv-target_files-eng.q.V1.zip sl8541e_1h10_32b_Natv-target_files-eng.q.zip update.zip

PAC 패키지를 통해 OTA 업그레이드 패키지 생성 

PAC 패키지에서 OTA 업그레이드 패키지를 직접 생성하면 다음과 같은 이점이 있습니다.

  • 대상 패키지를 컴파일할 필요가 없으므로 컴파일 시간이 절약됩니다.
  • 대상 패키지의 손실로 인해 업데이트 패키지를 생성할 수 없습니다.
  • 대상 패키지 및 OTA 패키지 저장을 위해 큰 저장 공간을 할당할 필요가 없습니다.

이 기능이 있는 OTATOOLS의 아이디어는 PAC 패키지의 imgs 및 파티션 테이블에서 OTA 업데이트 패키지를 만드는 데 필요한 요소를 분석하고 최종적으로 OTA 업데이트 패키지를 생성하는 것입니다.

현재 기존 OTATOOLS는 PAC 패키지와 대상 패키지를 모두 사용하여 업그레이드 패키지를 생성할 수 있으며 OTA 전체 패키지, 차등 패키지, 다운그레이드 패키지 등을 생성할 수 있습니다.

OTATOOLS 도구 획득

다음 명령을 순서대로 실행하여 프로젝트에 해당하는 otatool을 컴파일합니다.

1. source build/envsetup.sh
2. lunch 对应项目工程
3. kheader
4. make otatools

컴파일된 otatool은 out/target/product/spXXXX/ 디렉토리에 있습니다. 이 디렉토리는 자주 삭제되고 재컴파일될 수 있으므로 otatool 폴더(otatools.zip도 압축 해제 가능)를 다른 비엔지니어링 코드 Linux 환경의 별도 디렉토리로 이동하십시오. 사용하기위한.

오타툴의 특징:

  • 한 번 컴파일하면 각 버전을 다시 생성할 필요 없이 오랫동안 사용할 수 있습니다.
  • 이 도구는 대상 패키지를 사용하여 OTA 업데이트 패키지를 생성할 수 있으며 PAC 패키지를 사용하여 OTA 업데이트 패키지를 생성할 수도 있습니다.

 

특정 패키지 지침

制作 OTA 整包
./build/make/tools/releasetools/ota_from_pac_files -p product_name -k sign_key -t pac_target full_update.zip
制作 OTA 差分升级包
./build/make/tools/releasetools/ota_from_pac_files -p product_name -k sign_key -b pac_base -t pac_target delta_base-to-target.zip
制作降级差分升级包
./build/make/tools/releasetools/ota_from_pac_files -d -p product_name -k sign_key -b pac_newer_build -t pac_oldrget delta_update_newer-to-old.zip

 

모뎀 빈 이름 변경 맵

 

 

 

 위는 OTA 전체 패키지 또는 차동 패키지를 만들 수 있습니다. 

 단일 주기 "이행"

 

Supongo que te gusta

Origin blog.csdn.net/androidzmm/article/details/128285841
Recomendado
Clasificación