From 1dd778fc165aa74598e5100c82a86344dc16a1be Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 3 Mar 2020 10:21:17 +0100 Subject: [PATCH] [Project] Initial Version --- bin-files64/i2c_get_clkt_tout | Bin 0 -> 9768 bytes bin-files64/i2c_set_clkt_tout | Bin 0 -> 9824 bytes bin-files64/pwm | Bin 0 -> 14040 bytes boot/cmdline_rpi4.txt | 1 + boot/config_rpi4.txt | 74 ++++ bootstrap_rpi4.sh | 73 ++++ build-kernel-rpi4.sh | 42 ++ build-toolchain-rpi4.sh | 41 ++ clean-kernel-rpi4-build.sh | 24 ++ copy-kernel-rpi4.sh | 52 +++ customize_rpi4.sh | 259 ++++++++++++ debs64/wiringpi-2.50-1_arm64.deb | Bin 0 -> 53662 bytes etc/apt/apt.conf.d/50raspi | 2 + etc/apt/sources_64.list | 16 + etc/default/keyboard | 10 + etc/default/locale | 11 + etc/default/rng-tools | 1 + etc/environment | 2 + etc/fstab | 4 + etc/locale.gen | 492 ++++++++++++++++++++++ etc/modules | 4 + etc/network/iptables.rules | 13 + etc/owfs.conf | 7 + etc/rc.local | 40 ++ etc/systemd/system/regen-ssh-keys.service | 24 ++ etc/udev/rules.d/99-com.rules | 32 ++ etc/wiringpi/cpuinfo | 2 + install-kernel-rpi4.sh | 50 +++ signatures/04EE7237B7D453EC.gpg | 238 +++++++++++ signatures/112695A0E562B32A.gpg | 195 +++++++++ signatures/648ACFD622F3D138.gpg | 183 ++++++++ signatures/7638D0442B90D010.gpg | 190 +++++++++ signatures/AA8E81B4331F7F50.gpg | 214 ++++++++++ signatures/DCC9EFBF77E11517.gpg | 62 +++ signatures/debian.org.gpg.asc | Bin 0 -> 2829 bytes signatures/debian_stretch.gpg.asc | Bin 0 -> 5768 bytes signatures/raspberrypi.gpg | 30 ++ signatures/raspbian.org.gpg.asc | Bin 0 -> 1225 bytes signatures/webupd8team.gpg | 15 + tomcat-setenv.sh | 3 + 40 files changed, 2406 insertions(+) create mode 100755 bin-files64/i2c_get_clkt_tout create mode 100755 bin-files64/i2c_set_clkt_tout create mode 100755 bin-files64/pwm create mode 100644 boot/cmdline_rpi4.txt create mode 100644 boot/config_rpi4.txt create mode 100755 bootstrap_rpi4.sh create mode 100755 build-kernel-rpi4.sh create mode 100755 build-toolchain-rpi4.sh create mode 100755 clean-kernel-rpi4-build.sh create mode 100755 copy-kernel-rpi4.sh create mode 100755 customize_rpi4.sh create mode 100644 debs64/wiringpi-2.50-1_arm64.deb create mode 100644 etc/apt/apt.conf.d/50raspi create mode 100644 etc/apt/sources_64.list create mode 100644 etc/default/keyboard create mode 100644 etc/default/locale create mode 100644 etc/default/rng-tools create mode 100644 etc/environment create mode 100644 etc/fstab create mode 100644 etc/locale.gen create mode 100644 etc/modules create mode 100644 etc/network/iptables.rules create mode 100644 etc/owfs.conf create mode 100755 etc/rc.local create mode 100644 etc/systemd/system/regen-ssh-keys.service create mode 100644 etc/udev/rules.d/99-com.rules create mode 100644 etc/wiringpi/cpuinfo create mode 100755 install-kernel-rpi4.sh create mode 100644 signatures/04EE7237B7D453EC.gpg create mode 100644 signatures/112695A0E562B32A.gpg create mode 100644 signatures/648ACFD622F3D138.gpg create mode 100644 signatures/7638D0442B90D010.gpg create mode 100644 signatures/AA8E81B4331F7F50.gpg create mode 100644 signatures/DCC9EFBF77E11517.gpg create mode 100644 signatures/debian.org.gpg.asc create mode 100644 signatures/debian_stretch.gpg.asc create mode 100644 signatures/raspberrypi.gpg create mode 100644 signatures/raspbian.org.gpg.asc create mode 100644 signatures/webupd8team.gpg create mode 100644 tomcat-setenv.sh diff --git a/bin-files64/i2c_get_clkt_tout b/bin-files64/i2c_get_clkt_tout new file mode 100755 index 0000000000000000000000000000000000000000..4e56b6797787960193fdb6d16b210e859268e998 GIT binary patch literal 9768 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 F{{~I`;4T0F literal 0 HcmV?d00001 diff --git a/bin-files64/i2c_set_clkt_tout b/bin-files64/i2c_set_clkt_tout new file mode 100755 index 0000000000000000000000000000000000000000..ea0681262ab7690504b58627205f67b44b509d64 GIT binary patch literal 9824 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 literal 0 HcmV?d00001 diff --git a/bin-files64/pwm b/bin-files64/pwm new file mode 100755 index 0000000000000000000000000000000000000000..85e12cbe31db37a4fb79935d5eb97aa776ab5635 GIT binary patch literal 14040 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/dev/null 2>&1 || { echo >&2 "$1 not installed"; exit 1; } +} + +echo "INFO: Checking for required programs..." +check_installed vmdebootstrap +check_installed apt-cacher-ng +check_installed qemu-aarch64-static + +#if [ -z "$MIRROR" ]; then +# MIRROR=mirrordirector.raspbian.org/raspbian +#fi +#export MIRROR +# --mirror http://localhost:3142/$MIRROR \ + +IMAGE=`date +raspbian-rpi4_arm64-%Y%m%d.img` + +# sudo vi /usr/lib/python2.7/dist-packages/vmdebootstrap/constants.py +# --- +# vmdebootstrap/constants.py | 2 +- +# 1 file changed, 1 insertion(+), 1 deletion(-) +# +# diff --git a/vmdebootstrap/constants.py b/vmdebootstrap/constants.py +# index 9f39415..3d807c6 100644 +# --- a/vmdebootstrap/constants.py +# +++ b/vmdebootstrap/constants.py +# @@ -46,7 +46,7 @@ arch_table = { # pylint: disable=invalid-name +# 'package': 'grub-efi-arm64', +# 'bin_package': 'grub-efi-arm64-bin', +# 'extra': None, +# - 'exclusive': True, +# + 'exclusive': False, +# 'target': 'arm64-efi', +# } +# } +# -- +# 2.9.3 + +echo "INFO: Starting vmdebootstrap..." +vmdebootstrap \ + --arch arm64 \ + --distribution stretch \ + --image "$IMAGE" \ + --size 2500M \ + --roottype ext4 \ + --bootsize 128M \ + --boottype vfat \ + --lock-root-password \ + --sudo \ + --user ${NEW_USER}/${NEW_USER} \ + --enable-dhcp \ + --log=bootstrap.log \ + --log-level=debug \ + --log-keep=1 \ + --verbose \ + --owner=${SUDO_USER} \ + --no-kernel \ + --no-extlinux \ + --no-acpid \ + --hostname raspbian \ + --foreign /usr/bin/qemu-aarch64-static \ + --debootstrapopts="keyring=$SOURCEDIR/signatures/debian.org.gpg.asc" \ + --package netbase \ + --pkglist \ + --customize $(dirname $0)/customize_rpi4.sh + +$(dirname $0)/autosizer.sh "$IMAGE" 50 diff --git a/build-kernel-rpi4.sh b/build-kernel-rpi4.sh new file mode 100755 index 0000000..53a85fa --- /dev/null +++ b/build-kernel-rpi4.sh @@ -0,0 +1,42 @@ +#!/bin/bash -e + +if ! which bison > /dev/null || ! which flex > /dev/null ; then + echo "INFO: Calling sudo to install bison and flex" + sudo apt-get install bison flex +fi + +cd "${TOOLCHAIN}" +if ! [[ -d rpi-linux ]] ; then + git clone https://github.com/raspberrypi/linux.git rpi-linux +fi + +cd rpi-linux +git fetch +git clean -Xf +git clean -df + +git checkout rpi-4.19.y # change the branch name for newer versions +git reset --hard + +mkdir -p kernel-build + +export ARCH=arm64 +export CROSS_COMPILE=aarch64-linux-gnu- +export KBUILD_OUTPUT=./kernel-build/ +export INSTALL_MOD_PATH="./kernel-install" +export PATH=$PATH:$TOOLCHAIN/bin + +make bcm2711_defconfig +make -j${JOBS} +make -j"${JOBS}" modules dtbs +make -j"${JOBS}" modules_install + +cd "${TOOLCHAIN}" +if ! [[ -d rpi-tools ]] ; then + git clone https://github.com/raspberrypi/tools.git rpi-tools +fi +cd rpi-tools/armstubs +git checkout 7f4a937e1bacbc111a22552169bc890b4bb26a94 +PATH=$PATH:$TOOLCHAIN/bin make armstub8-gic.bin + +exit 0 \ No newline at end of file diff --git a/build-toolchain-rpi4.sh b/build-toolchain-rpi4.sh new file mode 100755 index 0000000..e41dba8 --- /dev/null +++ b/build-toolchain-rpi4.sh @@ -0,0 +1,41 @@ +#!/bin/bash -e + +## +## https://blog.cloudkernels.net/posts/rpi4-64bit-image/ +## + +# build bin-utils +cd "$TOOLCHAIN" +if ! [[ -d ${BIN_UTILS} ]] ; then + if ! [[ -f ${BIN_UTILS}.tar.bz2 ]] ; then + wget https://ftp.gnu.org/gnu/binutils/${BIN_UTILS}.tar.bz2 + fi + tar -xf "${BIN_UTILS}.tar.bz2" +fi + +mkdir -p "${BIN_UTILS}-build" +cd "${BIN_UTILS}-build" +../${BIN_UTILS}/configure --prefix="$TOOLCHAIN" --target=aarch64-linux-gnu --disable-nls +make -j"${JOBS}" +make install + +# build gcc +cd "$TOOLCHAIN" +if ! [[ -d ${GCC} ]] ; then + if ! [[ -f "${GCC}.tar.gz" ]] ; then + wget "https://ftp.gnu.org/gnu/gcc/${GCC}/${GCC}.tar.gz" + fi + tar -xf "${GCC}.tar.gz" +fi + +cd "${GCC}" +./contrib/download_prerequisites +cd .. + +mkdir -p "${GCC}-build" +cd "${GCC}-build" +../${GCC}/configure --prefix="$TOOLCHAIN" --target=aarch64-linux-gnu --with-newlib --without-headers --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages=c +make all-gcc -j"${JOBS}" +make install-gcc + +exit 0 \ No newline at end of file diff --git a/clean-kernel-rpi4-build.sh b/clean-kernel-rpi4-build.sh new file mode 100755 index 0000000..523b7f6 --- /dev/null +++ b/clean-kernel-rpi4-build.sh @@ -0,0 +1,24 @@ +#!/bin/bash -e + +SOURCEDIR="$(cd ${0%/*} ; pwd)" +export TOOLCHAIN="${SOURCEDIR}/toolchains/aarch64" + +cd "${TOOLCHAIN}" +if [[ -d rpi-linux ]] ; then + echo "INFO: Cleaning Raspberry Pi 4 Kernel at ${TOOLCHAIN}/rpi-linux" + cd rpi-linux + git clean -Xf + git clean -df + git reset --hard +fi + +cd "${TOOLCHAIN}" +if [[ -d rpi-firmware ]] ; then + echo "INFO: Cleaning Raspberry Pi 4 Firmware at ${TOOLCHAIN}/rpi-firmware" + cd rpi-firmware + git clean -Xf + git clean -df + git reset --hard +fi + +exit 0 \ No newline at end of file diff --git a/copy-kernel-rpi4.sh b/copy-kernel-rpi4.sh new file mode 100755 index 0000000..3bc1fdc --- /dev/null +++ b/copy-kernel-rpi4.sh @@ -0,0 +1,52 @@ +#!/bin/bash -e + +ROOTDIR="$1" +BOOTDIR=${ROOTDIR}/boot + +cd "${TOOLCHAIN}" + +BUILD_PATH=./rpi-linux/kernel-build +TOOLS_PATH=./rpi-tools/armstubs + +cd rpi-linux +KERNEL_VERSION="$(make kernelversion)-v8+" + +cd "${TOOLCHAIN}" + +if ! [[ -d firmware-nonfree ]] ; then + git clone https://github.com/RPi-Distro/firmware-nonfree firmware-nonfree +fi + +if ! [[ -d rpi-firmware ]] ; then + git clone https://github.com/Hexxeh/rpi-firmware.git rpi-firmware +fi + +echo "INFO: Copying firmware files..." +cp -v rpi-firmware/bcm* "${BOOTDIR}/" +cp -v rpi-firmware/bootcode.bin "${BOOTDIR}/" +cp -v rpi-firmware/fixup* "${BOOTDIR}/" +cp -v rpi-firmware/kernel* "${BOOTDIR}/" +cp -v rpi-firmware/Module* "${BOOTDIR}/" +cp -v rpi-firmware/start* "${BOOTDIR}/" +cp -v rpi-firmware/uname* "${BOOTDIR}/" +cp -rv rpi-firmware/overlays "${BOOTDIR}/" + +echo "INFO: Copying compiled kernel..." +cp -v ${BUILD_PATH}/arch/arm64/boot/Image "${BOOTDIR}/kernel8.img" +cp -v ${BUILD_PATH}/arch/arm64/boot/dts/broadcom/*.dtb "${BOOTDIR}/overlays/" +cp -v ./rpi-linux/arch/arm64/boot/dts/overlays/README "${BOOTDIR}/overlays/" +cp -v ${TOOLS_PATH}/armstub8-gic.bin "${BOOTDIR}/armstub8-gic.bin" + +echo "INFO: Copying modules..." +rm -rf ${ROOTDIR}/lib/modules/${KERNEL_VERSION} +mkdir -p ${ROOTDIR}/lib/modules/${KERNEL_VERSION} +cp -rv ${BUILD_PATH}/kernel-install/lib/modules/${KERNEL_VERSION}/kernel "${ROOTDIR}/lib/modules/${KERNEL_VERSION}/" +cp -v ${BUILD_PATH}/kernel-install/lib/modules/${KERNEL_VERSION}/mod* "${ROOTDIR}/lib/modules/${KERNEL_VERSION}/" + +echo "INFO: Copying firmware..." +rsync -av firmware-nonfree/* "${ROOTDIR}/lib/firmware" + +echo "INFO: Copying config.txt..." +cp ../../boot/config_rpi4.txt "${BOOTDIR}/config.txt" + +exit 0 \ No newline at end of file diff --git a/customize_rpi4.sh b/customize_rpi4.sh new file mode 100755 index 0000000..595e3db --- /dev/null +++ b/customize_rpi4.sh @@ -0,0 +1,259 @@ +#!/bin/bash -e + +NEW_USER="pi" + +TOMCAT_VERSION=9.0.31 +TOMCAT_FILE=apache-tomcat-9.0.31.tar.gz +TOMCAT_URL=http://mirror.easyname.ch/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz + +WIRING_PI_VERSION=2.50 +WIRING_PI_DEB=wiringpi-2.50-1_arm64.deb + +JAVA_VERSION=11.0.6+10 +JAVA_DEB=bellsoft-jdk11.0.6+10-linux-aarch64.deb +JAVA_URL=https://download.bell-sw.com/java/11.0.6+10/bellsoft-jdk11.0.6+10-linux-aarch64.deb + +SOURCEDIR="$(cd ${0%/*} ; pwd)" +ROOTDIR="$1" + +# Do not start services during installation. +echo exit 101 > ${ROOTDIR}/usr/sbin/policy-rc.d +chmod +x ${ROOTDIR}/usr/sbin/policy-rc.d + +export LANG=POSIX + + +# Configure apt. +echo +echo "INFO: Configuring APT..." +export DEBIAN_FRONTEND=noninteractive +mkdir -p ${ROOTDIR}/etc/apt/sources.list.d/ +mkdir -p ${ROOTDIR}/etc/apt/apt.conf.d/ +echo "Acquire::http { Proxy \"http://localhost:3142\"; };" > ${ROOTDIR}/etc/apt/apt.conf.d/50apt-cacher-ng +cp ${SOURCEDIR}/etc/apt/sources_64.list ${ROOTDIR}/etc/apt/sources.list +cp ${SOURCEDIR}/etc/apt/apt.conf.d/50raspi ${ROOTDIR}/etc/apt/apt.conf.d/50raspi +chroot ${ROOTDIR} apt-get update +chroot ${ROOTDIR} apt-get -y dist-upgrade +chroot ${ROOTDIR} apt-get clean -y +chroot ${ROOTDIR} apt-get autoclean -y +chroot ${ROOTDIR} apt-get autoremove -y + +# configure locale +echo +echo "INFO: Configuring locale..." +chroot ${ROOTDIR} apt-get install -y locales tzdata +cp ${SOURCEDIR}/etc/default/locale ${ROOTDIR}/etc/default/locale +cp ${SOURCEDIR}/etc/default/keyboard ${ROOTDIR}/etc/default/keyboard +cp ${SOURCEDIR}/etc/locale.gen ${ROOTDIR}/etc/locale.gen +chroot ${ROOTDIR} locale-gen +TIMEZONE="Europe/Zurich" +echo $TIMEZONE > ${ROOTDIR}/etc/timezone +ln -sf /usr/share/zoneinfo/${TIMEZONE} ${ROOTDIR}/etc/localtime + + +# Install packages +echo +echo "INFO: Installing packages..." +chroot ${ROOTDIR} apt-get --no-install-recommends install -y \ + anacron \ + apt-utils \ + bash-completion \ + byobu \ + python-cliapp \ + binutils \ + bzip2 \ + console-data \ + ca-certificates \ + cron-apt \ + curl \ + debian-keyring \ + debian-archive-keyring \ + dbus \ + dhcpcd5 \ + dirmngr \ + fail2ban \ + fake-hwclock \ + git \ + i2c-tools \ + ifupdown \ + iptables \ + iputils-ping \ + isc-dhcp-client \ + kbd \ + kmod \ + less \ + libapr1 \ + locales \ + man-db \ + nano \ + needrestart \ + net-tools \ + netbase \ + ntp \ + ntpdate \ + openssh-server \ + owfs \ + parted \ + python-ow \ + rng-tools \ + rsync \ + uuid-runtime \ + unzip \ + vim \ + wget + +chroot ${ROOTDIR} apt-get autoclean -y +chroot ${ROOTDIR} apt-get autoremove -y + + +# Install Java +echo +echo "INFO: Downloading JDK ${JAVA_VERSION}..." +if [[ ! -f ${JAVA_DEB} ]] ; then + echo "INFO: Downloading JDK ${JAVA_VERSION} from ${JAVA_URL}..." + if ! wget --quiet --continue -O ${SOURCEDIR}/debs64/${JAVA_DEB} ${JAVA_URL} ; then + echo "ERROR: Failed to download JDK!" + fi +else + echo "INFO: JDK ${JAVA_VERSION} already downloaded." +fi + +echo "INFO: Installing Java deb ${JAVA_DEB}" +mkdir -p ${ROOTDIR}/opt/downloads +cp ${SOURCEDIR}/debs64/${JAVA_DEB} ${ROOTDIR}/opt/downloads/ +chroot ${ROOTDIR} apt-get --no-install-recommends install -y libasound2 libfreetype6 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxrender1 libxtst6 +chroot ${ROOTDIR} apt-get autoclean -y +chroot ${ROOTDIR} apt-get autoremove -y +chroot ${ROOTDIR} dpkg -i /opt/downloads/${JAVA_DEB} +rm ${ROOTDIR}/opt/downloads/${JAVA_DEB} +echo "INFO: JDK ${JAVA_VERSION} installed." + + +# Configuring boot +echo +echo "INFO: Configuring boot..." +cp ${SOURCEDIR}/boot/cmdline_rpi4.txt ${ROOTDIR}/boot/cmdline.txt +cp ${SOURCEDIR}/boot/config_rpi4.txt ${ROOTDIR}/boot/config.txt +cp ${SOURCEDIR}/etc/default/* ${ROOTDIR}/etc/default/ +cp ${SOURCEDIR}/etc/fstab ${ROOTDIR}/etc/fstab +cp ${SOURCEDIR}/etc/modules ${ROOTDIR}/etc/modules +cp -r ${SOURCEDIR}/etc/wiringpi ${ROOTDIR}/etc/wiringpi +cp ${SOURCEDIR}/etc/network/iptables.rules ${ROOTDIR}/etc/network/iptables.rules +cp ${SOURCEDIR}/etc/rc.local ${ROOTDIR}/etc/rc.local +ln -fs /dev/null ${ROOTDIR}/etc/systemd/network/99-dhcp.network +chmod a+x ${ROOTDIR}/etc/rc.local + + +# Install kernel. +echo +echo "INFO: Installing kernel..." +${SOURCEDIR}/install-kernel-rpi4.sh ${ROOTDIR} + + +# Regenerate SSH host keys on first boot. +echo +echo "INFO: Deleting generated SSH host keys..." +chroot ${ROOTDIR} apt-get install -y +rm -f ${ROOTDIR}/etc/ssh/ssh_host_* +mkdir -p ${ROOTDIR}/etc/systemd/system +cp ${SOURCEDIR}/etc/systemd/system/regen-ssh-keys.service ${ROOTDIR}/etc/systemd/system/regen-ssh-keys.service +chroot ${ROOTDIR} systemctl enable regen-ssh-keys + + +# Raspberry Pi features. +echo +echo "INFO: Configuring Raspberry Pi features..." + +# get raspi-config +echo "INFO: Cloning raspi-config..." +cd ${ROOTDIR}/opt/ +git clone https://github.com/RPi-Distro/raspi-config.git + +# configure non-root interfaces +echo "INFO: Adding special groups..." +chroot ${ROOTDIR} groupadd --force gpio +chroot ${ROOTDIR} groupadd --force i2c +chroot ${ROOTDIR} groupadd --force spi + +echo "INFO: Adding udev rules..." +cp ${SOURCEDIR}/etc/udev/rules.d/99-com.rules ${ROOTDIR}/etc/udev/rules.d/99-com.rules + +# copy binaries +echo "INFO: Copying special binaries..." +mkdir -p ${ROOTDIR}/usr/local/bin +cp ${SOURCEDIR}/bin-files64/* ${ROOTDIR}/usr/local/bin/ +chmod u+s ${ROOTDIR}/usr/local/bin/pwm +chmod u+s ${ROOTDIR}/usr/local/bin/i2c_get_clkt_tout +chmod u+s ${ROOTDIR}/usr/local/bin/i2c_set_clkt_tout +cd ${SOURCEDIR} + + +# WiringPi +echo +echo "INFO: Installing wiringPi ${WIRING_PI_VERSION}" +mkdir -p ${ROOTDIR}/opt/downloads +cp ${SOURCEDIR}/debs64/${WIRING_PI_DEB} ${ROOTDIR}/opt/downloads/ +chroot ${ROOTDIR} dpkg -i /opt/downloads/${WIRING_PI_DEB} +rm ${ROOTDIR}/opt/downloads/${WIRING_PI_DEB} +echo "INFO: wiringPi ${WIRING_PI_VERSION} installed." + + +# Configure OWFS +echo +echo "INFO: Configuring OWFS..." +cp ${SOURCEDIR}/etc/owfs.conf ${ROOTDIR}/etc/owfs.conf +mkdir -p ${ROOTDIR}/mnt/1wire0 +chroot ${ROOTDIR} systemctl disable owftpd +chroot ${ROOTDIR} systemctl disable owhttpd + + +# Configure user +echo +echo "INFO: Configuring User ${NEW_USER}..." +chroot ${ROOTDIR} usermod ${NEW_USER} --append --groups i2c,spi,gpio,dialout + + +# Create a swapfile. +echo +echo "INFO: Creating SWAP file..." +dd if=/dev/zero of=${ROOTDIR}/var/swapfile bs=1M count=512 +chroot ${ROOTDIR} chmod 600 /var/swapfile +chroot ${ROOTDIR} mkswap /var/swapfile +echo /var/swapfile none swap sw 0 0 >> ${ROOTDIR}/etc/fstab + + +# Tomcat preparations +echo +echo "INFO: Preparing Apache Tomcat ${TOMCAT_VERSION}..." +if [[ ! -f ${TOMCAT_FILE} ]] ; then + echo "INFO: Downloading Apache Tomcat..." + if ! wget --quiet -O ${SOURCEDIR}/${TOMCAT_FILE} ${TOMCAT_URL} ; then + echo "ERROR: Failed to download Tomcat!" + fi +fi +tar -xzf ${TOMCAT_FILE} +rm -rf apache-tomcat-${TOMCAT_VERSION}/webapps/{docs,examples,host-manager,manager} +mv apache-tomcat-${TOMCAT_VERSION} ${ROOTDIR}/opt/ +cd ${ROOTDIR}/opt/ +ln -s apache-tomcat-${TOMCAT_VERSION} tomcat + +cp ${SOURCEDIR}/tomcat-setenv.sh ${ROOTDIR}/opt/tomcat/bin/setenv.sh + +echo +echo "INFO: Preparing directories..." +chroot ${ROOTDIR} chown -R ${NEW_USER}:${NEW_USER} /opt/downloads +chroot ${ROOTDIR} chown -R ${NEW_USER}:${NEW_USER} /opt/apache-tomcat-${TOMCAT_VERSION} +chroot ${ROOTDIR} chown -R ${NEW_USER}:${NEW_USER} /opt/tomcat + + +# Done. +echo +echo "INFO: Cleaning up..." +chroot ${ROOTDIR} apt-get clean -y +chroot ${ROOTDIR} apt-get autoclean -y +chroot ${ROOTDIR} apt-get autoremove -y +rm ${ROOTDIR}/usr/sbin/policy-rc.d +rm ${ROOTDIR}/etc/apt/apt.conf.d/50apt-cacher-ng +echo "INFO: Done." +echo +echo diff --git a/debs64/wiringpi-2.50-1_arm64.deb b/debs64/wiringpi-2.50-1_arm64.deb new file mode 100644 index 0000000000000000000000000000000000000000..989c663e202895d586bdcaee13befd818f31c749 GIT binary patch literal 53662 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 literal 0 HcmV?d00001 diff --git a/signatures/debian_stretch.gpg.asc b/signatures/debian_stretch.gpg.asc new file mode 100644 index 0000000000000000000000000000000000000000..80740585b05f041654ef3240ba8e682f4dd7330a GIT binary patch literal 5768 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