Make TWRP compile for x86-64 CPU target
Also add a short while loop to wait for fb0 to be created as was
needed on the x86-64 target for the Android emulator.
Change-Id: Ib1b87bea028ac3eac0541283334a0157cdfbce11
diff --git a/Android.mk b/Android.mk
index e76a3a9..ddd2c7d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -323,7 +323,11 @@
mkdosfs
ifneq ($(TARGET_ARCH), arm64)
- LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker
+ ifneq ($(TARGET_ARCH), x86_64)
+ LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker
+ else
+ LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker64
+ endif
else
LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker64
endif
diff --git a/minuitwrp/graphics.c b/minuitwrp/graphics.c
index 10d74a7..1465ce9 100644
--- a/minuitwrp/graphics.c
+++ b/minuitwrp/graphics.c
@@ -163,12 +163,17 @@
static int get_framebuffer(GGLSurface *fb)
{
- int fd;
+ int fd, index = 0;
void *bits;
fd = open("/dev/graphics/fb0", O_RDWR);
+ while (fd < 0 && index < 10) {
+ usleep(1000);
+ fd = open("/dev/graphics/fb0", O_RDWR);
+ index++;
+ }
if (fd < 0) {
- perror("cannot open fb0");
+ perror("cannot open fb0\n");
return -1;
}
diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk
index 9ff304c..07e24e3 100644
--- a/prebuilt/Android.mk
+++ b/prebuilt/Android.mk
@@ -26,7 +26,12 @@
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/e2fsck
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mke2fs
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/tune2fs
-RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker
+ifneq ($(TARGET_ARCH), x86_64)
+ RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker
+endif
+ifeq ($(TARGET_ARCH), x86_64)
+ RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker64
+endif
ifeq ($(TARGET_ARCH), arm64)
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker64
endif