blob: bb744bbcfc6c5a349ab2a8095db28ae35880d212 [file] [log] [blame]
Joel Fernandes301e4552018-04-05 22:46:19 -07001#!/bin/bash
2
Joel Fernandes9d767b42018-04-05 22:55:24 -07003spath="$(dirname "$(readlink -f "$0")")"
4source $spath/utils/android
5source $spath/utils/banners
6
Joel Fernandes301e4552018-04-05 22:46:19 -07007ARCH=$1
8DISTRO=$2
9TDIR=$3
10OUT_TMP=$4
11PACKAGES=$5
Joel Fernandes (Google)57b3fd22018-05-29 16:27:03 -070012EXTRA_FILES="$(cat $6)"
Joel Fernandes (Google)4b216fd2018-05-29 12:33:27 -070013INSTALL_BCC=$7
14SKIP_COMPRESS=$8
Joel Fernandes301e4552018-04-05 22:46:19 -070015
Joel Fernandes (Google)4f711082018-05-29 16:23:15 -070016time qemu-debootstrap --arch $ARCH --include=$PACKAGES \
Joel Fernandes301e4552018-04-05 22:46:19 -070017 $DISTRO $OUT_TMP http://deb.debian.org/debian/
18
19# Some reason debootstrap leaves these mounted
20umount $OUT_TMP/proc/sys/fs/binfmt_misc || true
21umount $OUT_TMP/proc || true
22
23# Make bash the default shell
24chroot $OUT_TMP rm /bin/sh || true
25chroot $OUT_TMP ln -s /bin/bash /bin/sh || true
26cp $spath/addons/bashrc $OUT_TMP/.bashrc
Joel Fernandesfa4b8cd2018-07-02 20:08:07 -070027cp $spath/addons/bashrc.common $OUT_TMP/.bashrc.common
28cp $spath/addons/bashrc.silent $OUT_TMP/.bashrc.silent
Joel Fernandes301e4552018-04-05 22:46:19 -070029
Joel Fernandes (Google)4b216fd2018-05-29 12:33:27 -070030for f in $EXTRA_FILES; do
31 if [ $f == "none" ]; then continue; fi
32 cp $f $OUT_TMP/
33done
34
Joel Fernandes301e4552018-04-05 22:46:19 -070035# Cleanup
36rm -rf $OUT_TMP/lib/udev/*
37rm -rf $OUT_TMP/var/lib/apt/lists/*
38rm -rf $OUT_TMP/var/cache/apt/archives/*deb
39rm -rf $OUT_TMP/usr/share/locale/*
40rm -rf $OUT_TMP/usr/lib/share/locale/*
41rm -rf $OUT_TMP/usr/share/doc/*
42rm -rf $OUT_TMP/usr/lib/share/doc/*
43rm -rf $OUT_TMP/usr/share/ieee-data/*
44rm -rf $OUT_TMP/usr/lib/share/ieee-data/*
45rm -rf $OUT_TMP/usr/share/man/*
46rm -rf $OUT_TMP/usr/lib/share/man/*
47
Joel Fernandes73a21302018-07-08 14:04:31 -070048# Fix apt-get issue: Android requires _apt user to be in the
49# AID_INET group which is also android specific.
50grep -ri _apt:x:100:65534 $OUT_TMP/etc/passwd
51if [ $? -ne 0 ]; then
52 echo "ERROR: _apt user cannot be added to AID_INET group"
53else
54 sed -i -e 's/_apt:x:100:65534/_apt:x:100:3003/' /etc/passwd
55fi
56
Joel Fernandes301e4552018-04-05 22:46:19 -070057# Clone BCC if needed
58if [[ ! -z ${INSTALL_BCC+x} ]]; then
59git clone https://github.com/iovisor/bcc.git $TDIR/debian/bcc-master
60cp $spath/bcc/build-bcc.sh $TDIR/debian/bcc-master/; fi
61
Joel Fernandes (Google)9c3ae932018-05-28 14:34:48 -070062# Should be really do this?
63chmod -R 0777 $TDIR/
64
65if [ $SKIP_COMPRESS -eq 1 ]; then exit 0; fi
66
Joel Fernandes301e4552018-04-05 22:46:19 -070067echo "Compressing new filesystem to prepare to push to Android /data/androdeb/"
68tar -zcf $TDIR/deb.tar.gz -C $TDIR debian
69
Joel Fernandes301e4552018-04-05 22:46:19 -070070chmod 0777 $TDIR/deb.tar.gz