Always use fw_mounter to mount secondary ROM's firmware.img
* Mounting the image as /firmware in multirom can clash with real /firmware mounted for encryption support
This commit is contained in:
24
multirom.c
24
multirom.c
@@ -1202,8 +1202,8 @@ int multirom_prep_android_mounts(struct multirom_rom *rom)
|
||||
int img = (int)(rom->type == ROM_ANDROID_USB_IMG);
|
||||
for(i = 0; i < ARRAY_SIZE(folders[0]); ++i)
|
||||
{
|
||||
sprintf(from, "%s/%s", rom->base_path, folders[img][i]);
|
||||
sprintf(to, "/%s", folders[0][i]);
|
||||
snprintf(from, sizeof(from), "%s/%s", rom->base_path, folders[img][i]);
|
||||
snprintf(to, sizeof(to), "/%s", folders[0][i]);
|
||||
|
||||
if(img == 0)
|
||||
{
|
||||
@@ -1222,18 +1222,14 @@ int multirom_prep_android_mounts(struct multirom_rom *rom)
|
||||
|
||||
if(has_fw && fw_part)
|
||||
{
|
||||
INFO("Mounting ROM's FW image instead of FW partition\n");
|
||||
sprintf(from, "%s/firmware.img", rom->base_path);
|
||||
if(strstr(fw_part->options, "context="))
|
||||
{
|
||||
INFO("Firmware's mount options contain 'context=...', injecting fw_mounter hack instead!\n");
|
||||
fw_part->device = realloc(fw_part->device, strlen(from)+1);
|
||||
strcpy(fw_part->device, from);
|
||||
multirom_inject_fw_mounter(rc_with_mount_all, fw_part);
|
||||
fw_part = NULL;
|
||||
}
|
||||
else if(mount_image(from, "/firmware", fw_part->type, fw_part->mountflags, fw_part->options) < 0)
|
||||
goto exit;
|
||||
// Can't mount the image here because it might clash with /firmware mounted
|
||||
// for encryption
|
||||
INFO("Mounting ROM's FW image instead of FW partition, using fw_mounter\n");
|
||||
snprintf(from, sizeof(from), "%s/firmware.img", rom->base_path);
|
||||
fw_part->device = realloc(fw_part->device, strlen(from)+1);
|
||||
strcpy(fw_part->device, from);
|
||||
multirom_inject_fw_mounter(rc_with_mount_all, fw_part);
|
||||
fw_part = NULL;
|
||||
}
|
||||
|
||||
#if MR_DEVICE_HOOKS >= 1
|
||||
|
||||
Reference in New Issue
Block a user