Porting/adb
Jump to navigation
Jump to search
adb and fastboot do not build out of the box for ppc64le on Debian. fitzsim documented the following workarounds:
Contents
android-libext4-utils
apt source android-libext4-utils sed -i 's/\(mips64el\)/\1 ppc64el/g' android-platform-system-extras-*/debian/control cd android-platform-system-extras-*/ dpkg-buildpackage -rfakeroot
Tickets
android-platform-external-boringssl
apt source android-platform-external-boringssl
Apply this patch:
--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/sha/sha1.c
+++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/sha1.c
@@ -113,10 +113,12 @@ uint8_t *SHA1(const uint8_t *data, size_
(ix) = (a) = ROTATE((a), 1); \
} while (0)
+#if 0
#ifndef SHA1_ASM
static void sha1_block_data_order(uint32_t *state, const uint8_t *data,
size_t num);
#endif
+#endif
#include "../digest/md32_common.h"
@@ -189,6 +191,7 @@ static void sha1_block_data_order(uint32
* <appro@fy.chalmers.se> */
#define X(i) XX##i
+#if 0
#if !defined(SHA1_ASM)
static void sha1_block_data_order(uint32_t *state, const uint8_t *data,
size_t num) {
@@ -339,6 +342,7 @@ static void sha1_block_data_order(uint32
}
}
#endif
+#endif
#undef DATA_ORDER_IS_BIG_ENDIAN
#undef HASH_CTX
In libcrypto.mk, add -DOPENSSL_NO_ASM to the CFLAGS+= line.
dpkg-buildpackage -rfakeroot
Install the resulting packages.
android-platform-system-core
apt source fastboot sed -i 's/amd64/ppc64el/g' android-platform-system-core-*/debian/control
In that same control file, replace versioned references to android-libunwind-dev with unversioned references to libunwind-dev
cd android-platform-system-core-*/ make -f debian/rules libbase.so liblog.so fastboot/fastboot adb/adb
You should now have working adb and fastboot binaries:
LD_LIBRARY_PATH=`pwd` ./adb/adb --help LD_LIBRARY_PATH=`pwd` ./fastboot/fastboot --help