从KK(4.4)版本通过OTA升级到L(5.0)版本的问题集锦
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
L版本采用AOSP架构,而且默认会对/data加密,通过OTA升级到L版本,就和之前的常规方式有所差异。
而且因为/data被加密,会遇到较多问题,这里搜集目前遇到的问题,供参考。
后续会不时更新。
[SOLUTION]
[Case 1] data加密,OTA升级方式。
L版本/data加密,升级包需要放置到/data下面,才可以升级
1.SD卡升级
1)在normal mode下,把升级包update.zip,用adb先push到/data下面
2)输入 adb shell,输入 echo "--update_package=/data/update.zip" >
/cache/recovery/command
3)输入 adb shell ,执行 /system/bin/uncrypt
然后系统会自动进入recovery升级。
2. MOTA/FOTA升级
无需上述的命令,主要从DM端download升级包到/data分区后,手机会自动
reboot,uncrypt会自动被执行。
[Case 2] 进入recovery mode的方式
KK:power+volup键,进入LK选择界面,选择recovery mode后,出现小机器人,再按
power键,进入menu界面。
L:power+volup键,进入LK选择界面,选择recovery mode后,出现小机器人,再按
power+volup键,进入menu界面。
[Case 3]关闭L版本的data加密功能
修改 fstab.{ro.hardware} 文件:
alps/device/mediatek/$platform/fstab.{$platform}
将 forceencrypt 修改为 encryptable,如下图
然后重新build boot.img:
make ramdisk-nodeps
make bootimage-nodeps
或者重新build整个load。
关闭加密后,recovery下访问/data分区,如果有出现perSIMmon denied的问题,可能是SElinux的问题。
请先按照 FAQ11484 [SELinux] 如何设置确认selinux 模式 先来排查。
如果是SELinux的问题,可以添加如下:
\alps\device\mediatek\common\sepolicy\recovery.te
allow recovery app_data_file:{ file lnk_file } { create_file_perms
relabelfROM relabelto };
allow recovery app_data_file:dir { create_dir_perms relabelfrom relabelto
};
[Case 4]mtk_SHARE_SDCARD 关闭
默认下 MTK_SHARE_SDCARD=y,升级是OK。
如果需要将 MTK_SHARE_SDCARD 改为 no,可能会出现如下的升级错误:
USRDATA 0x58f80000
FAT 0x92b80000
phone_expdb_succeed=1
scatter_expdb_succeed=0
Error: Invalid partition setting
19: fat 1d1380000:92b80000
I:GPT not supported!
Installation aborted.
需要将以下两个文件同时修改:
alps/device/$custom/$project/ProjectConfig.mk
alps/kernel-3.10/arch/ARM/configs/$project_debug_deconfig
L版本采用AOSP架构,而且默认会对/data加密,通过OTA升级到L版本,就和之前的常规方式有所差异。
而且因为/data被加密,会遇到较多问题,这里搜集目前遇到的问题,供参考。
后续会不时更新。
[SOLUTION]
[Case 1] data加密,OTA升级方式。
L版本/data加密,升级包需要放置到/data下面,才可以升级
1.SD卡升级
1)在normal mode下,把升级包update.zip,用adb先push到/data下面
2)输入 adb shell,输入 echo "--update_package=/data/update.zip" >
/cache/recovery/command
3)输入 adb shell ,执行 /system/bin/uncrypt
然后系统会自动进入recovery升级。
2. MOTA/FOTA升级
无需上述的命令,主要从DM端download升级包到/data分区后,手机会自动
reboot,uncrypt会自动被执行。
[Case 2] 进入recovery mode的方式
KK:power+volup键,进入LK选择界面,选择recovery mode后,出现小机器人,再按
power键,进入menu界面。
L:power+volup键,进入LK选择界面,选择recovery mode后,出现小机器人,再按
power+volup键,进入menu界面。
[Case 3]关闭L版本的data加密功能
修改 fstab.{ro.hardware} 文件:
alps/device/mediatek/$platform/fstab.{$platform}
将 forceencrypt 修改为 encryptable,如下图
然后重新build boot.img:
make ramdisk-nodeps
make bootimage-nodeps
或者重新build整个load。
关闭加密后,recovery下访问/data分区,如果有出现perSIMmon denied的问题,可能是SElinux的问题。
请先按照 FAQ11484 [SELinux] 如何设置确认selinux 模式 先来排查。
如果是SELinux的问题,可以添加如下:
\alps\device\mediatek\common\sepolicy\recovery.te
allow recovery app_data_file:{ file lnk_file } { create_file_perms
relabelfROM relabelto };
allow recovery app_data_file:dir { create_dir_perms relabelfrom relabelto
};
[Case 4]mtk_SHARE_SDCARD 关闭
默认下 MTK_SHARE_SDCARD=y,升级是OK。
如果需要将 MTK_SHARE_SDCARD 改为 no,可能会出现如下的升级错误:
USRDATA 0x58f80000
FAT 0x92b80000
phone_expdb_succeed=1
scatter_expdb_succeed=0
Error: Invalid partition setting
19: fat 1d1380000:92b80000
I:GPT not supported!
Installation aborted.
需要将以下两个文件同时修改:
alps/device/$custom/$project/ProjectConfig.mk
alps/kernel-3.10/arch/ARM/configs/$project_debug_deconfig
:D:D:D:D:D:D:D
您好。能请教下关于OTA服务器搭建的问题么