Porting/adb
adb and fastboot do not build out of the box for ppc64le on Debian. fitzsim documented the following workarounds:
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
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
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