fix: improvements all around

* add our own fan controller, will need more tuning with time, but it's a great start
* add restart/shutdown hooks for ulcmd, so the display shows the state of the system
* change how we expose unifi's libs to binaries
* Fixup systemd hang at boot due to networking
* move ubnthal to systemd task, since we don't load modules due to the unifi initramfs in the prebuilt kernel
This commit is contained in:
Chris Blake 2024-05-22 11:42:34 -05:00
parent 459d0a4758
commit a4f7f862c2
14 changed files with 235 additions and 27 deletions

View file

@ -15,9 +15,13 @@ apt-get clean
apt-get update
apt-mark hold linux-image-* # We do not want these, as we run our own kernel!
# Setup ulcmd
systemctl enable ulcmd
# Setup our services
systemctl enable load-ubnt-modules
systemctl enable mock-ubnt-api
systemctl enable ulcmd
systemctl enable ulcmd-reboot-hook
systemctl enable ulcmd-shutdown-hook
systemctl enable unvr-fan-daemon
# Now that we have our wanted kernel in place, do the rest of our installs
apt-get -o Dpkg::Options::="--force-confold" -y --allow-downgrades \

View file

@ -43,7 +43,6 @@ console-common console-data/keymap/full select us
" > ${build_path}/rootfs/debconf.set
# Copy over stuff for ulcmd, this is hacky, but that's this ENTIRE repo for you
mv "${build_path}/fw-extract/rootfs/lib/systemd/system/ulcmd.service" "${build_path}/rootfs/lib/systemd/system/ulcmd.service"
mv "${build_path}/fw-extract/rootfs/usr/bin/ulcmd" "${build_path}/rootfs/usr/bin/ulcmd" # LCD controller
mv "${build_path}/fw-extract/rootfs/usr/share/firmware" "${build_path}/rootfs/usr/share/" # LCD panel firmwares
mkdir -p "${build_path}/rootfs/usr/lib/ubnt-fw/" # Home for ulcmd libraries
@ -51,7 +50,6 @@ for file in libgrpc++.so.1 libgrpc.so.10 libprotobuf.so.23 \
libssl.so.1.1 libcrypto.so.1.1 libabsl*.so.20200923 libatomic.so.1; do
cp -H ${build_path}/fw-extract/rootfs/usr/lib/aarch64-linux-gnu/${file} "${build_path}/rootfs/usr/lib/ubnt-fw/"
done
sed -i 's|Type=simple|Type=simple\nEnvironment="LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/ubnt-fw"|g' "${build_path}/rootfs/lib/systemd/system/ulcmd.service" # Add library path
# Kick off bash setup script within chroot
cp ${docker_scripts_path}/bootstrap/001-bootstrap ${build_path}/rootfs/bootstrap