From 3c3b04aec3e3e212e33498d50498cc92102cc0c6 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Tue, 19 Sep 2023 23:48:46 +0200 Subject: [PATCH 01/17] v8.22 - DietPi-Patches | On DietPi v8.21 updates for Orange Pi 5, do not set the fdtfile variable in /boot/dietpiEnv.txt empty, but remove it. This may have caused boot issues and failing HDMI output. --- .update/patches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.update/patches b/.update/patches index b7f97082de..1a3ede8b25 100755 --- a/.update/patches +++ b/.update/patches @@ -1412,7 +1412,7 @@ Patch_8_21() G_EXEC_OUTPUT=1 G_EXEC curl -fo package2.deb 'https://dietpi.com/downloads/binaries/linux-dtb-legacy-rk35xx.deb' G_EXEC_OUTPUT=1 G_EXEC dpkg -i package1.deb package2.deb G_EXEC rm package1.deb package2.deb - (( $G_HW_MODEL == 80 )) && G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3588' /boot/dietpiEnv.txt && G_CONFIG_INJECT 'fdtfile=' 'fdtfile=' /boot/dietpiEnv.txt + (( $G_HW_MODEL == 80 )) && G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3588' /boot/dietpiEnv.txt && G_EXEC sed -i '/^[[:blank:]]*fdtfile=/d' /boot/dietpiEnv.txt dpkg-query -s 'linux-image-legacy-rockchip-rk3588' &> /dev/null && G_EXEC apt-mark auto linux-image-legacy-rockchip-rk3588 dpkg-query -s 'linux-dtb-legacy-rockchip-rk3588' &> /dev/null && G_EXEC apt-mark auto linux-dtb-legacy-rockchip-rk3588 From 5330cc9237c5ba977042e3a7dcef3e4cd95c5c7e Mon Sep 17 00:00:00 2001 From: MichaIng Date: Tue, 19 Sep 2023 23:59:01 +0200 Subject: [PATCH 02/17] v8.21 - DietPi-Patches | Hotfix possible Orange Pi 5 update issue --- .update/patches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.update/patches b/.update/patches index cefd175279..117f137513 100755 --- a/.update/patches +++ b/.update/patches @@ -1421,7 +1421,7 @@ Patch_8_21() G_EXEC_OUTPUT=1 G_EXEC curl -fo package2.deb 'https://dietpi.com/downloads/binaries/linux-dtb-legacy-rk35xx.deb' G_EXEC_OUTPUT=1 G_EXEC dpkg -i package1.deb package2.deb G_EXEC rm package1.deb package2.deb - (( $G_HW_MODEL == 80 )) && G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3588' /boot/dietpiEnv.txt && G_CONFIG_INJECT 'fdtfile=' 'fdtfile=' /boot/dietpiEnv.txt + (( $G_HW_MODEL == 80 )) && G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3588' /boot/dietpiEnv.txt && G_EXEC sed -i '/^[[:blank:]]*fdtfile=/d' /boot/dietpiEnv.txt dpkg-query -s 'linux-image-legacy-rockchip-rk3588' &> /dev/null && G_EXEC apt-mark auto linux-image-legacy-rockchip-rk3588 dpkg-query -s 'linux-dtb-legacy-rockchip-rk3588' &> /dev/null && G_EXEC apt-mark auto linux-dtb-legacy-rockchip-rk3588 From be06612a1efef3c0c5fde3f1c2b40d394785a786 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 20 Sep 2023 00:40:51 +0200 Subject: [PATCH 03/17] v8.22 - DietPI-Config | Tiny --- dietpi/dietpi-config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dietpi/dietpi-config b/dietpi/dietpi-config index 492aabb158..b5ee2a8100 100755 --- a/dietpi/dietpi-config +++ b/dietpi/dietpi-config @@ -968,7 +968,7 @@ Re-enabling HDMI requires a reboot. If you need emergency HDMI output, edit the local rpi_uart_state='Off' grep -q '^[[:blank:]]*enable_uart=1' /boot/config.txt && rpi_uart_state='On' - # Nonboard WiFi/BT: "enable_uart" toggles ttyAMA0 (full UART). enabled by default + # No onboard WiFi/BT: "enable_uart" toggles ttyAMA0 (full UART). enabled by default else local rpi_uart='ttyAMA0 (full UART)' @@ -1250,7 +1250,7 @@ Latest release notes: https://github.com/starfive-tech/VisionFive2/releases /boot/dietpi/func/dietpi-set_hardware bluetooth $(( ! $bluetooth_state )) # On RPi, when enabling onboard Bluetooth, a reboot is required to have the device tree changes taking effect. - (( $bluetooth_state || G_HW_MODEL > 9 )) || (( ! $G_HW_ONBOARD_WIFI )) || REBOOT_REQUIRED=1 + (( $bluetooth_state || $G_HW_MODEL > 9 )) || (( ! $G_HW_ONBOARD_WIFI )) || REBOOT_REQUIRED=1 elif [[ $G_WHIP_RETURNED_VALUE == 'USB boot support' && $rpi3_usb_boot_bit_enabled == 0 ]] && G_WHIP_YESNO 'The following will enable the RPi 3 to boot from USB mass storage devices. A hardware bit "17:3020000a" is set on next boot to enable the feature. From 0a31b2c0a8f32d54e89b5c0e9ef27a56508677fd Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 20 Sep 2023 23:07:53 +0200 Subject: [PATCH 04/17] v8.22 - DietPi-Imager | Preserve original img file when creating archive, to preserve previous behaviour, which is what DietPi-Build expects and the final print tells. - DietPi-Globals | G_AG*: Workaround for Armbian mirrors being out of sync regularly or throwing 5xx errors, just allow APT installs and upgrades to be retried up to overall 3 times --- .build/images/dietpi-build | 10 ++-------- .build/images/dietpi-imager | 5 ++--- dietpi/func/dietpi-globals | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.build/images/dietpi-build b/.build/images/dietpi-build index 1f4f5fde66..0e26df749a 100755 --- a/.build/images/dietpi-build +++ b/.build/images/dietpi-build @@ -725,8 +725,7 @@ ethernet0.present = "TRUE" extendedConfigFile = "$image_name.vmxf" floppy0.present = "FALSE" _EOF_ - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 - G_EXEC_DESC='Creating VMware tar.xz archive' XZ_OPT="-e9 ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.vmdk" "$image_name.vmx" + G_EXEC_DESC='Creating VMware tar.xz archive' XZ_OPT="-9e ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.vmdk" "$image_name.vmx" G_EXEC rm "$image_name.vmdk" "$image_name.vmx" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.tar.xz' > '$image_name.tar.xz.sha256'" signature=() @@ -855,7 +854,6 @@ _EOF_ [[ $VMTYPE == 'all' ]] || G_EXEC rm "$image_name.vmdk" G_EXEC rm "$image_name."{ovf,mf} - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 G_EXEC_DESC='Creating ESXi xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$image_name.ova" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.ova.xz' > '$image_name.ova.xz.sha256'" signature=() @@ -1007,7 +1005,6 @@ _EOF_ G_EXEC tar -cf "$image_name.ova" "$image_name."{ovf,vmdk,mf} G_EXEC rm "$image_name."{ovf,vmdk,mf} - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 G_EXEC_DESC='Creating VirtualBox xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$image_name.ova" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.ova.xz' > '$image_name.ova.xz.sha256'" signature=() @@ -1022,7 +1019,6 @@ then # Convert raw image to VHDX G_EXEC qemu-img convert -O vhdx "$OUTPUT_IMG_NAME.img" "$image_name.vhdx" - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 G_EXEC_DESC='Creating Hyper-V xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$image_name.vhdx" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.vhdx.xz' > '$image_name.vhdx.xz.sha256'" signature=() @@ -1041,7 +1037,6 @@ then keep=() [[ $VMTYPE == 'all' ]] && keep=('-k') - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 G_EXEC_DESC='Creating Proxmox xz archive' G_EXEC xz -9e "${limit_threads[@]}" "${keep[@]}" "$image_name.qcow2" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.qcow2.xz' > '$image_name.qcow2.xz.sha256'" signature=() @@ -1212,8 +1207,7 @@ _EOF_ _EOF_ - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 - G_EXEC_DESC='Creating UTM tar.xz archive' XZ_OPT="-e9 ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.utm" + G_EXEC_DESC='Creating UTM tar.xz archive' XZ_OPT="-9e ${limit_threads[*]}" G_EXEC tar -cJf "$image_name.tar.xz" "$image_name.utm" G_EXEC rm -R "$image_name.utm" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$image_name.tar.xz' > '$image_name.tar.xz.sha256'" signature=() diff --git a/.build/images/dietpi-imager b/.build/images/dietpi-imager index f4caf1b807..6d72660f85 100755 --- a/.build/images/dietpi-imager +++ b/.build/images/dietpi-imager @@ -724,12 +724,11 @@ _EOF_ (( $SKIP_ARCHIVE )) && exit 0 # Generate xz archive - # NB: LZMA2 ultra compression requires much memory per thread. 1 GiB is not sufficient for >2 threads, hence use "-mmt2" to limit used CPU threads to "2" on 1 GiB devices with more than two cores. + # NB: LZMA2 ultra compression requires much memory per thread. 1 GiB is not sufficient for >2 threads, hence use "-T2" to limit used CPU threads to "2" on 1 GiB devices with more than two cores. local limit_threads=() (( $(free -m | mawk '/Mem:/{print $2}') < 1750 && $(nproc) > 2 )) && limit_threads=('-T2') [[ -f $OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz ]] && G_EXEC rm "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz" - [[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1 - G_EXEC_DESC='Creating final xz archive' G_EXEC xz -9e "${limit_threads[@]}" "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT" + G_EXEC_DESC='Creating final xz archive' G_EXEC xz -9e -k "${limit_threads[@]}" "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT" G_EXEC_DESC='Generating SHA256 hash' G_EXEC eval "sha256sum '$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz' > '$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz.sha256'" local signature=() sig_text='' [[ $SIGN_PASS ]] && { G_DIETPI-NOTIFY 2 'Signing archive ...'; gpg --batch --pinentry-mode loopback --passphrase "$SIGN_PASS" -b --armor "$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz" || exit 1; signature=("$OUTPUT_IMG_NAME.$OUTPUT_IMG_EXT.xz.asc") sig_text="\nSignature: $PWD/${signature[*]}"; } diff --git a/dietpi/func/dietpi-globals b/dietpi/func/dietpi-globals index cf186c2d83..6e95d09ccf 100644 --- a/dietpi/func/dietpi-globals +++ b/dietpi/func/dietpi-globals @@ -879,7 +879,8 @@ $grey───────────────────────── [[ $G_EXEC_NOHALT == 1 ]] && break # Prepare error handler menu and GitHub issue template - local fp_error_report='/tmp/G_EXEC_ERROR_REPORT' log_content=$(<"$fp_log") image_creator preimage_name dietpi_version="v$G_DIETPI_VERSION_CORE.$G_DIETPI_VERSION_SUB.$G_DIETPI_VERSION_RC ($G_GITOWNER/$G_GITBRANCH)" last_whip_menu_item sent_bug_report + local fp_error_report='/tmp/G_EXEC_ERROR_REPORT' image_creator preimage_name dietpi_version="v$G_DIETPI_VERSION_CORE.$G_DIETPI_VERSION_SUB.$G_DIETPI_VERSION_RC ($G_GITOWNER/$G_GITBRANCH)" last_whip_menu_item sent_bug_report + read -r log_content < "$fp_log" if [[ -f '/boot/dietpi/.prep_info' ]]; then image_creator=$(mawk 'NR==1' /boot/dietpi/.prep_info) @@ -1501,6 +1502,9 @@ Press any key to continue...' G_CHECK_ROOT_USER 1 + # Workaround for Armbian mirrors being out of sync regularly or throwing 5xx errors + [[ -f '/etc/apt/sources.list.d/dietpi-armbian.list' ]] && G_EXEC_POST_FUNC(){ [[ $exit_code != 0 ]] && grep -q '^E: Failed to fetch .*armbian' "$fp_log" && G_EXEC_RETRIES=2 && unset -f G_EXEC_POST_FUNC; } + G_EXEC_DESC="\e[0mAPT install \e[33m$*\e[0m" DEBIAN_FRONTEND=noninteractive G_EXEC_OUTPUT=1 G_EXEC_OUTPUT_COL='\e[90m' G_EXEC apt-get -y --allow-change-held-packages install "$@" local exit_code=$? @@ -1547,6 +1551,9 @@ Press any key to continue...' { G_CHECK_ROOT_USER 1 + # Workaround for Armbian mirrors being out of sync regularly or throwing 5xx errors + [[ -f '/etc/apt/sources.list.d/dietpi-armbian.list' ]] && G_EXEC_POST_FUNC(){ [[ $exit_code != 0 ]] && grep -q '^E: Failed to fetch .*armbian' "$fp_log" && G_EXEC_RETRIES=2 && unset -f G_EXEC_POST_FUNC; } + G_EXEC_DESC="\e[0mAPT fix${*:+ \e[33m$*\e[0m}" DEBIAN_FRONTEND=noninteractive G_EXEC_OUTPUT=1 G_EXEC_OUTPUT_COL='\e[90m' G_EXEC apt-get -y --allow-change-held-packages -f install "$@" local exit_code=$? @@ -1622,6 +1629,9 @@ Press any key to continue...' { G_CHECK_ROOT_USER 1 + # Workaround for Armbian mirrors being out of sync regularly or throwing 5xx errors + [[ -f '/etc/apt/sources.list.d/dietpi-armbian.list' ]] && G_EXEC_POST_FUNC(){ [[ $exit_code != 0 ]] && grep -q '^E: Failed to fetch .*armbian' "$fp_log" && G_EXEC_RETRIES=2 && unset -f G_EXEC_POST_FUNC; } + G_EXEC_DESC="\e[0mAPT upgrade${*:+ \e[33m$*\e[0m}" DEBIAN_FRONTEND=noninteractive G_EXEC_OUTPUT=1 G_EXEC_OUTPUT_COL='\e[90m' G_EXEC apt-get -y --with-new-pkgs upgrade "$@" local exit_code=$? @@ -1638,6 +1648,9 @@ Press any key to continue...' { G_CHECK_ROOT_USER 1 + # Workaround for Armbian mirrors being out of sync regularly or throwing 5xx errors + [[ -f '/etc/apt/sources.list.d/dietpi-armbian.list' ]] && G_EXEC_POST_FUNC(){ [[ $exit_code != 0 ]] && grep -q '^E: Failed to fetch .*armbian' "$fp_log" && G_EXEC_RETRIES=2 && unset -f G_EXEC_POST_FUNC; } + G_EXEC_DESC="\e[0mAPT dist-upgrade${*:+ \e[33m$*\e[0m}" DEBIAN_FRONTEND=noninteractive G_EXEC_OUTPUT=1 G_EXEC_OUTPUT_COL='\e[90m' G_EXEC apt-get -y dist-upgrade "$@" local exit_code=$? From d454880703accf731ddaa9b67147b1881f5287bb Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 20 Sep 2023 23:31:25 +0200 Subject: [PATCH 05/17] v8.22 - DietPi-Build | Early exit for Trixie/Sid until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954 --- .build/images/dietpi-build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.build/images/dietpi-build b/.build/images/dietpi-build index 0e26df749a..65dca9c226 100755 --- a/.build/images/dietpi-build +++ b/.build/images/dietpi-build @@ -207,7 +207,8 @@ fi (( $efi_size )) || [[ $boot_size -gt 0 && $boot_fstype == 'fat'* ]] && apackages+=('dosfstools') # Emulation support in case of incompatible architecture -(( ( $G_HW_ARCH < 10 && $G_HW_ARCH < $HW_ARCH ) || ( ( $G_HW_ARCH == 10 || $G_HW_ARCH == 11 ) && $G_HW_ARCH != $HW_ARCH ) )) && apackages+=('qemu-user-static' 'binfmt-support') +# - TEMPORARY: Early exit for Trixie/Sid until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954 +(( ( $G_HW_ARCH < 10 && $G_HW_ARCH < $HW_ARCH ) || ( ( $G_HW_ARCH == 10 || $G_HW_ARCH == 11 ) && $G_HW_ARCH != $HW_ARCH ) )) && { apackages+=('qemu-user-static' 'binfmt-support'); (( $DISTRO == 8 )) && { G_DIETPI_NOTIFY 1 'systemd on Trixie/Sid does currently not support QEMU emulation, aborting ...'; exit 0; } } # Virtual machine disk conversion [[ $VMTYPE && $VMTYPE != 'raw' ]] && apackages+=('qemu-utils') From 922d91f7782686b25cb6dda095061d0d3a82400c Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 20 Sep 2023 23:40:32 +0200 Subject: [PATCH 06/17] v8.22 - DietPi-Build | Typo --- .build/images/dietpi-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/images/dietpi-build b/.build/images/dietpi-build index 65dca9c226..560b8d8e8b 100755 --- a/.build/images/dietpi-build +++ b/.build/images/dietpi-build @@ -208,7 +208,7 @@ fi # Emulation support in case of incompatible architecture # - TEMPORARY: Early exit for Trixie/Sid until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954 -(( ( $G_HW_ARCH < 10 && $G_HW_ARCH < $HW_ARCH ) || ( ( $G_HW_ARCH == 10 || $G_HW_ARCH == 11 ) && $G_HW_ARCH != $HW_ARCH ) )) && { apackages+=('qemu-user-static' 'binfmt-support'); (( $DISTRO == 8 )) && { G_DIETPI_NOTIFY 1 'systemd on Trixie/Sid does currently not support QEMU emulation, aborting ...'; exit 0; } } +(( ( $G_HW_ARCH < 10 && $G_HW_ARCH < $HW_ARCH ) || ( ( $G_HW_ARCH == 10 || $G_HW_ARCH == 11 ) && $G_HW_ARCH != $HW_ARCH ) )) && { apackages+=('qemu-user-static' 'binfmt-support'); (( $DISTRO == 8 )) && { G_DIETPI-NOTIFY 1 'systemd on Trixie/Sid does currently not support QEMU emulation, aborting ...'; exit 0; } } # Virtual machine disk conversion [[ $VMTYPE && $VMTYPE != 'raw' ]] && apackages+=('qemu-utils') From d28aff71806531f713d38c4c2ed4ea8b28a6d2a8 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 20 Sep 2023 23:54:09 +0200 Subject: [PATCH 07/17] v8.22 - DietPi-Installer | Prevent kernel and initramfs symlink generation in / on systems with Armbian kernel --- .build/images/dietpi-installer | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.build/images/dietpi-installer b/.build/images/dietpi-installer index 67543b2c38..9c24c4007c 100755 --- a/.build/images/dietpi-installer +++ b/.build/images/dietpi-installer @@ -961,7 +961,8 @@ _EOF_ fi # Skip creating kernel symlinks and remove existing ones - echo 'do_symlinks=0' > /etc/kernel-img.conf + G_DIETPI-NOTIFY 2 'Preventing obsolete kernel and initramfs symlink generation' + G_EXEC eval 'echo '\''do_symlinks=0'\'' > /etc/kernel-img.conf' G_EXEC rm -f /{,boot/}{initrd.img,vmlinuz}{,.old} G_AGI "${apackages[@]}" @@ -1136,6 +1137,14 @@ _EOF_ G_EXEC rm u-boot fi + # Skip creating kernel symlinks and remove existing ones + if [[ -L '/vmlinuz' ]] + then + G_DIETPI-NOTIFY 2 'Preventing obsolete kernel and initramfs symlink generation' + G_EXEC eval 'echo '\''do_symlinks=0'\'' > /etc/kernel-img.conf' + G_EXEC rm -f /{initrd.img,vmlinuz}{,.old} + fi + # RPi elif (( $G_HW_MODEL < 10 )) then @@ -1284,6 +1293,14 @@ _EOF_ G_EXEC rm -Rf /etc/apt/sources.list.d/{,.??,.[^.]}* G_EXEC eval "echo 'deb https://apt.armbian.com/ $DISTRO_TARGET_NAME main' > /etc/apt/sources.list.d/dietpi-armbian.list" + # Skip creating kernel symlinks and remove existing ones + if [[ -L '/vmlinuz' ]] + then + G_DIETPI-NOTIFY 2 'Preventing obsolete kernel and initramfs symlink generation' + G_EXEC eval 'echo '\''do_symlinks=0'\'' > /etc/kernel-img.conf' + G_EXEC rm -f /{initrd.img,vmlinuz}{,.old} + fi + # Generic kernel + device tree + U-Boot package auto detect + initramfs-tools elif (( $G_HW_MODEL != 75 )) then From d7d33124da527785208f512c833cbfe2d1fcc5b5 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 00:02:12 +0200 Subject: [PATCH 08/17] v8.22 - DietPi-Installer | Allow up to 3 attempts to download the Armbian repo key, as it throws 5xx errors quite often --- .build/images/dietpi-installer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/images/dietpi-installer b/.build/images/dietpi-installer index 9c24c4007c..5eb842eacf 100755 --- a/.build/images/dietpi-installer +++ b/.build/images/dietpi-installer @@ -986,7 +986,7 @@ Pin: origin apt.armbian.com Pin-Priority: 500 _EOF_ # Bootstrap Armbian repository - G_EXEC eval 'curl -sSfL '\''https://apt.armbian.com/armbian.key'\'' | gpg --dearmor -o /etc/apt/trusted.gpg.d/dietpi-armbian.gpg --yes' + G_EXEC_RETRIES=2 G_EXEC eval 'curl -sSfL '\''https://apt.armbian.com/armbian.key'\'' | gpg --dearmor -o /etc/apt/trusted.gpg.d/dietpi-armbian.gpg --yes' # Remove obsolete combined keyring [[ -f '/etc/apt/trusted.gpg' ]] && G_EXEC rm /etc/apt/trusted.gpg [[ -f '/etc/apt/trusted.gpg~' ]] && G_EXEC rm '/etc/apt/trusted.gpg~' From aadc96e16db8098607dd51af78b9dbd66ed9dae8 Mon Sep 17 00:00:00 2001 From: Hendra Setiawan Date: Mon, 11 Sep 2023 18:23:09 +0800 Subject: [PATCH 09/17] Add Kavita --- dietpi/dietpi-software | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index fd547da310..87ba3b41a8 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -613,6 +613,14 @@ Available commands: aSOFTWARE_DEPS[$software_id]='5 7' # - RISC-V: No archive: https://github.com/navidrome/navidrome/releases/ aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0 + #------------------ + software_id=212 + aSOFTWARE_NAME[$software_id]='Kavita' + aSOFTWARE_DESC[$software_id]='open source comics/mangas/ebooks media server with a built-in web reader' + aSOFTWARE_CATX[$software_id]=2 + aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#kavita' + # - No RISC-V support yet + aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0 # BitTorrent & Download #-------------------------------------------------------------------------------- @@ -6427,6 +6435,52 @@ _EOF_ Download_Test_Media fi + if To_Install 212 kavita # Kavita + then + case $G_HW_ARCH in + 1) local arch='arm';; + 2) local arch='arm';; + 3) local arch='arm64';; + *) local arch='x64';; + esac + + local fallback_url="https://github.com/Kareadita/Kavita/releases/download/v0.7.8/kavita-linux-$arch.tar.gz" + Download_Install "$(curl -sSfL 'https://api.github.com/repos/Kareadita/Kavita/releases/latest' | mawk -F\" "/\"browser_download_url\": .*\/kavita-linux-$arch\.tar\.gz\"/{print \$4}")" /opt + + # User + Create_User -g dietpi -d /mnt/dietpi_userdata/kavita kavita + + # Data + G_EXEC mkdir -p /mnt/dietpi_userdata/{ebooks,comics} + + # Service # https://wiki.kavitareader.com/en/install/linux-install + cat << _EOF_ > /etc/systemd/system/kavita.service +[Unit] +Description=Kavita Server (DietPi) +Wants=network-online.target +After=network-online.target remote-fs.target + +[Service] +SyslogIdentifier=Kavita +User=kavita +WorkingDirectory=/opt/Kavita +ExecStart=/opt/Kavita/Kavita +TimeoutStopSec=20 +KillMode=process +Restart=on-failure + +[Install] +WantedBy=multi-user.target +_EOF_ + G_EXEC chmod +x /opt/Kavita/Kavita + G_EXEC chown -R kavita:root /opt/Kavita + + G_EXEC chown kavita:dietpi /mnt/dietpi_userdata/{ebooks,comics} + G_EXEC chmod 0775 /mnt/dietpi_userdata/{ebooks,comics} + + G_DIETPI-NOTIFY 2 "Please wait for a few minutes to let the application starts. By default it runs on port 5000." + fi + if To_Install 68 # Remote.It then case $G_HW_ARCH in @@ -13215,6 +13269,12 @@ If no WireGuard (auto)start is included, but you require it, please do the follo G_EXEC rm -Rf /opt/navidrome /mnt/dietpi_userdata/navidrome fi + if To_Uninstall 212 # Kavita + then + Remove_Service kavita 1 + G_EXEC rm -Rf /opt/Kavita /mnt/dietpi_userdata/kavita + fi + if To_Uninstall 71 # WebIOPi then Remove_Service webiopi From 4b0c7db9a7362cf2c80eeb1ff305576b047d7634 Mon Sep 17 00:00:00 2001 From: Hendra Setiawan Date: Mon, 11 Sep 2023 18:42:22 +0800 Subject: [PATCH 10/17] Remove trailing spaces --- dietpi/dietpi-software | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index 87ba3b41a8..f25999b83f 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -6474,12 +6474,12 @@ WantedBy=multi-user.target _EOF_ G_EXEC chmod +x /opt/Kavita/Kavita G_EXEC chown -R kavita:root /opt/Kavita - + G_EXEC chown kavita:dietpi /mnt/dietpi_userdata/{ebooks,comics} G_EXEC chmod 0775 /mnt/dietpi_userdata/{ebooks,comics} G_DIETPI-NOTIFY 2 "Please wait for a few minutes to let the application starts. By default it runs on port 5000." - fi + fi if To_Install 68 # Remote.It then From ab6f2cc7704ac6eb29bf3c9845a6553b0845ef02 Mon Sep 17 00:00:00 2001 From: Hendra Setiawan Date: Tue, 12 Sep 2023 20:56:07 +0800 Subject: [PATCH 11/17] Apply suggestions from code review Co-authored-by: MichaIng --- dietpi/dietpi-software | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index f25999b83f..6b24d707e4 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -619,7 +619,7 @@ Available commands: aSOFTWARE_DESC[$software_id]='open source comics/mangas/ebooks media server with a built-in web reader' aSOFTWARE_CATX[$software_id]=2 aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#kavita' - # - No RISC-V support yet + # - No RISC-V support yet: https://github.com/Kareadita/Kavita/releases aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0 # BitTorrent & Download @@ -6438,8 +6438,7 @@ _EOF_ if To_Install 212 kavita # Kavita then case $G_HW_ARCH in - 1) local arch='arm';; - 2) local arch='arm';; + 1|2) local arch='arm';; 3) local arch='arm64';; *) local arch='x64';; esac @@ -6459,6 +6458,8 @@ _EOF_ Description=Kavita Server (DietPi) Wants=network-online.target After=network-online.target remote-fs.target +StartLimitIntervalSec=60 +StartLimitBurst=5 [Service] SyslogIdentifier=Kavita From 60ebb926e378b922ee6864f572651752b735a01f Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 01:10:26 +0200 Subject: [PATCH 12/17] v8.22 - CI | DietPi-Software: Temporarily prevent Trixie/Sid builds until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954 --- .github/workflows/dietpi-software.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/dietpi-software.yml b/.github/workflows/dietpi-software.yml index 3bec4daac7..0adc48db86 100644 --- a/.github/workflows/dietpi-software.yml +++ b/.github/workflows/dietpi-software.yml @@ -68,6 +68,8 @@ jobs: - { arch: riscv64, dist: bullseye } - { arch: riscv64, dist: bookworm } - { arch: armv6l, dist: trixie } + # Temporarily prevent Trixie/Sid builds until systemd + QEMU incompatibility fix has been released: https://github.com/systemd/systemd/pull/28954 + - { dist: trixie } fail-fast: false name: "${{ matrix.arch }} - ${{ matrix.dist }} - ${{ github.event.inputs.soft }}" runs-on: ubuntu-22.04 From 25bb2e3dc6dcc99a9fa7e2d4373bc77674f9df64 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 01:05:15 +0200 Subject: [PATCH 13/17] v8.22 - DietPi-Software | Kavita: Add .NET dependencies - DietPi-Software | Kavita: Change default port to 2036 to avoid conflict with Shairport Sync - DietPi-Software | Kavita: On reinstals, preserve config dir bug replace everything else cleanly - DietPi-Software | Kavita: Use /opt/kavita (lower-case) as install and config/run user home dir - DietPi-Software | Kavita: Add to dietpi-services and dietpi-survey_report, as well as README credits and changelog entry --- .github/workflows/dietpi-software.bash | 1 + .meta/dietpi-survey_report | 1 + CHANGELOG.txt | 1 + README.md | 1 + dietpi/dietpi-services | 1 + dietpi/dietpi-software | 48 ++++++++++++++++++-------- 6 files changed, 39 insertions(+), 14 deletions(-) diff --git a/.github/workflows/dietpi-software.bash b/.github/workflows/dietpi-software.bash index b30f7f3520..f60a7b8b2b 100644 --- a/.github/workflows/dietpi-software.bash +++ b/.github/workflows/dietpi-software.bash @@ -224,6 +224,7 @@ Process_Software() #208) Moonlight (GUI), "moonlight-qt" command 209) aCOMMANDS[i]='restic version';; 211) aCOMMANDS[i]='hb-service status' aSERVICES[i]='homebridge' aTCP[i]='8581'; (( $arch < 10 )) && aDELAY[i]=30; (( $arch == 3 )) && aDELAY[i]=120;; + 212) aSERVICES[i]='kavita' aTCP[i]='2036'; (( $arch < 10 )) && aDELAY[i]=180; (( $arch == 10 )) && aDELAY[i]=30;; *) :;; esac done diff --git a/.meta/dietpi-survey_report b/.meta/dietpi-survey_report index 5a06fdf49d..b71f368813 100755 --- a/.meta/dietpi-survey_report +++ b/.meta/dietpi-survey_report @@ -690,6 +690,7 @@ shopt -s extglob aSOFTWARE_NAME8_22[i]=${aSOFTWARE_NAME8_21[i]} done aSOFTWARE_NAME8_22[141]='ADS-B Feeder' + aSOFTWARE_NAME8_22[212]='Kavita' # Pre-create software counter array so that we can see also software (available in newest version) with 0 installs for i in "${aSOFTWARE_NAME8_22[@]}" diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 58bec909e6..e523769c6e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -3,6 +3,7 @@ v8.22 New software: - ADS-B Feeder | Track airplanes using SDRs and feed the data to ADS-B aggregators. Many thanks to @dirkhh for maintaining and implementing this software option: https://github.com/MichaIng/DietPi/pull/6587 +- Kavita | This open source comics/mangas/ebooks media server with a built-in web reader has been added to our software catalogue. Many thanks to @drahen for implementing this software option: https://github.com/MichaIng/DietPi/pull/6610 Enhancements: - Images | DietPi images are now shipped with a trailing FAT partition which contains dietpi.txt and other config files for easier pre-configuration and automation from Windows and macOS hosts. The partition is removed automatically on first boot, after copying all supported config files/scripts. Related CLI flags have been added to our build scripts: "--add-fat-part" for dietpi-imager and "--no-fat-part" for dietpi-build. Many thanks to @dirkhh for implementing this feature: https://github.com/MichaIng/DietPi/pull/6602 diff --git a/README.md b/README.md index f14488ca3e..68f36bb638 100644 --- a/README.md +++ b/README.md @@ -338,6 +338,7 @@ Links to hardware and software manufacturers, sources and build instructions use - [MediaWiki](https://github.com/wikimedia/mediawiki) - [Homebridge](https://github.com/homebridge/homebridge) - [ADS-B Feeder](https://github.com/dirkhh/adsb-feeder-image) +- [Kavita](https://github.com/Kareadita/Kavita) --- diff --git a/dietpi/dietpi-services b/dietpi/dietpi-services index 04b8758ae3..dee7d3e2e0 100755 --- a/dietpi/dietpi-services +++ b/dietpi/dietpi-services @@ -187,6 +187,7 @@ _EOF_ 'jellyfin' 'snapclient' 'spotifyd' + 'kavita' # - Download/BitTorrent 'medusa' diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index 6b24d707e4..f6d96949ce 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -6437,6 +6437,13 @@ _EOF_ if To_Install 212 kavita # Kavita then + # .NET dependency: https://github.com/dotnet/core/blob/main/Documentation/linux-prereqs.md + case $G_DISTRO in + 5) aDEPS=('libicu63');; + 6) aDEPS=('libicu67');; + *) aDEPS=('libicu72');; + esac + case $G_HW_ARCH in 1|2) local arch='arm';; 3) local arch='arm64';; @@ -6444,16 +6451,35 @@ _EOF_ esac local fallback_url="https://github.com/Kareadita/Kavita/releases/download/v0.7.8/kavita-linux-$arch.tar.gz" - Download_Install "$(curl -sSfL 'https://api.github.com/repos/Kareadita/Kavita/releases/latest' | mawk -F\" "/\"browser_download_url\": .*\/kavita-linux-$arch\.tar\.gz\"/{print \$4}")" /opt + Download_Install "$(curl -sSfL 'https://api.github.com/repos/Kareadita/Kavita/releases/latest' | mawk -F\" "/^ *\"browser_download_url\": \".*\/kavita-linux-$arch\.tar\.gz\"$/{print \$4}")" + G_EXEC chmod +x Kavita/Kavita + + # Change default port to 2036 to avoid conflict with Shairport Sync + G_CONFIG_INJECT '"Port":' ' "Port": 2036,' Kavita/config/appsettings.json + + # Reinstall: Preserve config dir + if [[ -d '/opt/kavita' ]] + then + if [[ -d '/opt/kavita/config' ]] + then + G_EXEC rm -R Kavita/config + G_EXEC mv /opt/kavita/config Kavita/ + fi + G_EXEC rm -R /opt/kavita + fi + G_EXEC mv Kavita /opt/kavita # User - Create_User -g dietpi -d /mnt/dietpi_userdata/kavita kavita + Create_User -g dietpi -d /opt/kavita kavita + G_EXEC chown -R kavita:root /opt/kavita # Data G_EXEC mkdir -p /mnt/dietpi_userdata/{ebooks,comics} + G_EXEC chown kavita:dietpi /mnt/dietpi_userdata/{ebooks,comics} + G_EXEC chmod 0775 /mnt/dietpi_userdata/{ebooks,comics} - # Service # https://wiki.kavitareader.com/en/install/linux-install - cat << _EOF_ > /etc/systemd/system/kavita.service + # Service: https://wiki.kavitareader.com/en/install/linux-install + cat << '_EOF_' > /etc/systemd/system/kavita.service [Unit] Description=Kavita Server (DietPi) Wants=network-online.target @@ -6464,8 +6490,8 @@ StartLimitBurst=5 [Service] SyslogIdentifier=Kavita User=kavita -WorkingDirectory=/opt/Kavita -ExecStart=/opt/Kavita/Kavita +WorkingDirectory=/opt/kavita +ExecStart=/opt/kavita/Kavita TimeoutStopSec=20 KillMode=process Restart=on-failure @@ -6473,13 +6499,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target _EOF_ - G_EXEC chmod +x /opt/Kavita/Kavita - G_EXEC chown -R kavita:root /opt/Kavita - - G_EXEC chown kavita:dietpi /mnt/dietpi_userdata/{ebooks,comics} - G_EXEC chmod 0775 /mnt/dietpi_userdata/{ebooks,comics} - - G_DIETPI-NOTIFY 2 "Please wait for a few minutes to let the application starts. By default it runs on port 5000." + G_DIETPI-NOTIFY 2 'Please wait for a few minutes to let the application starts. By default it runs on port 2036.' fi if To_Install 68 # Remote.It @@ -13273,7 +13293,7 @@ If no WireGuard (auto)start is included, but you require it, please do the follo if To_Uninstall 212 # Kavita then Remove_Service kavita 1 - G_EXEC rm -Rf /opt/Kavita /mnt/dietpi_userdata/kavita + G_EXEC rm -Rf /opt/Kavita fi if To_Uninstall 71 # WebIOPi From fa4af0f64a9183f8b58ea0c472575d39fe444596 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 19:59:31 +0200 Subject: [PATCH 14/17] v8.22 - DietPi-Software | Kavita: Disable for ARMv6 as ARM binaries are ARMv7+ only, expected with .NET core --- dietpi/dietpi-software | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index f6d96949ce..0d27df7be0 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -619,6 +619,8 @@ Available commands: aSOFTWARE_DESC[$software_id]='open source comics/mangas/ebooks media server with a built-in web reader' aSOFTWARE_CATX[$software_id]=2 aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#kavita' + # - ARMv6: ARM binaries are ARMv7+ Only + aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0 # - No RISC-V support yet: https://github.com/Kareadita/Kavita/releases aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0 @@ -6445,7 +6447,7 @@ _EOF_ esac case $G_HW_ARCH in - 1|2) local arch='arm';; + 2) local arch='arm';; 3) local arch='arm64';; *) local arch='x64';; esac From a27f012381cdc4fc0358b6d924437a0e9b9bb9da Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 21:29:32 +0200 Subject: [PATCH 15/17] v8.22 - Patreon Legends | Update Patreon Legends in DietPi-Banner. At this point, many thanks to Cameron for supporting us as Patreon Legend for such a long time. You helped us a lot to continue maintaining and developing DietPi, you are indeed a Legend! And many thanks to @dirkhh from ADSB.im for filling the free Legend spot at the same day, so that we nearly missed the change. Not only the financial support, but immediately doing some some nice feature contributions and input to topics is very welcome. - RC up --- .update/version | 2 +- dietpi/func/dietpi-banner | 2 +- dietpi/func/dietpi-globals | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.update/version b/.update/version index a3d074247f..fd2aacfc48 100644 --- a/.update/version +++ b/.update/version @@ -3,7 +3,7 @@ # Available DietPi version G_REMOTE_VERSION_CORE=8 G_REMOTE_VERSION_SUB=22 -G_REMOTE_VERSION_RC=1 +G_REMOTE_VERSION_RC=2 # Minimum DietPi version to allow update G_MIN_VERSION_CORE=6 G_MIN_VERSION_SUB=14 diff --git a/dietpi/func/dietpi-banner b/dietpi/func/dietpi-banner index 7401229093..f9a03a075a 100755 --- a/dietpi/func/dietpi-banner +++ b/dietpi/func/dietpi-banner @@ -184,7 +184,7 @@ $GREEN_LINE" [[ -f '/boot/dietpi/.prep_info' ]] && mawk 'NR==1 {sub(/^0$/,"DietPi Core Team");a=$0} NR==2 {print " Image by : "a" (pre-image: "$0")"}' /boot/dietpi/.prep_info - echo -e " Patreon Legends : Camry2731, Chris Gelatt + echo -e " Patreon Legends : Chris Gelatt, ADSB.im Website : https://dietpi.com/ | https://twitter.com/DietPi_ Contribute : https://dietpi.com/contribute.html Web Hosting by : https://myvirtualserver.com$COLOUR_RESET\n" diff --git a/dietpi/func/dietpi-globals b/dietpi/func/dietpi-globals index 6e95d09ccf..1495b26f42 100644 --- a/dietpi/func/dietpi-globals +++ b/dietpi/func/dietpi-globals @@ -59,7 +59,7 @@ # - Assign defaults/code version as fallback [[ $G_DIETPI_VERSION_CORE ]] || G_DIETPI_VERSION_CORE=8 [[ $G_DIETPI_VERSION_SUB ]] || G_DIETPI_VERSION_SUB=22 - [[ $G_DIETPI_VERSION_RC ]] || G_DIETPI_VERSION_RC=1 + [[ $G_DIETPI_VERSION_RC ]] || G_DIETPI_VERSION_RC=2 [[ $G_GITBRANCH ]] || G_GITBRANCH='master' [[ $G_GITOWNER ]] || G_GITOWNER='MichaIng' # - Save current version and Git branch From 2cfedcf92c2b8bcf280b1118865e14b5f5c2bfc7 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 22:02:44 +0200 Subject: [PATCH 16/17] v8.22 - Orange Pi 5 | Resolved a v8.21 regression where the update may have lead to an unbootable system or caused other issues like missing HDMI output, because of a falsely set device tree file name. --- CHANGELOG.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index e523769c6e..926884a83e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -15,7 +15,8 @@ Enhancements: - DietPi-Software | Portainer: Enabled for RISC-V as Docker is now supported on RISC-V as well. Bug fixes: -- NanoPi R4S | Resolved a v8.20 regression where the Ethernet LEDs did not react correctly after the kernel upgrade. Many thanks to @idaanx for reporting this issue: https://github.com/MichaIng/DietPi/issues/6342#issuecomment-1697669420 +- NanoPi R4S | Resolved a v8.21 regression where the Ethernet LEDs did not react correctly after the kernel upgrade. Many thanks to @idaanx for reporting this issue: https://github.com/MichaIng/DietPi/issues/6342#issuecomment-1697669420 +- Orange Pi 5 | Resolved a v8.21 regression where the update may have lead to an unbootable system or caused other issues like missing HDMI output, because of a falsely set device tree file name. - Bookworm | Resolved an issue where poweroff/reboot/halt commands did throw errors about missing dbus or logind. DietPi ships without dbus and with logind masked by default, as we do not see their features being used on a typical DietPi system. Instead, dbus is installed and logind unmasked on demand on certain software installs or when chosen via dietpi.txt. However, the newer systemd version since Bookworm attempts dbus > logind communication in any case when calling poweroff/reboot/halt, despite no wall message being sent, e.g. to handle shutdown inhibitors (like open SSH session being able to prevent shutdown), and throws errors if either dbus is not reachable or logind not running. Until in case dbus or logind are further tied into common system commands or features, we solved the issue by creating shell functions for poweroff/reboot/halt which call the respective systemd target directly to bypass logind (and hence dbus), but fall back to the original commands, depending on given command-line parameters. - dietpi-bookworm-upgrade | Resolved an issue on systems with Armbian repository, where the system was still identified as Bullseye after the distribution upgrade to Bookworm. Reason was Armbian's base-files package, which was not upgraded as intended. On all DietPi systems, the original base-files package from Debian will now be enforced to prevent this and similar issues. Many thanks to @rogerthn2019 for reporting this issue: https://github.com/MichaIng/DietPi/issues/6227#issuecomment-1713688577 - DietPi-Config | The menu option to update the SPI bootloader is now shown on Orange Pi 5 Plus as well, as intended. Many thanks for @zappydood for reporting its absence: https://github.com/MichaIng/DietPi/issues/6501#issuecomment-1697175109 From ce95081a91e2899789bef25cbc6d74e80bbb7124 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Thu, 21 Sep 2023 22:11:07 +0200 Subject: [PATCH 17/17] v8.22 - DietP-Patches | Orange Pi 5: Fix fdtfile entry --- .update/patches | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.update/patches b/.update/patches index 1a3ede8b25..78ed8da6c8 100755 --- a/.update/patches +++ b/.update/patches @@ -1486,6 +1486,13 @@ _EOF_ G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb G_EXEC rm package.deb fi + + # Orange Pi 5: Fix fdtfile entry + if (( $G_HW_MODEL == 80 )) && grep -q '^fdtfile=$' /boot/dietpiEnv.txt + then + G_DIETPI-NOTIFY 2 'Fixing fdtfile entry in dietpiEnv.txt ...' + G_EXEC sed -i '/^fdtfile=$/d' /boot/dietpiEnv.txt + fi } # v6.35 => v7 migration