Work around MEMERASE ioctl for rk3066 compatibility
Due to a kernel bug and no available sources we have to work around the
MEMERASE ioctl - if used, it hangs and never returns. I straced the original
recovery executable and could see that it is simply calling write() with a
bunch of zeroes instead of using MEMERASE.
Added a hack that does the same and now the resulting TWRP recovery image works.
Change-Id: I1b1c1c9e870e350776346bdca5d442c7ef565aa0
diff --git a/mtdutils/Android.mk b/mtdutils/Android.mk
index 12322b4..0c238e1 100644
--- a/mtdutils/Android.mk
+++ b/mtdutils/Android.mk
@@ -7,9 +7,14 @@
mtdutils.c \
mounts.c
+ifeq ($(TARGET_BOARD_PLATFORM),rk30xx)
+LOCAL_SRC_FILES += rk30hack.c
+endif
+
LOCAL_MODULE := libmtdutils
LOCAL_STATIC_LIBRARIES := libcutils libc
LOCAL_FORCE_STATIC_EXECUTABLE := true
+
include $(BUILD_STATIC_LIBRARY)
endif # !TARGET_SIMULATOR