diff --git a/.build/images/dietpi-build b/.build/images/dietpi-build index 3df67896c6..5de5354459 100755 --- a/.build/images/dietpi-build +++ b/.build/images/dietpi-build @@ -131,6 +131,7 @@ case $HW_MODEL in 84) iname='Star64' HW_ARCH=11 root_size=639;; 85) iname='ROCK5A' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=752;; 86) iname='ASUSTB2' HW_ARCH=3 partition_start=16 root_size=752;; + 87) iname='OrangePi3B' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;; *) G_DIETPI-NOTIFY 1 "Invalid hardware model \"$HW_MODEL\" passed, aborting..."; exit 1;; esac diff --git a/.build/images/dietpi-installer b/.build/images/dietpi-installer index cab8f40399..7007969c45 100755 --- a/.build/images/dietpi-installer +++ b/.build/images/dietpi-installer @@ -388,6 +388,7 @@ _EOF_ '77' ': ROCK 3A' '78' ': ROCK 5B' '85' ': ROCK 5A' + '87' ': Orange Pi 3B' '80' ': Orange Pi 5' '82' ': Orange Pi 5 Plus' '83' ': Orange Pi Zero 3' @@ -586,7 +587,7 @@ _EOF_ G_EXEC mv "DietPi-$G_GITBRANCH/.build/images/U-Boot/99-dietpi-uboot" /etc/initramfs/post-update.d/99-dietpi-uboot G_EXEC sed --follow-symlinks -i 's/arm64/arm/' /etc/initramfs/post-update.d/99-dietpi-uboot - elif [[ $G_HW_MODEL =~ ^(12|15|16|40|42|43|44|45|46|47|48|52|54|55|56|57|58|59|60|62|63|64|65|66|67|68|72|73|74|77|78|80|82|83|85|86)$ ]] + elif [[ $G_HW_MODEL =~ ^(12|15|16|40|42|43|44|45|46|47|48|52|54|55|56|57|58|59|60|62|63|64|65|66|67|68|72|73|74|77|78|80|82|83|85|86|87)$ ]] then armbian_repo=1 G_EXEC mv "DietPi-$G_GITBRANCH/.build/images/U-Boot/boot.cmd" /boot/boot.cmd @@ -627,7 +628,7 @@ setenv rootuuid "true"' /boot/boot.cmd (( $G_HW_MODEL == 15 )) && G_EXEC eval 'echo '\''meson_rng'\'' > /etc/modules-load.d/dietpi-hwrng.conf' # Rockchip 64-bit (configs work with Amlogic OOTB) - elif [[ $G_HW_MODEL =~ ^(42|43|46|47|55|56|58|68|72|73|77|78|80|82|85|86)$ ]] + elif [[ $G_HW_MODEL =~ ^(42|43|46|47|55|56|58|68|72|73|77|78|80|82|85|86|87)$ ]] then G_EXEC sed --follow-symlinks -Ei '/^setenv (kernel|fdt)_addr_r/d' /boot/boot.cmd G_CONFIG_INJECT 'setenv scriptaddr ' 'setenv scriptaddr "0x9000000"' /boot/boot.cmd @@ -645,6 +646,7 @@ setenv rootuuid "true"' /boot/boot.cmd 77) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3568-rock-3a.dtb' /boot/dietpiEnv.txt;; 78) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3588-rock-5b.dtb' /boot/dietpiEnv.txt;; 85) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3588s-rock-5a.dtb' /boot/dietpiEnv.txt;; + 87) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3566-orangepi-3b.dtb' /boot/dietpiEnv.txt;; *) :;; esac case $G_HW_MODEL in @@ -1071,6 +1073,7 @@ _EOF_ 82) model='orangepi5-plus' kernel='rk35xx' branch='legacy';; 85) model='rock-5a' kernel='rk35xx' branch='legacy';; 86) model='tinkerboard-2' kernel='rockchip64';; + 87) model='orangepi3b' kernel='rockchip64'; branch='edge';; *) :;; esac # Download and pre-install U-Boot hosted on dietpi.com where it has not been ported to the Armbian Bookworm repo or has been removed completely @@ -1960,7 +1963,7 @@ _EOF_' /boot/dietpi/func/dietpi-set_hardware serialconsole enable ttyGS0 # ROCKPro64, ROCK64, Pinebook Pro, NanoPi R4S, Quartz64, ASUS Tinker Board, NanoPi R2S, NanoPi NEO3, NanoPi M4V2, NanoPi M4/T4/NEO4, ROCK 4, ROCK 3A, ASUS Tinker Board 2 - elif [[ $G_HW_MODEL =~ ^(42|43|46|47|49|52|55|56|58|68|72|77|86)$ ]] + elif [[ $G_HW_MODEL =~ ^(42|43|46|47|49|52|55|56|58|68|72|77|86|87)$ ]] then /boot/dietpi/func/dietpi-set_hardware serialconsole enable ttyS2 diff --git a/.conf/dps_27/lighttpd.tasmoadmin.3.conf b/.conf/dps_27/lighttpd.tasmoadmin.3.conf index f69c58c72a..5763c3b9e0 100644 --- a/.conf/dps_27/lighttpd.tasmoadmin.3.conf +++ b/.conf/dps_27/lighttpd.tasmoadmin.3.conf @@ -9,6 +9,6 @@ $HTTP["url"] =~ "^/tasmoadmin($|/)" { # TasmoAdmin URL rewrites else $HTTP["url"] !~ "^/tasmoadmin/index\.php($|/)" { - url.rewrite-if-not-file = ("^/tasmoadmin/(.*)$" => "/tasmoadmin/index.php?$1") + url.rewrite-if-not-file = ("" => "/tasmoadmin/index.php${qsa}") } } diff --git a/.github/workflows/dietpi-build.yml b/.github/workflows/dietpi-build.yml index 96f7cfdff2..1a87afbe73 100644 --- a/.github/workflows/dietpi-build.yml +++ b/.github/workflows/dietpi-build.yml @@ -85,7 +85,8 @@ jobs: '"-m 83 -d 6", "-m 83 -d 7", "-m 83 -d 8", '\ '"-m 84 -d 8", '\ '"-m 85 -d 6", "-m 85 -d 7", "-m 85 -d 8", '\ - '"-m 86 -d 6", "-m 86 -d 7", "-m 86 -d 8"]' >> "$GITHUB_OUTPUT" + '"-m 86 -d 6", "-m 86 -d 7", "-m 86 -d 8", '\ + '"-m 87 -d 6", "-m 87 -d 7", "-m 87 -d 8"]' >> "$GITHUB_OUTPUT" elif [ "${{ github.event.inputs.buildargs }}" = 'quartz64' ] then echo buildargs=[\ diff --git a/.meta/dietpi-rpi-firmware-migration b/.meta/dietpi-rpi-firmware-migration index 98307e556c..78e91ddf85 100644 --- a/.meta/dietpi-rpi-firmware-migration +++ b/.meta/dietpi-rpi-firmware-migration @@ -24,6 +24,7 @@ G_EXEC mount "$G_ROOTFS_DEV" rootfs # Copy DietPi files from bootfs to rootfs G_EXEC cp -a /boot/dietpi* rootfs/boot/ +G_EXEC chmod -x rootfs/boot/dietpi{.txt,/.??*,/func/dietpi-globals} # Remount bootfs to /boot/firmware G_EXEC mkdir -p rootfs/boot/firmware @@ -38,14 +39,17 @@ G_EXEC ln -s firmware/cmdline.txt /boot/cmdline.txt G_EXEC ln -s firmware/config.txt /boot/config.txt # Install new firmware packages -apackages=('linux-image-rpi-v8' 'linux-image-rpi-2712') -dpkg-query -s 'raspberrypi-kernel-headers' &> /dev/null && apackages+=('linux-headers-rpi-v8' 'linux-headers-rpi-2712') +apackages=('linux-image-rpi-v8') +dpkg-query -s 'raspberrypi-kernel-headers' &> /dev/null && apackages+=('linux-headers-rpi-v8') if [[ $(dpkg --print-architecture) == 'armhf' ]] then apackages+=('linux-image-rpi-v6' 'linux-image-rpi-v7' 'linux-image-rpi-v7l') dpkg-query -s 'raspberrypi-kernel-headers' &> /dev/null && apackages+=('linux-headers-rpi-v6' 'linux-headers-rpi-v7' 'linux-headers-rpi-v7l') # Add foreign arm64 arch until the 64-bit kernel package has been added to the armhf repo: https://github.com/RPi-Distro/repo/issues/356 G_EXEC dpkg --add-architecture arm64 +else + apackages+=('linux-image-rpi-2712') + dpkg-query -s 'raspberrypi-kernel-headers' &> /dev/null && apackages+=('linux-headers-rpi-2712') fi G_AGUP G_AGI "${apackages[@]}" raspi-firmware diff --git a/.meta/dietpi-survey_report b/.meta/dietpi-survey_report index 5aa998c5ee..2914d430b6 100755 --- a/.meta/dietpi-survey_report +++ b/.meta/dietpi-survey_report @@ -90,6 +90,7 @@ shopt -s extglob [84]='Star64' [85]='ROCK 5A' [86]='ASUS Tinker Board 2' + [87]='Orange Pi 3B' ) ## Benchmark data arrays: aBENCH_XX[$HW_MODEL,${aBENCH_XX_INDEX[$HW_MODEL]}] diff --git a/.update/patches b/.update/patches index 068faa74ea..c72b669d0c 100755 --- a/.update/patches +++ b/.update/patches @@ -1483,14 +1483,6 @@ Patch_8_24() G_AGI "${apackages[@]}" G_EXEC apt-mark auto "${apackages[@]/current-rockchip64/edge-rk35xx}" - # VisionFive 2 - elif (( $G_HW_MODEL == 81 )) && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' linux-image-visionfive2 2> /dev/null)" lt-nl 6.1.62-dietpi1 - then - G_DIETPI-NOTIFY 2 'Updating RISC-V StarFive VisionFive 2 kernel ...' - G_EXEC_OUTPUT=1 G_EXEC curl -fo package.deb 'https://dietpi.com/downloads/binaries/linux-image-visionfive2.deb' - G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb - G_EXEC rm package.deb - # Orange Pi Zero 3: Pre-v8.24 WiFi config migration elif [[ $G_HW_MODEL == 83 && -f '/etc/modules-load.d/dietpi-enable_wifi.conf' ]] then @@ -1524,20 +1516,28 @@ Patch_8_25() then for i in quartz64{a,b} soquartz do - dpkg --compare-versions "$(dpkg-query -Wf '${Version}' "firmware-$i" 2> /dev/null)" lt-nl 6.6.3-dietpi1 || continue + dpkg --compare-versions "$(dpkg-query -Wf '${Version}' "firmware-$i" 2> /dev/null)" lt-nl 6.6.7-dietpi1 || continue G_DIETPI-NOTIFY 2 "Updating $i kernel and bootloader ..." G_EXEC_OUTPUT=1 G_EXEC curl -fo package.deb "https://dietpi.com/downloads/binaries/firmware-$i.deb" G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb G_EXEC rm package.deb break done + + # VisionFive 2 + elif (( $G_HW_MODEL == 81 )) && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' linux-image-visionfive2 2> /dev/null)" lt-nl 6.1.68-dietpi1 + then + G_DIETPI-NOTIFY 2 'Updating RISC-V StarFive VisionFive 2 kernel ...' + G_EXEC_OUTPUT=1 G_EXEC curl -fo package.deb 'https://dietpi.com/downloads/binaries/linux-image-visionfive2.deb' + G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb + G_EXEC rm package.deb fi # Software updates and migrations if [[ -f '/boot/dietpi/.installed' ]] then # vaultwarden - if grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[183\]=2' /boot/dietpi/.installed && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' vaultwarden 2> /dev/null)" lt 1.30.1-dietpi1 + if grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[183\]=2' /boot/dietpi/.installed && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' vaultwarden 2> /dev/null)" lt 1.30.1-dietpi2 then # Pre-v8.7 cleanup if [[ -f '/opt/vaultwarden/target/release/vaultwarden' ]] @@ -1552,7 +1552,7 @@ Patch_8_25() fi # Amiberry - grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[108\]=2' /boot/dietpi/.installed && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' amiberry 2> /dev/null)" lt 5.6.4-dietpi1 && G_WHIP_YESNO '[ INFO ] Amiberry update available + grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[108\]=2' /boot/dietpi/.installed && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' amiberry 2> /dev/null)" lt 5.6.4-dietpi2 && G_WHIP_YESNO '[ INFO ] Amiberry update available \nAn update to Amiberry v5.6.4 is available, including LibSDL2 v2.28.5. Release notes: https://github.com/BlitterStudio/amiberry/releases \nDo you want to apply the update now? @@ -1566,6 +1566,9 @@ Release notes: https://github.com/BlitterStudio/amiberry/releases [[ -f '/etc/systemd/system/nzbget.service' ]] && G_EXEC sed --follow-symlinks -i -e '/^Type=/d' -e '/^ExecStart=/c\ExecStart=/mnt/dietpi_userdata/nzbget/nzbget -so OutputMode=log' /etc/systemd/system/nzbget.service [[ -f '/var/log/nzbget.log' ]] && G_EXEC rm /var/log/nzbget.log fi + + # TasmoAdmin with Lighttpd: https://github.com/MichaIng/DietPi/issues/6805 + [[ -f '/etc/lighttpd/conf-available/99-dietpi-tasmoadmin.conf' ]] && G_EXEC curl -sSfo /etc/lighttpd/conf-available/99-dietpi-tasmoadmin.conf "https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/.conf/dps_27/lighttpd.tasmoadmin.3.conf" fi } diff --git a/.update/version b/.update/version index 78ef0952fa..9031ea8398 100644 --- a/.update/version +++ b/.update/version @@ -3,7 +3,7 @@ # Available DietPi version G_REMOTE_VERSION_CORE=8 G_REMOTE_VERSION_SUB=25 -G_REMOTE_VERSION_RC=0 +G_REMOTE_VERSION_RC=1 # Minimum DietPi version to allow update G_MIN_VERSION_CORE=6 G_MIN_VERSION_SUB=14 diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 3d3f5b931a..7f0bcc1128 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -2,8 +2,8 @@ v8.25 (2023-12-16) New images: -- Star64 -- Orange Pi 3B +- Star64 | Support for the RISC-V StarFive VisionFive 2 clone from PINE64 has been added to DietPi. The images are highly experimental, like software support for the architecture in general. Find our images here, before they are added to our download page soon: https://dietpi.com/downloads/binaries/testing/ +- Orange Pi 3B | Support for this RK3566 SBC has been added to DietPi. Find our images here, before they are added to our download page soon: https://dietpi.com/downloads/binaries/testing/ Enhancements: - Raspberry Pi | We applied preparations for supporting the new official Raspberry Pi firmware and kernel packages, which implies support for Raspberry Pi 5. A script allows to the migration to the new package set, including the switch for the boot mountpoint from /boot to /boot/firmware. Please see the following topic about how to apply the script. Note that it is in beta stage for now, since the change might cause issues among our scripts which we did not detect yet: https://github.com/MichaIng/DietPi/issues/6676 @@ -16,8 +16,9 @@ Bug fixes: - DietPi-Backup | Resolved an issue where updating or restoring backups between different distro version may have been incomplete (particularly in case of Bookworm and Bullseye), since the /etc/debian_version is identical in size and mtime, and hence seen as identical by rsync (by default), while its content is different. - DietPi-Software | Ampache: Resolved an issue on Bullseye and Bookworm systems where the initial web UI access failed because our pre-generated database was too old. A template shipped with Ampache will now be used, the initial admin user and music catalogue added via CLI. Many thanks to @mostly_offline for reporting this issue: https://dietpi.com/forum/t/bypassing-ampache-update-page/17367 - DietPi-Software | Kodi: Worked around an issue on RPi Bookworm systems where installing Kodi failed due to a missing directory. Many thanks to @joshi0531 for reporting this issue: https://github.com/MichaIng/DietPi/issues/6703 +- DietPi-Software | TasmoAdmin: Resolved an issue where the web updater did not work with Lighttpd, due to a wrong rewrite rule. Many thanks to @Boebbele for reporting this issue: https://github.com/MichaIng/DietPi/issues/6805 -As always, many smaller code performance and stability improvements, visual and spelling fixes have been done, too much to list all of them here. Check out all code changes of this release on GitHub: https://github.com/MichaIng/DietPi/pull/ADDME +As always, many smaller code performance and stability improvements, visual and spelling fixes have been done, too much to list all of them here. Check out all code changes of this release on GitHub: https://github.com/MichaIng/DietPi/pull/6808 ----------------------------------------------------------------------------------------------------------- diff --git a/dietpi/dietpi-backup b/dietpi/dietpi-backup index dff568d11c..0b502b24c8 100755 --- a/dietpi/dietpi-backup +++ b/dietpi/dietpi-backup @@ -216,9 +216,9 @@ However, this check is a rough estimation in reasonable time, thus it could be m rsync "${aRSYNC_RUN_OPTIONS_BACKUP[@]}" -v --log-file="$FP_TARGET/$FP_LOG" "$FP_SOURCE" "$FP_TARGET/data/" EXIT_CODE=$? - # Manually backup /etc/debian_release, since it can have same size and mtime between different Debian version, hence backing up e.g. a Bookworm system onto an existing Bullseye backup won't include this critical file. + # Manually backup /etc/debian_version, since it can have same size and mtime between different Debian version, hence backing up e.g. a Bookworm system onto an existing Bullseye backup won't include this critical file. # - The alternative would be "-c" to compare checksums, but this can increases the duration significantly. - G_EXEC cp -a "${FP_SOURCE}etc/debian_release" "$FP_TARGET/$DATA/etc/debian_release" + G_EXEC cp -a "${FP_SOURCE}etc/debian_version" "$FP_TARGET/data/etc/debian_version" # touch target directory to show the correct last update timestamp when restoring one of multiple backups from the archive. This needs to be done after the backup since it applies the root / timestamps. G_EXEC touch "$FP_TARGET/data" @@ -392,9 +392,9 @@ However, this check is a rough estimation in reasonable time, thus it could be m rsync "${aRSYNC_RUN_OPTIONS_RESTORE[@]}" -v --log-file="$FP_TARGET/$FP_LOG" "$FP_TARGET/$DATA/" "$FP_SOURCE" EXIT_CODE=$? - # Manually restore /etc/debian_release, since it can have same size and mtime between different Debian version, hence restoring e.g. a Bullseye system on Bookworm won't restore this critical file. + # Manually restore /etc/debian_version, since it can have same size and mtime between different Debian version, hence restoring e.g. a Bullseye system on Bookworm won't restore this critical file. # - The alternative would be "-c" to compare checksums, but this can increases the duration significantly. - G_EXEC cp -a "$FP_TARGET/$DATA/etc/debian_release" "${FP_SOURCE}etc/debian_release" + G_EXEC cp -a "$FP_TARGET/$DATA/etc/debian_version" "${FP_SOURCE}etc/debian_version" hash -r # Clear PATH cache (( $UPDATE_UUIDs )) && Update_UUIDs diff --git a/dietpi/dietpi-config b/dietpi/dietpi-config index 085e905655..b788d8100a 100755 --- a/dietpi/dietpi-config +++ b/dietpi/dietpi-config @@ -1074,10 +1074,10 @@ Re-enabling HDMI requires a reboot. If you need emergency HDMI output, edit the # ROCK 4: Device tree overlay required (( $G_HW_MODEL == 72 )) || [[ -b '/dev/mtdblock0' && -f '/usr/lib/u-boot/platform_install.sh' ]] && G_WHIP_MENU_ARRAY+=('Update SPI bootloader' ': Flash current U-Boot to /dev/mtdblock0') - # VisionFive 2: https://doc-en.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf - elif (( $G_HW_MODEL == 81 )) + # VisionFive 2/Star64: https://doc-en.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf + elif (( $G_HW_MODEL == 81 || $G_HW_MODEL == 84 )) then - G_WHIP_MENU_ARRAY+=('Update bootloader' ': on VisionFive 2 SPI storage') + G_WHIP_MENU_ARRAY+=('Update bootloader' ': on VisionFive 2/Star64 SPI storage') fi # Serial/UART devices @@ -1250,7 +1250,7 @@ Further information: https://www.raspberrypi.org/documentation/hardware/raspberr elif [[ $G_WHIP_RETURNED_VALUE == 'Update bootloader' ]]; then G_WHIP_YESNO '[ INFO ] SPI bootloader update -\nThis will download and flash the latest U-Boot from StarFive to your VisionFive 2 SPI storage. +\nThis will download and flash the latest U-Boot from StarFive to your VisionFive 2/Star64 SPI storage. Latest release notes: https://github.com/starfive-tech/VisionFive2/releases \nDo you want to continue?' || return 0 G_AG_CHECK_INSTALL_PREREQ libubootenv-tool diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index c637b711b1..2e66508688 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -7569,7 +7569,7 @@ _EOF_ then Download_Install 'https://github.com/gotson/komga/releases/download/v0.165.0/komga-0.165.0.jar' /mnt/dietpi_userdata/komga/komga.jar else - local fallback_url='https://github.com/gotson/komga/releases/download/1.8.4/komga-1.8.4.jar' + local fallback_url='https://github.com/gotson/komga/releases/download/1.9.0/komga-1.9.0.jar' Download_Install "$(curl -sSfL 'https://api.github.com/repos/gotson/komga/releases/latest' | mawk -F\" '/^ *"browser_download_url": ".*\/komga-[^"\/]*\.jar"$/{print $4}')" /mnt/dietpi_userdata/komga/komga.jar fi @@ -10287,7 +10287,7 @@ _EOF_ *) local arch='x64';; esac - local fallback_url="https://github.com/Readarr/Readarr/releases/download/v0.3.11.2319/Readarr.develop.0.3.11.2319.linux-core-$arch.tar.gz" + local fallback_url="https://github.com/Readarr/Readarr/releases/download/v0.3.12.2327/Readarr.develop.0.3.12.2327.linux-core-$arch.tar.gz" Download_Install "$(curl -sSfL 'https://api.github.com/repos/Readarr/Readarr/releases' | mawk -F\" "/^ *\"browser_download_url\": \".*linux-core-$arch\.tar\.gz\"$/{print \$4}" | head -1)" G_EXEC mv Readarr /opt/readarr fi @@ -11170,7 +11170,7 @@ _EOF_ # Download local version=$(curl -sSfL 'https://api.github.com/repos/ptitSeb/box86/releases/latest' | mawk -F\" '/^ *"tag_name": "[^"]*",$/{print $4}') - [[ $version ]] || { version='v0.3.2'; G_DIETPI-NOTIFY 1 "Automatic latest ${aSOFTWARE_NAME[$software_id]} version detection failed. Version \"$version\" will be installed as fallback, but a newer version might be available. Please report this at: https://github.com/MichaIng/DietPi/issues"; } + [[ $version ]] || { version='v0.3.4'; G_DIETPI-NOTIFY 1 "Automatic latest ${aSOFTWARE_NAME[$software_id]} version detection failed. Version \"$version\" will be installed as fallback, but a newer version might be available. Please report this at: https://github.com/MichaIng/DietPi/issues"; } Download_Install "https://github.com/ptitSeb/box86/archive/$version.tar.gz" # Build for targets: https://github.com/ptitSeb/box86/blob/master/CMakeLists.txt @@ -11215,7 +11215,7 @@ _EOF_ # Download local version=$(curl -sSfL 'https://api.github.com/repos/ptitSeb/box64/releases/latest' | mawk -F\" '/^ *"tag_name": "[^"]*",$/{print $4}') - [[ $version ]] || { version='v0.2.4'; G_DIETPI-NOTIFY 1 "Automatic latest ${aSOFTWARE_NAME[$software_id]} version detection failed. Version \"$version\" will be installed as fallback, but a newer version might be available. Please report this at: https://github.com/MichaIng/DietPi/issues"; } + [[ $version ]] || { version='v0.2.6'; G_DIETPI-NOTIFY 1 "Automatic latest ${aSOFTWARE_NAME[$software_id]} version detection failed. Version \"$version\" will be installed as fallback, but a newer version might be available. Please report this at: https://github.com/MichaIng/DietPi/issues"; } Download_Install "https://github.com/ptitSeb/box64/archive/$version.tar.gz" # Build for targets: https://github.com/ptitSeb/box64/blob/main/CMakeLists.txt @@ -11233,6 +11233,12 @@ _EOF_ elif (( $G_HW_MODEL == 4 )) then G_EXEC cmake .. -DRPI4ARM64=1 -DNOGIT=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo + # - RPi 5 + elif (( $G_HW_MODEL == 5 )) + then + local ps16k='' + dpkg-query -s 'linux-image-rpi-2712' &> /dev/null && ps16k='PS16K' + G_EXEC cmake .. "-DRPI5ARM64$ps16k=1" -DNOGIT=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo # - Odroid N2 elif (( $G_HW_MODEL == 15 )) then diff --git a/dietpi/func/dietpi-globals b/dietpi/func/dietpi-globals index 81d096da91..19803b1d6a 100644 --- a/dietpi/func/dietpi-globals +++ b/dietpi/func/dietpi-globals @@ -55,7 +55,7 @@ # - Assign defaults/code version as fallback [[ $G_DIETPI_VERSION_CORE ]] || G_DIETPI_VERSION_CORE=8 [[ $G_DIETPI_VERSION_SUB ]] || G_DIETPI_VERSION_SUB=25 - [[ $G_DIETPI_VERSION_RC ]] || G_DIETPI_VERSION_RC=0 + [[ $G_DIETPI_VERSION_RC ]] || G_DIETPI_VERSION_RC=1 [[ $G_GITBRANCH ]] || G_GITBRANCH='master' [[ $G_GITOWNER ]] || G_GITOWNER='MichaIng' # - Save current version and Git branch diff --git a/dietpi/func/dietpi-obtain_hw_model b/dietpi/func/dietpi-obtain_hw_model index c99e6416b5..30e7248fec 100755 --- a/dietpi/func/dietpi-obtain_hw_model +++ b/dietpi/func/dietpi-obtain_hw_model @@ -12,6 +12,7 @@ # - Generates /boot/dietpi/.hw_model # - Called from /boot/dietpi/preboot, called by /etc/systemd/system/dietpi-preboot.service # + # G_HW_MODEL 87 Orange Pi 3B # G_HW_MODEL 86 ASUS Tinker Board 2 # G_HW_MODEL 85 ROCK 5A # G_HW_MODEL 84 Star64 @@ -316,7 +317,12 @@ G_HW_MODEL=$(mawk 'NR==1' "$FP_G_HW_MODEL_IDENTIFIER") - if (( $G_HW_MODEL == 86 )); then + if (( $G_HW_MODEL == 87 )); then + + G_HW_MODEL_NAME='Orange Pi 3B' + G_HW_CPUID=9 + + elif (( $G_HW_MODEL == 86 )); then G_HW_MODEL_NAME='ASUS Tinker Board 2' G_HW_CPUID=3 diff --git a/dietpi/func/dietpi-set_hardware b/dietpi/func/dietpi-set_hardware index 01bf7165fa..9fed96642f 100755 --- a/dietpi/func/dietpi-set_hardware +++ b/dietpi/func/dietpi-set_hardware @@ -249,7 +249,7 @@ _EOF_ #///////////////////////////////////////////////////////////////////////////////////// VF2_SPI_Update() { - (( $G_HW_MODEL == 81 )) || { Unsupported_Input_Name; return 1; } # Exit path for non-VisionFive 2 + (( $G_HW_MODEL == 81 || $G_HW_MODEL == 84 )) || { Unsupported_Input_Name; return 1; } # Exit path for non-VisionFive 2 G_AG_CHECK_INSTALL_PREREQ mtd-utils local version=$(curl -sSf 'https://api.github.com/repos/starfive-tech/VisionFive2/releases/latest' | mawk -F\" '/"tag_name": /{print $4}') @@ -1567,7 +1567,7 @@ Do you want to continue and disable the serial login console?' || return 1 elif (( $DIETPIENV || $G_HW_MODEL == 49 || $G_HW_MODEL == 76 || $G_HW_MODEL == 79 )) then local baudrate='115200' - if [[ $G_HW_MODEL =~ ^(42|43|46|47|49|55|56|58|68|72|77)$ && $INPUT_ADDITIONAL == 'ttyS2' ]] || [[ $G_HW_MODEL == 73 && $INPUT_ADDITIONAL == 'ttyS'[012] ]] || [[ $G_HW_MODEL =~ ^(76|78|79|80|82|85)$ && $INPUT_ADDITIONAL == 'ttyFIQ0' ]] + if [[ $G_HW_MODEL =~ ^(42|43|46|47|49|55|56|58|68|72|77|87)$ && $INPUT_ADDITIONAL == 'ttyS2' ]] || [[ $G_HW_MODEL == 73 && $INPUT_ADDITIONAL == 'ttyS'[012] ]] || [[ $G_HW_MODEL =~ ^(76|78|79|80|82|85)$ && $INPUT_ADDITIONAL == 'ttyFIQ0' ]] then baudrate='1500000' [[ -d /etc/systemd/system/serial-getty@$INPUT_ADDITIONAL.service.d ]] || G_EXEC mkdir "/etc/systemd/system/serial-getty@$INPUT_ADDITIONAL.service.d"