getprop("ro.product.device") == "p281" || abort("E3004: This package is for \"p281\" devices; this is a \"" + getprop("ro.product.device") + "\".");
if ota_zip_check() == "1" then
set_bootloader_env("upgrade_step", "3");
backup_data_cache(dtb, /cache/recovery/);
write_dtb_image(package_extract_file("dtb.img"));
backup_data_cache(recovery, /cache/recovery/);
package_extract_file("recovery.img", "/dev/block/recovery");
reboot_recovery();
else
ui_print("Target: Amlogic/p281/p281:7.1.2/NHG47L/20180928:userdebug/test-keys");
set_bootloader_env("upgrade_step", "3");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
package_extract_file("logo.img", "/dev/block/logo");
backup_data_cache(dtb, /cache/recovery/);
write_dtb_image(package_extract_file("dtb.img"));
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/boot");
show_progress(0.050000, 5);
backup_data_cache(recovery, /cache/recovery/);
package_extract_file("recovery.img", "/dev/block/recovery");
show_progress(0.200000, 10);
write_bootloader_image(package_extract_file("bootloader.img"), "bootloader");
set_bootloader_env("upgrade_step", "1");
set_bootloader_env("force_auto_update", "false");
set_progress(1.000000);
endif;
