[Project] Initial Version

This commit is contained in:
Robert von Burg 2020-03-03 10:21:17 +01:00
commit 1dd778fc16
40 changed files with 2406 additions and 0 deletions

BIN
bin-files64/i2c_get_clkt_tout Executable file

Binary file not shown.

BIN
bin-files64/i2c_set_clkt_tout Executable file

Binary file not shown.

BIN
bin-files64/pwm Executable file

Binary file not shown.

1
boot/cmdline_rpi4.txt Normal file
View File

@ -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

74
boot/config_rpi4.txt Normal file
View File

@ -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

73
bootstrap_rpi4.sh Executable file
View File

@ -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

42
build-kernel-rpi4.sh Executable file
View File

@ -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

41
build-toolchain-rpi4.sh Executable file
View File

@ -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

24
clean-kernel-rpi4-build.sh Executable file
View File

@ -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

52
copy-kernel-rpi4.sh Executable file
View File

@ -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

259
customize_rpi4.sh Executable file
View File

@ -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

Binary file not shown.

View File

@ -0,0 +1,2 @@
# Never use pdiffs. Current implementation is very slow on low-powered devices.
Acquire::PDiffs "0";

16
etc/apt/sources_64.list Normal file
View File

@ -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

10
etc/default/keyboard Normal file
View File

@ -0,0 +1,10 @@
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="ch"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"

11
etc/default/locale Normal file
View File

@ -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"

1
etc/default/rng-tools Normal file
View File

@ -0,0 +1 @@
HRNGDEVICE=/dev/hwrng

2
etc/environment Normal file
View File

@ -0,0 +1,2 @@
JAVA_HOME=/usr/lib/jvm/bellsoft-java11-aarch64
CATALINA_HOME=/opt/tomcat

4
etc/fstab Normal file
View File

@ -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

492
etc/locale.gen Normal file
View File

@ -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

4
etc/modules Normal file
View File

@ -0,0 +1,4 @@
bcm2835_rng
snd_bcm2835
i2c-bcm2708
i2c-dev

View File

@ -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

7
etc/owfs.conf Normal file
View File

@ -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

40
etc/rc.local Executable file
View File

@ -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

View File

@ -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

View File

@ -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"

2
etc/wiringpi/cpuinfo Normal file
View File

@ -0,0 +1,2 @@
Hardware : BCM2710
Revision : a020d3

50
install-kernel-rpi4.sh Executable file
View File

@ -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

View File

@ -0,0 +1,238 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
4kP/FvCiapOQYQ==
=ygZA
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,195 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
W3322Ukm9NcVRdnsrYkxfR/ykNbsq1HTMg==
=oKII
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,183 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
q7emGyBGqn8+ouVQUr65+xcIST13Ffg80zc=
=inn/
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,190 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=k46C
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,214 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
26BUQky3hZJDN1JwDkDdKQ==
=XVBR
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,62 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=bKhH
-----END PGP PUBLIC KEY BLOCK-----

Binary file not shown.

Binary file not shown.

View File

@ -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-----

Binary file not shown.

View File

@ -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-----

3
tomcat-setenv.sh Normal file
View File

@ -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"