Change pbuilder to a cross-arm64 instead of native
- In pbuilder, set architecture to amd64 and host-arch to arm64. This
provides an amd64 chroot that cross-compiles for arm64, and as a result
is *much* faster.
- Also, bind mount /var/cache/pbuilder. This way separate invocations of
pbuilder inside docker will still be able to reuse fetched packages.
Change-Id: I686af7e3a2c9f89569b9b2103142199625efc8f2
diff --git a/docker.mk b/docker.mk
index cad77e9..a7a1b19 100644
--- a/docker.mk
+++ b/docker.mk
@@ -46,6 +46,7 @@
-v $(PREBUILT_DOCKER_ROOT)\:/docker \
-v $(PREBUILT_MODULES_ROOT)\:/modules \
-v $(FETCH_PBUILDER_DIRECTORY)\:/pbuilder \
+ -v /var/cache/pbuilder\:/var/cache/pbuilder \
-w /rootdir \
-e "DEBOOTSTRAP_FETCH_TARBALL=$(DEBOOTSTRAP_FETCH_TARBALL)" \
-e "ROOTFS_FETCH_TARBALL=$(ROOTFS_FETCH_TARBALL)" \
diff --git a/packages.mk b/packages.mk
index 4e0f403..df5d6db 100644
--- a/packages.mk
+++ b/packages.mk
@@ -27,8 +27,8 @@
--basetgz $@ \
--mirror http://http.us.debian.org/debian \
--distribution stretch \
- --architecture arm64 \
- --extrapackages debhelper
+ --architecture amd64 \
+ --extrapackages crossbuild-essential-arm64 debhelper
mkdir -p $(ROOTDIR)/cache/base-tmp
cd $(ROOTDIR)/cache/base-tmp; \
sudo tar xf $@; \
@@ -74,8 +74,9 @@
--buildresult $(PRODUCT_OUT) -- \
--basetgz $(ROOTDIR)/cache/base.tgz \
--configfile $(ROOTDIR)/build/pbuilderrc \
- --hookdir $(ROOTDIR)/build/pbuilder-hooks
- sudo touch $(PRODUCT_OUT)/.$1-pbuilder
+ --hookdir $(ROOTDIR)/build/pbuilder-hooks \
+ --host-arch arm64
+ touch $(PRODUCT_OUT)/.$1-pbuilder
.PHONY:: $1
endef