]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/rootfiles/core/172/update.sh
Core Update 172: Ship u-boot and regenerate all initrds
[people/pmueller/ipfire-2.x.git] / config / rootfiles / core / 172 / update.sh
index 2cdd78bc489d4945aa11bf11a1eef29b5112a656..cc31851abc696cac4f4a7e23be1d289396e5f249 100644 (file)
@@ -33,14 +33,51 @@ done
 
 # Stop services
 /etc/rc.d/init.d/ipsec stop
+/usr/local/bin/openvpnctrl -k
+/usr/local/bin/openvpnctrl -kn2n
 /etc/rc.d/init.d/sshd stop
 /etc/rc.d/init.d/unbound stop
 
+KVER="xxxKVERxxx"
+
+# Backup uEnv.txt if exist
+if [ -e /boot/uEnv.txt ]; then
+    cp -vf /boot/uEnv.txt /boot/uEnv.txt.org
+fi
+
 # Remove files
 rm -rvf \
        /etc/strongswan.d/scepclient.conf \
+       /lib/firmware/cnm/wave521c_j721s2_codec_fw.bin \
+       /lib/firmware/cxgb4/t4fw-1.26.6.0.bin \
+       /lib/firmware/cxgb4/t5fw-1.26.6.0.bin \
+       /lib/firmware/cxgb4/t6fw-1.26.6.0.bin \
+       /lib/firmware/mediatek/sof/sof-mt8186-mt6366-da7219-max98357.tplg \
+       /lib/firmware/mediatek/sof/sof-mt8186-mt6366-rt1019-rt5682s.tplg \
+       /lib/firmware/qcom/a530_zap.b00 \
+       /lib/firmware/qcom/a530_zap.b01 \
+       /lib/firmware/qcom/a530_zap.b02 \
+       /lib/firmware/qcom/venus-1.8/venus.b* \
+       /lib/firmware/qcom/venus-4.2/venus.b* \
+       /lib/firmware/qcom/venus-5.2/venus.b* \
+       /lib/firmware/qcom/venus-5.4/venus.b* \
+       /lib/firmware/qcom/vpu-1.0/venus.b* \
+       /lib/firmware/qcom/vpu-2.0/venus.b* \
+       /lib/firmware/qcom/vpu-2.0/venus.mdt \
+       /lib/firmware/rtl_bt \
        /lib/libz.so.1.2.12 \
+       /usr/lib/libbind9-9.16.33.so \
+       /usr/lib/libdns-9.16.33.so \
        /usr/lib/libexpat.so.1.8.9 \
+       /usr/lib/libhistory.so.8.1 \
+       /usr/lib/libirs-9.16.33.so \
+       /usr/lib/libisc-9.16.33.so \
+       /usr/lib/libisccc-9.16.33.so \
+       /usr/lib/libisccfg-9.16.33.so \
+       /usr/lib/liblzma.so.5.2.5 \
+       /usr/lib/libnetfilter_conntrack.so.3.7.0 \
+       /usr/lib/libns-9.16.33.so \
+       /usr/lib/libreadline.so.8.1 \
        /usr/lib/libunbound.so.8.1.1* \
        /usr/lib/libxml2.so.2.9.* \
        /usr/lib/python3.10/ensurepip/_bundled/pip-21* \
@@ -70,7 +107,8 @@ rm -rvf \
        /usr/lib/python3.10/site-packages/setuptools/_vendor/pyparsing.py \
        /usr/lib/python3.10/site-packages/setuptools/config.py \
        /usr/lib/python3.10/site-packages/setuptools_rust/utils.py \
-       /usr/libexec/ipsec/scepclient
+       /usr/libexec/ipsec/scepclient \
+       /var/ipfire/ca/dh1024.pem
 
 # Remove powertop add-on, if installed
 if [ -e "/opt/pakfire/db/installed/meta-powertop" ]; then
@@ -101,15 +139,46 @@ ldconfig
 # Correct permissions of some library files
 chown -Rv root:root /var/ipfire/connscheduler/lib.pl /var/ipfire/updatexlrator/updxlrator-lib.pl /var/ipfire/menu.d/*
 
+# Replace existing OpenVPN Diffie-Hellman parameter by ffdhe4096, as specified in RFC 7919
+if [ -f /var/ipfire/ovpn/server.conf ]; then
+       sed -i 's|/var/ipfire/ovpn/ca/dh1024.pem|/etc/ssl/ffdhe4096.pem|' /var/ipfire/ovpn/server.conf
+fi
+
+if [ -f "/var/ipfire/ovpn/n2nconf/*/*.conf" ]; then
+       sed -i 's|/var/ipfire/ovpn/ca/dh1024.pem|/etc/ssl/ffdhe4096.pem|' /var/ipfire/ovpn/n2nconf/*/*.conf
+fi
+
 # Start services
 /etc/init.d/unbound start
 if grep -q "ENABLE_SSH=on" /var/ipfire/remote/settings; then
        /etc/init.d/sshd start
 fi
+if grep -q "ENABLED=on" /var/ipfire/ovpn/settings; then
+       /usr/local/bin/openvpnctrl -s
+       /usr/local/bin/openvpnctrl -sn2n
+fi
 if grep -q "ENABLED=on" /var/ipfire/vpn/settings; then
        /etc/init.d/ipsec start
 fi
 
+# Regenerate all initrds
+dracut --regenerate-all --force
+case "$(uname -m)" in
+       armv*)
+               mkimage -A arm -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire.img /boot/uInit-${KVER}-ipfire
+               rm /boot/initramfs-${KVER}-ipfire.img
+               ;;
+       aarch64)
+               mkimage -A arm64 -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire.img /boot/uInit-${KVER}-ipfire
+               # dont remove initramfs because grub need this to boot.
+               ;;
+esac
+
+# Call user update script (needed for some ARM boards)
+if [ -e /boot/pakfire-kernel-update ]; then
+    /boot/pakfire-kernel-update ${KVER}
+fi
+
 # This update needs a reboot...
 touch /var/run/need_reboot