commit 1dd778fc165aa74598e5100c82a86344dc16a1be Author: Robert von Burg Date: Tue Mar 3 10:21:17 2020 +0100 [Project] Initial Version diff --git a/bin-files64/i2c_get_clkt_tout b/bin-files64/i2c_get_clkt_tout new file mode 100755 index 0000000..4e56b67 Binary files /dev/null and b/bin-files64/i2c_get_clkt_tout differ diff --git a/bin-files64/i2c_set_clkt_tout b/bin-files64/i2c_set_clkt_tout new file mode 100755 index 0000000..ea06812 Binary files /dev/null and b/bin-files64/i2c_set_clkt_tout differ diff --git a/bin-files64/pwm b/bin-files64/pwm new file mode 100755 index 0000000..85e12cb Binary files /dev/null and b/bin-files64/pwm differ diff --git a/boot/cmdline_rpi4.txt b/boot/cmdline_rpi4.txt new file mode 100644 index 0000000..2ff5cfb --- /dev/null +++ b/boot/cmdline_rpi4.txt @@ -0,0 +1 @@ +dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait console=ttyAMA0,115200 diff --git a/boot/config_rpi4.txt b/boot/config_rpi4.txt new file mode 100644 index 0000000..2ecf426 --- /dev/null +++ b/boot/config_rpi4.txt @@ -0,0 +1,74 @@ +# For more options and information see +# http://rpf.io/configtxt +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +#hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +dtparam=i2s=on +#dtparam=spi=on +dtoverlay=pwm + +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +#dtparam=audio=on + +[pi4] +# Enable DRM VC4 V3D driver on top of the dispmanx display stack +dtoverlay=vc4-fkms-v3d +max_framebuffers=2 + +[all] +dtoverlay=vc4-fkms-v3d +enable_uart=1 +dtoverlay=pi3-disable-bt +armstub=armstub8-gic.bin +enable_gic=1 +arm_64bit=1 +#total_mem=1024 +# differentiate from Pi3 64-bit kernels +#kernel=kernel8-p4.img +#kernel=kernel8-5.3.img diff --git a/bootstrap_rpi4.sh b/bootstrap_rpi4.sh new file mode 100755 index 0000000..6ab9356 --- /dev/null +++ b/bootstrap_rpi4.sh @@ -0,0 +1,73 @@ +#!/bin/sh -e + +SOURCEDIR=$(dirname $0) + +export NEW_USER="pi" + +check_installed() { + type $1 >/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 0000000..989c663 Binary files /dev/null and b/debs64/wiringpi-2.50-1_arm64.deb differ diff --git a/etc/apt/apt.conf.d/50raspi b/etc/apt/apt.conf.d/50raspi new file mode 100644 index 0000000..ba2fcc6 --- /dev/null +++ b/etc/apt/apt.conf.d/50raspi @@ -0,0 +1,2 @@ +# Never use pdiffs. Current implementation is very slow on low-powered devices. +Acquire::PDiffs "0"; diff --git a/etc/apt/sources_64.list b/etc/apt/sources_64.list new file mode 100644 index 0000000..310286c --- /dev/null +++ b/etc/apt/sources_64.list @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------# +# OFFICIAL DEBIAN REPOS +#------------------------------------------------------------------------------# + +###### Debian Main Repos +deb http://deb.debian.org/debian/ stable main contrib non-free +#deb-src http://deb.debian.org/debian/ stable main contrib non-free + +deb http://deb.debian.org/debian/ stable-updates main contrib non-free +#deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free + +deb http://deb.debian.org/debian-security stable/updates main +#deb-src http://deb.debian.org/debian-security stable/updates main + +deb http://ftp.debian.org/debian stretch-backports main +#deb-src http://ftp.debian.org/debian stretch-backports main diff --git a/etc/default/keyboard b/etc/default/keyboard new file mode 100644 index 0000000..b7357d3 --- /dev/null +++ b/etc/default/keyboard @@ -0,0 +1,10 @@ +# KEYBOARD CONFIGURATION FILE + +# Consult the keyboard(5) manual page. + +XKBMODEL="pc105" +XKBLAYOUT="ch" +XKBVARIANT="" +XKBOPTIONS="" + +BACKSPACE="guess" \ No newline at end of file diff --git a/etc/default/locale b/etc/default/locale new file mode 100644 index 0000000..fe72f36 --- /dev/null +++ b/etc/default/locale @@ -0,0 +1,11 @@ +# File generated by update-locale +LANG="en_US.UTF-8" +LC_NUMERIC="de_CH.UTF-8" +LC_TIME="de_CH.UTF-8" +LC_MONETARY="de_CH.UTF-8" +LC_PAPER="de_CH.UTF-8" +LC_NAME="de_CH.UTF-8" +LC_ADDRESS="de_CH.UTF-8" +LC_TELEPHONE="de_CH.UTF-8" +LC_MEASUREMENT="de_CH.UTF-8" +LC_IDENTIFICATION="de_CH.UTF-8" diff --git a/etc/default/rng-tools b/etc/default/rng-tools new file mode 100644 index 0000000..b0c8493 --- /dev/null +++ b/etc/default/rng-tools @@ -0,0 +1 @@ +HRNGDEVICE=/dev/hwrng \ No newline at end of file diff --git a/etc/environment b/etc/environment new file mode 100644 index 0000000..6f5d64a --- /dev/null +++ b/etc/environment @@ -0,0 +1,2 @@ +JAVA_HOME=/usr/lib/jvm/bellsoft-java11-aarch64 +CATALINA_HOME=/opt/tomcat diff --git a/etc/fstab b/etc/fstab new file mode 100644 index 0000000..2df8086 --- /dev/null +++ b/etc/fstab @@ -0,0 +1,4 @@ +/dev/mmcblk0p1 /boot vfat defaults 0 0 +/dev/mmcblk0p2 / ext4 defaults 0 0 +proc /proc proc defaults 0 0 +tmpfs /tmp tmpfs defaults,size=100M 0 0 diff --git a/etc/locale.gen b/etc/locale.gen new file mode 100644 index 0000000..e5b69ba --- /dev/null +++ b/etc/locale.gen @@ -0,0 +1,492 @@ +# This file lists locales that you wish to have built. You can find a list +# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add +# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change +# this file, you need to rerun locale-gen. + + +# aa_DJ ISO-8859-1 +# aa_DJ.UTF-8 UTF-8 +# aa_ER UTF-8 +# aa_ER@saaho UTF-8 +# aa_ET UTF-8 +# af_ZA ISO-8859-1 +# af_ZA.UTF-8 UTF-8 +# ak_GH UTF-8 +# am_ET UTF-8 +# an_ES ISO-8859-15 +# an_ES.UTF-8 UTF-8 +# anp_IN UTF-8 +# ar_AE ISO-8859-6 +# ar_AE.UTF-8 UTF-8 +# ar_BH ISO-8859-6 +# ar_BH.UTF-8 UTF-8 +# ar_DZ ISO-8859-6 +# ar_DZ.UTF-8 UTF-8 +# ar_EG ISO-8859-6 +# ar_EG.UTF-8 UTF-8 +# ar_IN UTF-8 +# ar_IQ ISO-8859-6 +# ar_IQ.UTF-8 UTF-8 +# ar_JO ISO-8859-6 +# ar_JO.UTF-8 UTF-8 +# ar_KW ISO-8859-6 +# ar_KW.UTF-8 UTF-8 +# ar_LB ISO-8859-6 +# ar_LB.UTF-8 UTF-8 +# ar_LY ISO-8859-6 +# ar_LY.UTF-8 UTF-8 +# ar_MA ISO-8859-6 +# ar_MA.UTF-8 UTF-8 +# ar_OM ISO-8859-6 +# ar_OM.UTF-8 UTF-8 +# ar_QA ISO-8859-6 +# ar_QA.UTF-8 UTF-8 +# ar_SA ISO-8859-6 +# ar_SA.UTF-8 UTF-8 +# ar_SD ISO-8859-6 +# ar_SD.UTF-8 UTF-8 +# ar_SS UTF-8 +# ar_SY ISO-8859-6 +# ar_SY.UTF-8 UTF-8 +# ar_TN ISO-8859-6 +# ar_TN.UTF-8 UTF-8 +# ar_YE ISO-8859-6 +# ar_YE.UTF-8 UTF-8 +# as_IN UTF-8 +# ast_ES ISO-8859-15 +# ast_ES.UTF-8 UTF-8 +# ayc_PE UTF-8 +# az_AZ UTF-8 +# be_BY CP1251 +# be_BY.UTF-8 UTF-8 +# be_BY@latin UTF-8 +# bem_ZM UTF-8 +# ber_DZ UTF-8 +# ber_MA UTF-8 +# bg_BG CP1251 +# bg_BG.UTF-8 UTF-8 +# bhb_IN.UTF-8 UTF-8 +# bho_IN UTF-8 +# bn_BD UTF-8 +# bn_IN UTF-8 +# bo_CN UTF-8 +# bo_IN UTF-8 +# br_FR ISO-8859-1 +# br_FR.UTF-8 UTF-8 +# br_FR@euro ISO-8859-15 +# brx_IN UTF-8 +# bs_BA ISO-8859-2 +# bs_BA.UTF-8 UTF-8 +# byn_ER UTF-8 +# ca_AD ISO-8859-15 +# ca_AD.UTF-8 UTF-8 +# ca_ES ISO-8859-1 +# ca_ES.UTF-8 UTF-8 +# ca_ES.UTF-8@valencia UTF-8 +# ca_ES@euro ISO-8859-15 +# ca_ES@valencia ISO-8859-15 +# ca_FR ISO-8859-15 +# ca_FR.UTF-8 UTF-8 +# ca_IT ISO-8859-15 +# ca_IT.UTF-8 UTF-8 +# ce_RU UTF-8 +# ckb_IQ UTF-8 +# cmn_TW UTF-8 +# crh_UA UTF-8 +# cs_CZ ISO-8859-2 +# cs_CZ.UTF-8 UTF-8 +# csb_PL UTF-8 +# cv_RU UTF-8 +# cy_GB ISO-8859-14 +# cy_GB.UTF-8 UTF-8 +# da_DK ISO-8859-1 +# da_DK.UTF-8 UTF-8 +# de_AT ISO-8859-1 +# de_AT.UTF-8 UTF-8 +# de_AT@euro ISO-8859-15 +# de_BE ISO-8859-1 +# de_BE.UTF-8 UTF-8 +# de_BE@euro ISO-8859-15 +# de_CH ISO-8859-1 +de_CH.UTF-8 UTF-8 +# de_DE ISO-8859-1 +de_DE.UTF-8 UTF-8 +# de_DE@euro ISO-8859-15 +# de_LI.UTF-8 UTF-8 +# de_LU ISO-8859-1 +# de_LU.UTF-8 UTF-8 +# de_LU@euro ISO-8859-15 +# doi_IN UTF-8 +# dv_MV UTF-8 +# dz_BT UTF-8 +# el_CY ISO-8859-7 +# el_CY.UTF-8 UTF-8 +# el_GR ISO-8859-7 +# el_GR.UTF-8 UTF-8 +# en_AG UTF-8 +# en_AU ISO-8859-1 +# en_AU.UTF-8 UTF-8 +# en_BW ISO-8859-1 +# en_BW.UTF-8 UTF-8 +# en_CA ISO-8859-1 +# en_CA.UTF-8 UTF-8 +# en_DK ISO-8859-1 +# en_DK.ISO-8859-15 ISO-8859-15 +# en_DK.UTF-8 UTF-8 +# en_GB ISO-8859-1 +# en_GB.ISO-8859-15 ISO-8859-15 +en_GB.UTF-8 UTF-8 +# en_HK ISO-8859-1 +# en_HK.UTF-8 UTF-8 +# en_IE ISO-8859-1 +# en_IE.UTF-8 UTF-8 +# en_IE@euro ISO-8859-15 +# en_IN UTF-8 +# en_NG UTF-8 +# en_NZ ISO-8859-1 +# en_NZ.UTF-8 UTF-8 +# en_PH ISO-8859-1 +# en_PH.UTF-8 UTF-8 +# en_SG ISO-8859-1 +# en_SG.UTF-8 UTF-8 +# en_US ISO-8859-1 +# en_US.ISO-8859-15 ISO-8859-15 +en_US.UTF-8 UTF-8 +# en_ZA ISO-8859-1 +# en_ZA.UTF-8 UTF-8 +# en_ZM UTF-8 +# en_ZW ISO-8859-1 +# en_ZW.UTF-8 UTF-8 +# eo ISO-8859-3 +# eo.UTF-8 UTF-8 +# eo_US.UTF-8 UTF-8 +# es_AR ISO-8859-1 +# es_AR.UTF-8 UTF-8 +# es_BO ISO-8859-1 +# es_BO.UTF-8 UTF-8 +# es_CL ISO-8859-1 +# es_CL.UTF-8 UTF-8 +# es_CO ISO-8859-1 +# es_CO.UTF-8 UTF-8 +# es_CR ISO-8859-1 +# es_CR.UTF-8 UTF-8 +# es_CU UTF-8 +# es_DO ISO-8859-1 +# es_DO.UTF-8 UTF-8 +# es_EC ISO-8859-1 +# es_EC.UTF-8 UTF-8 +# es_ES ISO-8859-1 +# es_ES.UTF-8 UTF-8 +# es_ES@euro ISO-8859-15 +# es_GT ISO-8859-1 +# es_GT.UTF-8 UTF-8 +# es_HN ISO-8859-1 +# es_HN.UTF-8 UTF-8 +# es_MX ISO-8859-1 +# es_MX.UTF-8 UTF-8 +# es_NI ISO-8859-1 +# es_NI.UTF-8 UTF-8 +# es_PA ISO-8859-1 +# es_PA.UTF-8 UTF-8 +# es_PE ISO-8859-1 +# es_PE.UTF-8 UTF-8 +# es_PR ISO-8859-1 +# es_PR.UTF-8 UTF-8 +# es_PY ISO-8859-1 +# es_PY.UTF-8 UTF-8 +# es_SV ISO-8859-1 +# es_SV.UTF-8 UTF-8 +# es_US ISO-8859-1 +# es_US.UTF-8 UTF-8 +# es_UY ISO-8859-1 +# es_UY.UTF-8 UTF-8 +# es_VE ISO-8859-1 +# es_VE.UTF-8 UTF-8 +# et_EE ISO-8859-1 +# et_EE.ISO-8859-15 ISO-8859-15 +# et_EE.UTF-8 UTF-8 +# eu_ES ISO-8859-1 +# eu_ES.UTF-8 UTF-8 +# eu_ES@euro ISO-8859-15 +# eu_FR ISO-8859-1 +# eu_FR.UTF-8 UTF-8 +# eu_FR@euro ISO-8859-15 +# fa_IR UTF-8 +# ff_SN UTF-8 +# fi_FI ISO-8859-1 +# fi_FI.UTF-8 UTF-8 +# fi_FI@euro ISO-8859-15 +# fil_PH UTF-8 +# fo_FO ISO-8859-1 +# fo_FO.UTF-8 UTF-8 +# fr_BE ISO-8859-1 +# fr_BE.UTF-8 UTF-8 +# fr_BE@euro ISO-8859-15 +# fr_CA ISO-8859-1 +# fr_CA.UTF-8 UTF-8 +# fr_CH ISO-8859-1 +# fr_CH.UTF-8 UTF-8 +# fr_FR ISO-8859-1 +# fr_FR.UTF-8 UTF-8 +# fr_FR@euro ISO-8859-15 +# fr_LU ISO-8859-1 +# fr_LU.UTF-8 UTF-8 +# fr_LU@euro ISO-8859-15 +# fur_IT UTF-8 +# fy_DE UTF-8 +# fy_NL UTF-8 +# ga_IE ISO-8859-1 +# ga_IE.UTF-8 UTF-8 +# ga_IE@euro ISO-8859-15 +# gd_GB ISO-8859-15 +# gd_GB.UTF-8 UTF-8 +# gez_ER UTF-8 +# gez_ER@abegede UTF-8 +# gez_ET UTF-8 +# gez_ET@abegede UTF-8 +# gl_ES ISO-8859-1 +# gl_ES.UTF-8 UTF-8 +# gl_ES@euro ISO-8859-15 +# gu_IN UTF-8 +# gv_GB ISO-8859-1 +# gv_GB.UTF-8 UTF-8 +# ha_NG UTF-8 +# hak_TW UTF-8 +# he_IL ISO-8859-8 +# he_IL.UTF-8 UTF-8 +# hi_IN UTF-8 +# hne_IN UTF-8 +# hr_HR ISO-8859-2 +# hr_HR.UTF-8 UTF-8 +# hsb_DE ISO-8859-2 +# hsb_DE.UTF-8 UTF-8 +# ht_HT UTF-8 +# hu_HU ISO-8859-2 +# hu_HU.UTF-8 UTF-8 +# hy_AM UTF-8 +# hy_AM.ARMSCII-8 ARMSCII-8 +# ia_FR UTF-8 +# id_ID ISO-8859-1 +# id_ID.UTF-8 UTF-8 +# ig_NG UTF-8 +# ik_CA UTF-8 +# is_IS ISO-8859-1 +# is_IS.UTF-8 UTF-8 +# it_CH ISO-8859-1 +# it_CH.UTF-8 UTF-8 +# it_IT ISO-8859-1 +# it_IT.UTF-8 UTF-8 +# it_IT@euro ISO-8859-15 +# iu_CA UTF-8 +# iw_IL ISO-8859-8 +# iw_IL.UTF-8 UTF-8 +# ja_JP.EUC-JP EUC-JP +# ja_JP.UTF-8 UTF-8 +# ka_GE GEORGIAN-PS +# ka_GE.UTF-8 UTF-8 +# kk_KZ PT154 +# kk_KZ RK1048 +# kk_KZ.UTF-8 UTF-8 +# kl_GL ISO-8859-1 +# kl_GL.UTF-8 UTF-8 +# km_KH UTF-8 +# kn_IN UTF-8 +# ko_KR.EUC-KR EUC-KR +# ko_KR.UTF-8 UTF-8 +# kok_IN UTF-8 +# ks_IN UTF-8 +# ks_IN@devanagari UTF-8 +# ku_TR ISO-8859-9 +# ku_TR.UTF-8 UTF-8 +# kw_GB ISO-8859-1 +# kw_GB.UTF-8 UTF-8 +# ky_KG UTF-8 +# lb_LU UTF-8 +# lg_UG ISO-8859-10 +# lg_UG.UTF-8 UTF-8 +# li_BE UTF-8 +# li_NL UTF-8 +# lij_IT UTF-8 +# ln_CD UTF-8 +# lo_LA UTF-8 +# lt_LT ISO-8859-13 +# lt_LT.UTF-8 UTF-8 +# lv_LV ISO-8859-13 +# lv_LV.UTF-8 UTF-8 +# lzh_TW UTF-8 +# mag_IN UTF-8 +# mai_IN UTF-8 +# mg_MG ISO-8859-15 +# mg_MG.UTF-8 UTF-8 +# mhr_RU UTF-8 +# mi_NZ ISO-8859-13 +# mi_NZ.UTF-8 UTF-8 +# mk_MK ISO-8859-5 +# mk_MK.UTF-8 UTF-8 +# ml_IN UTF-8 +# mn_MN UTF-8 +# mni_IN UTF-8 +# mr_IN UTF-8 +# ms_MY ISO-8859-1 +# ms_MY.UTF-8 UTF-8 +# mt_MT ISO-8859-3 +# mt_MT.UTF-8 UTF-8 +# my_MM UTF-8 +# nan_TW UTF-8 +# nan_TW@latin UTF-8 +# nb_NO ISO-8859-1 +# nb_NO.UTF-8 UTF-8 +# nds_DE UTF-8 +# nds_NL UTF-8 +# ne_NP UTF-8 +# nhn_MX UTF-8 +# niu_NU UTF-8 +# niu_NZ UTF-8 +# nl_AW UTF-8 +# nl_BE ISO-8859-1 +# nl_BE.UTF-8 UTF-8 +# nl_BE@euro ISO-8859-15 +# nl_NL ISO-8859-1 +# nl_NL.UTF-8 UTF-8 +# nl_NL@euro ISO-8859-15 +# nn_NO ISO-8859-1 +# nn_NO.UTF-8 UTF-8 +# nr_ZA UTF-8 +# nso_ZA UTF-8 +# oc_FR ISO-8859-1 +# oc_FR.UTF-8 UTF-8 +# om_ET UTF-8 +# om_KE ISO-8859-1 +# om_KE.UTF-8 UTF-8 +# or_IN UTF-8 +# os_RU UTF-8 +# pa_IN UTF-8 +# pa_PK UTF-8 +# pap_AN UTF-8 +# pap_AW UTF-8 +# pap_CW UTF-8 +# pl_PL ISO-8859-2 +# pl_PL.UTF-8 UTF-8 +# ps_AF UTF-8 +# pt_BR ISO-8859-1 +# pt_BR.UTF-8 UTF-8 +# pt_PT ISO-8859-1 +# pt_PT.UTF-8 UTF-8 +# pt_PT@euro ISO-8859-15 +# quz_PE UTF-8 +# raj_IN UTF-8 +# ro_RO ISO-8859-2 +# ro_RO.UTF-8 UTF-8 +# ru_RU ISO-8859-5 +# ru_RU.CP1251 CP1251 +# ru_RU.KOI8-R KOI8-R +# ru_RU.UTF-8 UTF-8 +# ru_UA KOI8-U +# ru_UA.UTF-8 UTF-8 +# rw_RW UTF-8 +# sa_IN UTF-8 +# sat_IN UTF-8 +# sc_IT UTF-8 +# sd_IN UTF-8 +# sd_IN@devanagari UTF-8 +# sd_PK UTF-8 +# se_NO UTF-8 +# shs_CA UTF-8 +# si_LK UTF-8 +# sid_ET UTF-8 +# sk_SK ISO-8859-2 +# sk_SK.UTF-8 UTF-8 +# sl_SI ISO-8859-2 +# sl_SI.UTF-8 UTF-8 +# so_DJ ISO-8859-1 +# so_DJ.UTF-8 UTF-8 +# so_ET UTF-8 +# so_KE ISO-8859-1 +# so_KE.UTF-8 UTF-8 +# so_SO ISO-8859-1 +# so_SO.UTF-8 UTF-8 +# sq_AL ISO-8859-1 +# sq_AL.UTF-8 UTF-8 +# sq_MK UTF-8 +# sr_ME UTF-8 +# sr_RS UTF-8 +# sr_RS@latin UTF-8 +# ss_ZA UTF-8 +# st_ZA ISO-8859-1 +# st_ZA.UTF-8 UTF-8 +# sv_FI ISO-8859-1 +# sv_FI.UTF-8 UTF-8 +# sv_FI@euro ISO-8859-15 +# sv_SE ISO-8859-1 +# sv_SE.ISO-8859-15 ISO-8859-15 +# sv_SE.UTF-8 UTF-8 +# sw_KE UTF-8 +# sw_TZ UTF-8 +# szl_PL UTF-8 +# ta_IN UTF-8 +# ta_LK UTF-8 +# tcy_IN.UTF-8 UTF-8 +# te_IN UTF-8 +# tg_TJ KOI8-T +# tg_TJ.UTF-8 UTF-8 +# th_TH TIS-620 +# th_TH.UTF-8 UTF-8 +# the_NP UTF-8 +# ti_ER UTF-8 +# ti_ET UTF-8 +# tig_ER UTF-8 +# tk_TM UTF-8 +# tl_PH ISO-8859-1 +# tl_PH.UTF-8 UTF-8 +# tn_ZA UTF-8 +# tr_CY ISO-8859-9 +# tr_CY.UTF-8 UTF-8 +# tr_TR ISO-8859-9 +# tr_TR.UTF-8 UTF-8 +# ts_ZA UTF-8 +# tt_RU UTF-8 +# tt_RU@iqtelif UTF-8 +# ug_CN UTF-8 +# ug_CN@latin UTF-8 +# uk_UA KOI8-U +# uk_UA.UTF-8 UTF-8 +# unm_US UTF-8 +# ur_IN UTF-8 +# ur_PK UTF-8 +# uz_UZ ISO-8859-1 +# uz_UZ.UTF-8 UTF-8 +# uz_UZ@cyrillic UTF-8 +# ve_ZA UTF-8 +# vi_VN UTF-8 +# wa_BE ISO-8859-1 +# wa_BE.UTF-8 UTF-8 +# wa_BE@euro ISO-8859-15 +# wae_CH UTF-8 +# wal_ET UTF-8 +# wo_SN UTF-8 +# xh_ZA ISO-8859-1 +# xh_ZA.UTF-8 UTF-8 +# yi_US CP1255 +# yi_US.UTF-8 UTF-8 +# yo_NG UTF-8 +# yue_HK UTF-8 +# zh_CN GB2312 +# zh_CN.GB18030 GB18030 +# zh_CN.GBK GBK +# zh_CN.UTF-8 UTF-8 +# zh_HK BIG5-HKSCS +# zh_HK.UTF-8 UTF-8 +# zh_SG GB2312 +# zh_SG.GBK GBK +# zh_SG.UTF-8 UTF-8 +# zh_TW BIG5 +# zh_TW.EUC-TW EUC-TW +# zh_TW.UTF-8 UTF-8 +# zu_ZA ISO-8859-1 +# zu_ZA.UTF-8 UTF-8 +# chr_US UTF-8 +# de_IT ISO-8859-1 +# de_IT.UTF-8 UTF-8 +# en_IL UTF-8 +# eo UTF-8 +# sgs_LT UTF-8 diff --git a/etc/modules b/etc/modules new file mode 100644 index 0000000..1b035cf --- /dev/null +++ b/etc/modules @@ -0,0 +1,4 @@ +bcm2835_rng +snd_bcm2835 +i2c-bcm2708 +i2c-dev diff --git a/etc/network/iptables.rules b/etc/network/iptables.rules new file mode 100644 index 0000000..9cd2694 --- /dev/null +++ b/etc/network/iptables.rules @@ -0,0 +1,13 @@ +*filter +:INPUT DROP [23:2584] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [1161:105847] +-A INPUT -i lo -j ACCEPT +-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT +#-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT +-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT +-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT +-A INPUT -p udp -m udp --dport 5353 -j ACCEPT +-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT +-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT +COMMIT diff --git a/etc/owfs.conf b/etc/owfs.conf new file mode 100644 index 0000000..3ae30cf --- /dev/null +++ b/etc/owfs.conf @@ -0,0 +1,7 @@ +! server: server = localhost:4304 +http: port = 2121 +server: port = localhost:4304 +server: i2c = /dev/i2c-1 +mountpoint = /mnt/1wire0 +allow_other +nozero diff --git a/etc/rc.local b/etc/rc.local new file mode 100755 index 0000000..7c5d76f --- /dev/null +++ b/etc/rc.local @@ -0,0 +1,40 @@ +#!/bin/sh + +TOMCAT_USER="pi" + +echo "INFO: Running rc.local..." + +if [ ! -f /etc/.rootfs-expanded ] ; then + echo "INFO: Resizing root file system..." + cd /opt/raspi-config + chmod u+x ./raspi-config + ./raspi-config --expand-rootfs + touch /etc/.rootfs-expanded + + echo "INFO: Resized root file system, rebooting..." + if ! /sbin/shutdown -r now ; then + echo "ERROR: Failed to send reboot!" + fi + exit 0 +fi + +echo "INFO: Refreshing shared libraries" +/sbin/ldconfig + +echo "INFO: Loading iptables rules..." +/sbin/iptables-restore < /etc/network/iptables.rules + +# easiest way to get swiss german keyboard working +echo "INFO: Loading swiss german keyboard layout..." +/usr/bin/loadkeys sg-latin1 + +echo "INFO: Setting I2C CLKT_TOUT to 1000..." +/usr/local/bin/i2c_set_clkt_tout 1000 + +echo "INFO: Starting Tomcat..." +sudo -u ${TOMCAT_USER} /opt/tomcat/bin/catalina.sh start + +echo "INFO: Starting OWFS..." +/usr/bin/owfs & + +exit 0 diff --git a/etc/systemd/system/regen-ssh-keys.service b/etc/systemd/system/regen-ssh-keys.service new file mode 100644 index 0000000..fd452b2 --- /dev/null +++ b/etc/systemd/system/regen-ssh-keys.service @@ -0,0 +1,24 @@ +[Unit] +Description=OpenSSH Server Key Generation + +# Do not run if keys already exist +ConditionPathExistsGlob=!/etc/ssh/ssh_host_*_key + +# This service requires rng-tools to feed the random number generator, +# otherwise we may generate predictable keys without noticing it. +Requires=rng-tools.service +After=rng-tools.service + +# sshd needs this service to be run and finished before starting +PartOf=ssh.service ssh.socket +Before=ssh.service ssh.socket + +[Install] +# sshd needs this service to be run and finished before starting +WantedBy=ssh.service ssh.socket + +[Service] +EnvironmentFile=-/etc/sysconfig/sshd +ExecStart=/usr/bin/ssh-keygen -A +Type=oneshot +RemainAfterExit=yes \ No newline at end of file diff --git a/etc/udev/rules.d/99-com.rules b/etc/udev/rules.d/99-com.rules new file mode 100644 index 0000000..a964057 --- /dev/null +++ b/etc/udev/rules.d/99-com.rules @@ -0,0 +1,32 @@ +SUBSYSTEM=="input", GROUP="input", MODE="0660" +SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" +SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" +SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660" + +SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ + chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ + chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\ + chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ +'" + +KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\ + ALIASES=/proc/device-tree/aliases; \ + if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \ + echo 0;\ + elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \ + echo 1; \ + else \ + exit 1; \ + fi\ +'", SYMLINK+="serial%c" + +KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\ + ALIASES=/proc/device-tree/aliases; \ + if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \ + echo 0; \ + elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \ + echo 1; \ + else \ + exit 1; \ + fi \ +'", SYMLINK+="serial%c" diff --git a/etc/wiringpi/cpuinfo b/etc/wiringpi/cpuinfo new file mode 100644 index 0000000..21ad362 --- /dev/null +++ b/etc/wiringpi/cpuinfo @@ -0,0 +1,2 @@ +Hardware : BCM2710 +Revision : a020d3 \ No newline at end of file diff --git a/install-kernel-rpi4.sh b/install-kernel-rpi4.sh new file mode 100755 index 0000000..04b3222 --- /dev/null +++ b/install-kernel-rpi4.sh @@ -0,0 +1,50 @@ +#!/bin/bash -e + +SOURCEDIR="$(cd ${0%/*} ; pwd)" +ROOTDIR="$1" +if ! [[ -d ${ROOTDIR} ]] ; then + echo "ERROR: root directory does not exist at ${ROOTDIR}" + exit 1 +fi +if ! [[ -d ${ROOTDIR}/boot ]] ; then + echo "ERROR: boot directory does not exist at ${ROOTDIR}" + exit 1 +fi +if ! [[ -d ${ROOTDIR}/lib ]] ; then + echo "ERROR: lib directory does not exist at ${ROOTDIR}" + exit 1 +fi +cd ${ROOTDIR} +ROOTDIR=$(pwd) +echo "INFO: root dir is ${ROOTDIR}" + +export JOBS=6 +export BIN_UTILS="binutils-2.32" +export GCC="gcc-9.1.0" + +export TOOLCHAIN="${SOURCEDIR}/toolchains/aarch64" +if ! [[ -d ${TOOLCHAIN} ]] ; then + echo "INFO: Creating toolchain directory at ${TOOLCHAIN}" + mkdir -p "${TOOLCHAIN}" +fi +cd "${TOOLCHAIN}" + +toolTest="${TOOLCHAIN}/bin/aarch64-linux-gnu-gcc" +if [[ -f "${toolTest}" ]] ; then + echo "INFO: Toolchain already available at ${toolTest}" +else + echo "INFO: Building toolchain at ${TOOLCHAIN}" + ${SOURCEDIR}/build-toolchain-rpi4.sh +fi + +kernelTest="${TOOLCHAIN}/rpi-linux/kernel-build/arch/arm64/boot/Image" +if [[ -f "${kernelTest}" ]] ; then + echo "INFO: Kernel already available at ${kernelTest}" +else + echo "INFO: Building Kernel at ${TOOLCHAIN}" + ${SOURCEDIR}/build-kernel-rpi4.sh +fi + +"${SOURCEDIR}/copy-kernel-rpi4.sh" "${ROOTDIR}" + +exit 0 \ No newline at end of file diff --git a/signatures/04EE7237B7D453EC.gpg b/signatures/04EE7237B7D453EC.gpg new file mode 100644 index 0000000..c01913b --- /dev/null +++ b/signatures/04EE7237B7D453EC.gpg @@ -0,0 +1,238 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +4kP/FvCiapOQYQ== +=ygZA +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/112695A0E562B32A.gpg b/signatures/112695A0E562B32A.gpg new file mode 100644 index 0000000..5713440 --- /dev/null +++ b/signatures/112695A0E562B32A.gpg @@ -0,0 +1,195 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +W3322Ukm9NcVRdnsrYkxfR/ykNbsq1HTMg== +=oKII +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/648ACFD622F3D138.gpg b/signatures/648ACFD622F3D138.gpg new file mode 100644 index 0000000..2d4d1d1 --- /dev/null +++ b/signatures/648ACFD622F3D138.gpg @@ -0,0 +1,183 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +q7emGyBGqn8+ouVQUr65+xcIST13Ffg80zc= +=inn/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/7638D0442B90D010.gpg b/signatures/7638D0442B90D010.gpg new file mode 100644 index 0000000..80b02cb --- /dev/null +++ b/signatures/7638D0442B90D010.gpg @@ -0,0 +1,190 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=k46C +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/AA8E81B4331F7F50.gpg b/signatures/AA8E81B4331F7F50.gpg new file mode 100644 index 0000000..a5290f4 --- /dev/null +++ b/signatures/AA8E81B4331F7F50.gpg @@ -0,0 +1,214 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +26BUQky3hZJDN1JwDkDdKQ== +=XVBR +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/DCC9EFBF77E11517.gpg b/signatures/DCC9EFBF77E11517.gpg new file mode 100644 index 0000000..e5201f3 --- /dev/null +++ b/signatures/DCC9EFBF77E11517.gpg @@ -0,0 +1,62 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=bKhH +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/debian.org.gpg.asc b/signatures/debian.org.gpg.asc new file mode 100644 index 0000000..1f52d71 Binary files /dev/null and b/signatures/debian.org.gpg.asc differ diff --git a/signatures/debian_stretch.gpg.asc b/signatures/debian_stretch.gpg.asc new file mode 100644 index 0000000..8074058 Binary files /dev/null and b/signatures/debian_stretch.gpg.asc differ diff --git a/signatures/raspberrypi.gpg b/signatures/raspberrypi.gpg new file mode 100644 index 0000000..60b5f65 --- /dev/null +++ b/signatures/raspberrypi.gpg @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +mQENBE/d7o8BCACrwqQacGJfn3tnMzGui6mv2lLxYbsOuy/+U4rqMmGEuo3h9m92 +30E2EtypsoWczkBretzLUCFv+VUOxaA6sV9+puTqYGhhQZFuKUWcG7orf7QbZRuu +TxsEUepW5lg7MExmAu1JJzqM0kMQX8fVyWVDkjchZ/is4q3BPOUCJbUJOsE+kK/6 +8kW6nWdhwSAjfDh06bA5wvoXNjYoDdnSZyVdcYCPEJXEg5jfF/+nmiFKMZBraHwn +eQsepr7rBXxNcEvDlSOPal11fg90KXpy7Umre1UcAZYJdQeWcHu7X5uoJx/MG5J8 +ic6CwYmDaShIFa92f8qmFcna05+lppk76fsnABEBAAG0IFJhc3BiZXJyeSBQaSBB +cmNoaXZlIFNpZ25pbmcgS2V5iQE4BBMBAgAiBQJP3e6PAhsDBgsJCAcDAgYVCAIJ +CgsEFgIDAQIeAQIXgAAKCRCCsSmSf6MwPk6vB/9pePB3IukU9WC9Bammh3mpQTvL +OifbkzHkmAYxzjfK6D2I8pT0xMxy949+ThzJ7uL60p6T/32ED9DR3LHIMXZvKtuc +mQnSiNDX03E2p7lIP/htoxW2hDP2n8cdlNdt0M9IjaWBppsbO7IrDppG2B1aRLni +uD7v8bHRL2mKTtIDLX42Enl8aLAkJYgNWpZyPkDyOqamjijarIWjGEPCkaURF7g4 +d44HvYhpbLMOrz1m6N5Bzoa5+nq3lmifeiWKxioFXU+Hy5bhtAM6ljVb59hbD2ra +X4+3LXC9oox2flmQnyqwoyfZqVgSQa0B41qEQo8t1bz6Q1Ti7fbMLThmbRHiuQEN +BE/d7o8BCADNlVtBZU63fm79SjHh5AEKFs0C3kwa0mOhp9oas/haDggmhiXdzeD3 +49JWz9ZTx+vlTq0s+I+nIR1a+q+GL+hxYt4HhxoA6vlDMegVfvZKzqTX9Nr2VqQa +S4Kz3W5ULv81tw3WowK6i0L7pqDmvDqgm73mMbbxfHD0SyTt8+fk7qX6Ag2pZ4a9 +ZdJGxvASkh0McGpbYJhk1WYD+eh4fqH3IaeJi6xtNoRdc5YXuzILnp+KaJyPE5CR +qUY5JibOD3qR7zDjP0ueP93jLqmoKltCdN5+yYEExtSwz5lXniiYOJp8LWFCgv5h +m8aYXkcJS1xVV9Ltno23YvX5edw9QY4hABEBAAGJAR8EGAECAAkFAk/d7o8CGwwA +CgkQgrEpkn+jMD5Figf/dIC1qtDMTbu5IsI5uZPX63xydaExQNYf98cq5H2fWF6O +yVR7ERzA2w33hI0yZQrqO6pU9SRnHRxCFvGv6y+mXXXMRcmjZG7GiD6tQWeN/3wb +EbAn5cg6CJ/Lk/BI4iRRfBX07LbYULCohlGkwBOkRo10T+Ld4vCCnBftCh5x2OtZ +TOWRULxP36y2PLGVNF+q9pho98qx+RIxvpofQM/842ZycjPJvzgVQsW4LT91KYAE +4TVf6JjwUM6HZDoiNcX6d7zOhNfQihXTsniZZ6rky287htsWVDNkqOi5T3oTxWUo +m++/7s3K3L0zWopdhMVcgg6Nt9gcjzqN1c0gy55L/g== +=mNSj +-----END PGP PUBLIC KEY BLOCK----- diff --git a/signatures/raspbian.org.gpg.asc b/signatures/raspbian.org.gpg.asc new file mode 100644 index 0000000..c438c3e Binary files /dev/null and b/signatures/raspbian.org.gpg.asc differ diff --git a/signatures/webupd8team.gpg b/signatures/webupd8team.gpg new file mode 100644 index 0000000..dd24691 --- /dev/null +++ b/signatures/webupd8team.gpg @@ -0,0 +1,15 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0ES9/P3AEEAPbI+9BwCbJucuC78iUeOPKl/HjAXGV49FGat0PcwfDd69MVp6zU +tIMbLgkUOxIlhiEkDmlYkwWVS8qy276hNg9YKZP37ut5+GPObuS6ZWLpwwNus5Ph +LvqeGawVJ/obu7d7gM8mBWTgvk0ErnZDaqaU2OZtHataxbdeW8qH/9FJABEBAAG0 +DUxhdW5jaHBhZCBWTEOImwQQAQIABgUCVsN4HQAKCRAEC6TrO3+B2tJkA/jM3b7O +ysTwptY7P75sOnIu+nXLPlzvja7qH7WnA23itdSker6JmyJrlQeQZu7b9x2nFesk +NYlnhCp9mUGu/kbAKOx246pBtlaipkZdGmL4qXBi+bi6+5Rw2AGgKndhXdEjMxx6 +aDPq3dftFXS68HyBM3HFSJlf7SmMeJCkhNRwiLYEEwECACAFAkvfz9wCGwMGCwkI +BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDCUYJI7qFIhucGBADQnY4V1xKT1Gz+3ERl +y+nBb61BSqRx6KUgvTSEPasSVZVCtjY5MwghYU8T0h1PCx2qSir4nt3vpZL1luW2 +xTdyLkFCrbbIAZEHtmjXRgQu3VUcSkgHMdn46j/7N9qtZUcXQ0TOsZUJRANY/eHs +BvUg1cBm3RnCeN4C8QZrir1CeA== +=CziK +-----END PGP PUBLIC KEY BLOCK----- diff --git a/tomcat-setenv.sh b/tomcat-setenv.sh new file mode 100644 index 0000000..6819f84 --- /dev/null +++ b/tomcat-setenv.sh @@ -0,0 +1,3 @@ +LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib +export LD_LIBRARY_PATH +JAVA_OPTS="--add-exports java.base/jdk.internal.misc=ALL-UNNAMED" \ No newline at end of file