root@moto:~/ICS_SOURCE# make -j1 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=full_triumph
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IML74K
============================================
No private recovery resources for TARGET_DEVICE triumph
Package OTA: out/target/product/triumph/full_triumph-ota-eng.root.zip
unzipping target target-files...
running: unzip -o -q out/target/product/triumph/obj/PACKAGING/target_files_intermediates/full_triumph-target_files-eng.root.zip -d /tmp/targetfiles-PgCV6P
--- target info ---
blocksize = (int) 262144
boot_size = (int) 8388608
default_system_dev_certificate = (str) build/target/product/security/testkey
extfs_sparse_flag = (str) -s
fstab = (dict) {'/sdcard': <common.Partition object at 0x87afd8c>, '/cache': <common.Partition object at 0x87afc6c>, '/boot': <common.Partition object at 0x87afc0c>, '/system': <common.Partition object at 0x87afd2c>, '/sd-ext': <common.Partition object at 0x87afdec>, '/data': <common.Partition object at 0x87afccc>}
recovery_api_version = (int) 3
system_size = (int) 260046848
tool_extensions = (str) device/moto/triumph/../common
userdata_size = (int) 1191182336
using device-specific extensions in device/moto/common
building image from target_files BOOT...
running: mkbootfs /tmp/targetfiles-PgCV6P/BOOT/RAMDISK
running: minigzip
running: mkbootimg --kernel /tmp/targetfiles-PgCV6P/BOOT/kernel --cmdline console=ttyMSM1 androidboot.hardware=triumph --base 0x00200000 --pagesize 4096 --ramdisk /tmp/tmp4UuxJn --output /tmp/tmpBowHQy
building image from target_files RECOVERY...
running: mkbootfs /tmp/targetfiles-PgCV6P/RECOVERY/RAMDISK
running: minigzip
running: mkbootimg --kernel /tmp/targetfiles-PgCV6P/RECOVERY/kernel --cmdline console=ttyMSM1 androidboot.hardware=triumph --base 0x00200000 --pagesize 4096 --ramdisk /tmp/tmpWH6un5 --output /tmp/tmpykKZ0V
running: imgdiff /tmp/tmpeetZ2j /tmp/tmpbETLSR /tmp/tmpTQuM0o
Traceback (most recent call last):
File "./build/tools/releasetools/ota_from_target_files", line 832, in <module>
main(sys.argv[1:])
File "./build/tools/releasetools/ota_from_target_files", line 800, in main
WriteFullOTAPackage(input_zip, output_zip)
File "./build/tools/releasetools/ota_from_target_files", line 407, in WriteFullOTAPackage
MakeRecoveryPatch(output_zip, recovery_img, boot_img)
File "./build/tools/releasetools/ota_from_target_files", line 337, in MakeRecoveryPatch
recovery_type, recovery_device = common.GetTypeAndDevice("/recovery", OPTIONS.info_dict)
File "/root/ICS_SOURCE/build/tools/releasetools/common.py", line 821, in GetTypeAndDevice
return PARTITION_TYPES[fstab[mount_point].fs_type], fstab[mount_point].device
KeyError: '/recovery'
make: *** [out/target/product/triumph/full_triumph-ota-eng.root.zip] Error 1