diff --git a/nyx/nyx_gui/frontend/gui_tools_partition_manager.c b/nyx/nyx_gui/frontend/gui_tools_partition_manager.c index b71cce5..222ceb4 100644 --- a/nyx/nyx_gui/frontend/gui_tools_partition_manager.c +++ b/nyx/nyx_gui/frontend/gui_tools_partition_manager.c @@ -836,9 +836,10 @@ static lv_res_t _action_check_flash_linux(lv_obj_t *btn) if (f_stat(path, &fno)) break; + // Check if current part is unaligned. if ((u64)fno.fsize % SZ_4M) { - // Check if last part. + // Get next part filename. idx++; if (idx < 10) { @@ -848,7 +849,7 @@ static lv_res_t _action_check_flash_linux(lv_obj_t *btn) else itoa(idx, &path[23], 10); - // If not the last part, unaligned size is not permitted. + // If it exists, unaligned size for current part is not permitted. if (!f_stat(path, NULL)) // NULL: Don't override current part fs info. { lv_label_set_text(lbl_status, "#FFDD00 Error:# The image is not aligned to 4 MiB!"); @@ -892,7 +893,7 @@ exit: return LV_RES_OK; } -static lv_res_t _action_reboot_twrp(lv_obj_t * btns, const char * txt) +static lv_res_t _action_reboot_recovery(lv_obj_t * btns, const char * txt) { int btn_idx = lv_btnm_get_pressed(btns); @@ -926,7 +927,7 @@ static lv_res_t _action_reboot_twrp(lv_obj_t * btns, const char * txt) static lv_res_t _action_flash_android_data(lv_obj_t * btns, const char * txt) { int btn_idx = lv_btnm_get_pressed(btns); - bool boot_twrp = false; + bool boot_recovery = false; // Delete parent mbox. mbox_action(btns, txt); @@ -1031,18 +1032,23 @@ boot_img_not_found: lv_label_set_text(lbl_status, txt_buf); manual_system_maintenance(true); - // Check if TWRP should be flashed. - strcpy(path, "switchroot/install/twrp.img"); + // Check if Recovery should be flashed. + strcpy(path, "switchroot/install/recovery.img"); if (f_stat(path, NULL)) { - strcat(txt_buf, "#FF8000 Warning:# TWRP image not found!\n"); - goto twrp_not_found; + // Not found, try twrp.img instead. + strcpy(path, "switchroot/install/twrp.img"); + if (f_stat(path, NULL)) + { + strcat(txt_buf, "#FF8000 Warning:# Recovery image not found!\n"); + goto recovery_not_found; + } } offset_sct = 0; size_sct = 0; - // Find TWRP partition. + // Find Recovery partition. for (u32 i = 0; i < gpt->header.num_part_ents; i++) { if (!memcmp(gpt->entries[i].name, (char[]) { 'S', 0, 'O', 0, 'S', 0 }, 6)) @@ -1056,7 +1062,7 @@ boot_img_not_found: break; } - // Flash TWRP. + // Flash Recovery. if (offset_sct && size_sct) { u32 file_size = 0; @@ -1072,20 +1078,20 @@ boot_img_not_found: } if ((file_size >> 9) > size_sct) - strcat(txt_buf, "#FF8000 Warning:# TWRP image too big!\n"); + strcat(txt_buf, "#FF8000 Warning:# Recovery image too big!\n"); else { sdmmc_storage_write(&sd_storage, offset_sct, file_size >> 9, buf); - strcat(txt_buf, "#C7EA46 Success:# TWRP image flashed!\n"); + strcat(txt_buf, "#C7EA46 Success:# Recovery image flashed!\n"); f_unlink(path); } free(buf); } else - strcat(txt_buf, "#FF8000 Warning:# TWRP partition not found!\n"); + strcat(txt_buf, "#FF8000 Warning:# Recovery partition not found!\n"); -twrp_not_found: +recovery_not_found: lv_label_set_text(lbl_status, txt_buf); manual_system_maintenance(true); @@ -1147,7 +1153,7 @@ twrp_not_found: dtb_not_found: lv_label_set_text(lbl_status, txt_buf); - // Check if TWRP is flashed unconditionally. + // Check if Recovery is flashed unconditionally. for (u32 i = 0; i < gpt->header.num_part_ents; i++) { if (!memcmp(gpt->entries[i].name, (char[]) { 'S', 0, 'O', 0, 'S', 0 }, 6)) @@ -1155,7 +1161,7 @@ dtb_not_found: u8 *buf = malloc(512); sdmmc_storage_read(&sd_storage, gpt->entries[i].lba_start, 1, buf); if (!memcmp(buf, "ANDROID", 7)) - boot_twrp = true; + boot_recovery = true; free(buf); break; } @@ -1165,12 +1171,12 @@ dtb_not_found: } error: - if (boot_twrp) + if (boot_recovery) { - // If a TWRP partition was found, ask user if rebooting into it is wanted. - strcat(txt_buf,"\n\nDo you want to reboot into TWRP\nto finish Android installation?"); + // If a Recovery partition was found, ask user if rebooting into it is wanted. + strcat(txt_buf,"\n\nDo you want to reboot into Recovery\nto finish Android installation?"); lv_label_set_text(lbl_status, txt_buf); - lv_mbox_add_btns(mbox, mbox_btn_map2, _action_reboot_twrp); + lv_mbox_add_btns(mbox, mbox_btn_map2, _action_reboot_recovery); } else lv_mbox_add_btns(mbox, mbox_btn_map, mbox_action); @@ -1201,7 +1207,7 @@ static lv_res_t _action_flash_android(lv_obj_t *btn) lv_obj_t *lbl_status = lv_label_create(mbox, NULL); lv_label_set_recolor(lbl_status, true); lv_label_set_text(lbl_status, - "This will flash #C7EA46 Kernel#, #C7EA46 DTB# and #C7EA46 TWRP# if found.\n" + "This will flash #C7EA46 Kernel#, #C7EA46 DTB# and #C7EA46 Recovery# if found.\n" "Do you want to continue?"); lv_mbox_add_btns(mbox, mbox_btn_map, _action_flash_android_data); @@ -2585,7 +2591,7 @@ lv_res_t create_window_partition_manager(lv_obj_t *btn) "Note 1: Only up to #C7EA46 1GB# can be backed up. If more, you will be asked to back them manually at the next step.\n" "Note 2: Resized emuMMC formats the USER partition. A save data manager can be used to move them over.\n" "Note 3: The #C7EA46 Flash Linux# and #C7EA46 Flash Android# will flash files if suitable partitions and installer files are found.\n" - "Note 4: The installation folder is #C7EA46 switchroot/install#. Linux uses #C7EA46 l4t.XX# and Android uses #C7EA46 twrp.img# and #C7EA46 tegra210-icosa.dtb#."); + "Note 4: The installation folder is #C7EA46 switchroot/install#. Linux uses #C7EA46 l4t.XX# and Android uses #C7EA46 recovery/twrp.img# and #C7EA46 tegra210-icosa.dtb#."); lv_label_set_style(lbl_notes, &hint_small_style); lv_obj_align(lbl_notes, lbl_and, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5);