Skip to content

Commit e87e1dd

Browse files
authored
Release v9.2 (#6955)
2 parents 02592a3 + c80f048 commit e87e1dd

20 files changed

Lines changed: 426 additions & 361 deletions

.build/images/dietpi-build

Lines changed: 44 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ EDITION=
4747
SUFFIX=
4848
ADD_DOS_PART=1
4949
SIGN_PASS=
50-
RPI_NEW=0
5150
while (( $# ))
5251
do
5352
case $1 in
@@ -64,7 +63,6 @@ do
6463
'-s') shift; SUFFIX=$1;;
6564
'--no-dos-part') ADD_DOS_PART=0;;
6665
'--sign') shift; SIGN_PASS=$1;;
67-
'--rpi-new') RPI_NEW=1;;
6866
*) G_DIETPI-NOTIFY 1 "Invalid input \"$1\", aborting..."; exit 1;;
6967
esac
7068
shift
@@ -85,31 +83,31 @@ case $HW_MODEL in
8583
5) iname='RPi5' HW_ARCH=3 boot_size=128 root_size=895;;
8684
10) iname='OdroidC1' HW_ARCH=2 partition_start=4 boot_size=128 root_size=700 boot_fstype='fat16';;
8785
11) iname='OdroidXU4' HW_ARCH=2 partition_start=4 root_size=764;;
88-
12) iname='OdroidC2' HW_ARCH=3 partition_start=4 root_size=892;;
89-
15) iname='OdroidN2' HW_ARCH=3 partition_start=4 root_size=892;;
90-
16) iname='OdroidC4' HW_ARCH=3 partition_start=4 root_size=892;;
86+
12) iname='OdroidC2' HW_ARCH=3 partition_start=4 root_size=1020;;
87+
15) iname='OdroidN2' HW_ARCH=3 partition_start=4 root_size=1020;;
88+
16) iname='OdroidC4' HW_ARCH=3 partition_start=4 root_size=1020;;
9189
20) iname='VM' HW_ARCH=${HW_ARCH:-10} VMTYPE=${VMTYPE:-raw};;
92-
21) iname='NativePC-BIOS' HW_ARCH=10 root_size=1215;;
90+
21) iname='NativePC-BIOS' HW_ARCH=10 root_size=1663;;
9391
40) iname='PINEA64' HW_ARCH=3 partition_start=4 root_size=892;;
94-
42) iname='ROCKPro64' HW_ARCH=3 partition_start=16 root_size=880;;
95-
43) iname='ROCK64' HW_ARCH=3 partition_start=16 root_size=880;;
92+
42) iname='ROCKPro64' HW_ARCH=3 partition_start=16 root_size=1008;;
93+
43) iname='ROCK64' HW_ARCH=3 partition_start=16 root_size=1008;;
9694
44) iname='Pinebook' HW_ARCH=3 partition_start=4 root_size=892;;
9795
45) iname='PINEH64' HW_ARCH=3 partition_start=4 root_size=892;;
98-
46) iname='PinebookPro' HW_ARCH=3 partition_start=16 root_size=880;;
99-
47) iname='NanoPiR4S' HW_ARCH=3 partition_start=16 root_size=880;;
96+
46) iname='PinebookPro' HW_ARCH=3 partition_start=16 root_size=1008;;
97+
47) iname='NanoPiR4S' HW_ARCH=3 partition_start=16 root_size=1008;;
10098
48) iname='NanoPiR1' HW_ARCH=2 partition_start=4 root_size=764;;
10199
'49.1') iname='Quartz64A' HW_ARCH=3 partition_start=16 root_size=752;;
102100
'49.2') iname='Quartz64B' HW_ARCH=3 partition_start=16 root_size=752;;
103101
'49.3') iname='SOQuartz' HW_ARCH=3 partition_start=16 root_size=752;;
104102
52) iname='ASUSTB' HW_ARCH=2 partition_start=4 root_size=764;;
105-
54) iname='NanoPiK2' HW_ARCH=3 partition_start=4 root_size=892;;
106-
55) iname='NanoPiR2S' HW_ARCH=3 partition_start=16 root_size=880;;
107-
56) iname='NanoPiNEO3' HW_ARCH=3 partition_start=16 root_size=880;;
103+
54) iname='NanoPiK2' HW_ARCH=3 partition_start=4 root_size=1020;;
104+
55) iname='NanoPiR2S' HW_ARCH=3 partition_start=16 root_size=1008;;
105+
56) iname='NanoPiNEO3' HW_ARCH=3 partition_start=16 root_size=1008;;
108106
57) iname='NanoPiNEOPlus2' HW_ARCH=3 partition_start=4 root_size=892;;
109-
58) iname='NanoPiM4V2' HW_ARCH=3 partition_start=16 root_size=880;;
107+
58) iname='NanoPiM4V2' HW_ARCH=3 partition_start=16 root_size=1008;;
110108
59) iname='ZeroPi' HW_ARCH=2 partition_start=4 root_size=764;;
111109
60) iname='NanoPiNEO' HW_ARCH=2 partition_start=4 root_size=764;;
112-
61) iname='NanoPiM2' HW_ARCH=2 partition_start=4 boot_size=64 root_size=572 boot_fstype='ext4';;
110+
61) iname='NanoPiM2' HW_ARCH=2 partition_start=4 boot_size=64 root_size=700 boot_fstype='ext4';;
113111
'62.1') iname='NanoPiM3' HW_ARCH=3 partition_start=4 root_size=700;;
114112
'62.2') iname='NanoPiFire3' HW_ARCH=3 partition_start=4 root_size=700;;
115113
63) iname='NanoPiM1' HW_ARCH=2 partition_start=4 root_size=764;;
@@ -118,31 +116,31 @@ case $HW_MODEL in
118116
'65.2') iname='NanoPiNEO2Black' HW_ARCH=3 partition_start=4 root_size=892;;
119117
66) iname='NanoPiM1Plus' HW_ARCH=2 partition_start=4 root_size=764;;
120118
67) iname='NanoPiK1Plus' HW_ARCH=3 partition_start=4 root_size=892;;
121-
'68.1') iname='NanoPiM4' HW_ARCH=3 partition_start=16 root_size=880;;
122-
'68.2') iname='NanoPCT4' HW_ARCH=3 partition_start=16 root_size=880;;
123-
'68.3') iname='NanoPiNEO4' HW_ARCH=3 partition_start=16 root_size=880;;
119+
'68.1') iname='NanoPiM4' HW_ARCH=3 partition_start=16 root_size=1008;;
120+
'68.2') iname='NanoPCT4' HW_ARCH=3 partition_start=16 root_size=1008;;
121+
'68.3') iname='NanoPiNEO4' HW_ARCH=3 partition_start=16 root_size=1008;;
124122
70) iname='SparkySBC' HW_ARCH=2 partition_start=8 boot_size=48 root_size=712 boot_fstype='fat16';;
125123
'72.1') iname='ROCKPi4' HW_ARCH=3 partition_start=16 root_size=1008;;
126124
'72.2') iname='ROCK4SE' HW_ARCH=3 partition_start=16 root_size=1008;;
127-
73) iname='ROCKPiS' HW_ARCH=3 partition_start=16 root_size=880;;
128-
74) iname='RadxaZero' HW_ARCH=3 partition_start=4 root_size=892;;
129-
75) iname='Container' HW_ARCH=${HW_ARCH:-10} root_size=447;;
130-
'76.1') iname='NanoPiR5S' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
131-
'76.2') iname='NanoPiR5C' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
132-
77) iname='ROCK3A' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
133-
78) iname='ROCK5B' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
134-
'79.1') iname='NanoPiR6S' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
135-
'79.2') iname='NanoPiR6C' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
136-
'79.3') iname='NanoPCT6' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
137-
80) iname='OrangePi5' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
125+
73) iname='ROCKPiS' HW_ARCH=3 partition_start=16 root_size=1008;;
126+
74) iname='RadxaZero' HW_ARCH=3 partition_start=4 root_size=1020;;
127+
75) iname='Container' HW_ARCH=${HW_ARCH:-10} root_size=575;;
128+
'76.1') iname='NanoPiR5S' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1136;;
129+
'76.2') iname='NanoPiR5C' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1136;;
130+
77) iname='ROCK3A' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
131+
78) iname='ROCK5B' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
132+
'79.1') iname='NanoPiR6S' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
133+
'79.2') iname='NanoPiR6C' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
134+
'79.3') iname='NanoPCT6' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
135+
80) iname='OrangePi5' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
138136
81) iname='VisionFive2' HW_ARCH=11 root_size=639;;
139-
82) iname='OrangePi5Plus' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
140-
'83.1') iname='OrangePiZero3' HW_ARCH=3 partition_start=4 root_size=1020;;
141-
'83.2') iname='OrangePiZero3-1.5G' HW_ARCH=3 partition_start=4 root_size=1020;;
137+
82) iname='OrangePi5Plus' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
138+
'83.1') iname='OrangePiZero3' HW_ARCH=3 partition_start=4 root_size=1148;;
139+
'83.2') iname='OrangePiZero3-1.5G' HW_ARCH=3 partition_start=4 root_size=1148;;
142140
84) iname='Star64' HW_ARCH=11 root_size=639;;
143-
85) iname='ROCK5A' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
144-
86) iname='ASUSTB2' HW_ARCH=3 partition_start=16 root_size=880;;
145-
87) iname='OrangePi3B' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=880;;
141+
85) iname='ROCK5A' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
142+
86) iname='ASUSTB2' HW_ARCH=3 partition_start=16 root_size=1008;;
143+
87) iname='OrangePi3B' HW_ARCH=3 PTTYPE='gpt' partition_start=16 root_size=1008;;
146144
*) G_DIETPI-NOTIFY 1 "Invalid hardware model \"$HW_MODEL\" passed, aborting..."; exit 1;;
147145
esac
148146

@@ -166,39 +164,20 @@ case $HW_ARCH in
166164
*) G_DIETPI-NOTIFY 1 "Invalid architecture \"$HW_ARCH\" passed, aborting..."; exit 1;;
167165
esac
168166

169-
exclude=
170167
case $DISTRO in
171-
6) distro='bullseye' exclude=',gcc-8-base,gcc-9-base';;
172-
7|8)
173-
exclude=',gcc-8-base,gcc-9-base,gcc-10-base,gcc-11-base'
174-
[[ $DISTRO == 7 ]] && distro='bookworm' || distro='trixie' exclude+=',gcc-12-base,gcc-13-base'
175-
[[ $HW_ARCH == 11 ]] && distro='sid' # RISC-V architecture is available on Sid only
176-
# Raise root size where required
177-
case $HW_MODEL in
178-
1[256]|54|61|7[4569]) ((root_size+=128));;
179-
21) ((root_size+=448));;
180-
*) [[ $partition_start == 16 ]] && ((root_size+=128));; # 64-bit Rockchip SoCs
181-
esac
182-
;;
168+
6) distro='bullseye';;
169+
7) distro='bookworm';;
170+
8) distro='trixie';;
183171
*) G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1;;
184172
esac
173+
[[ $HW_ARCH == 11 ]] && distro='sid' # RISC-V architecture is available on Sid only
185174

186175
case $PTTYPE in
187176
'msdos') :;;
188177
'gpt') [[ $HW_MODEL == 21 ]] && efi_size=64 iname='NativePC-UEFI' ITYPE='Installer';;
189178
*) G_DIETPI-NOTIFY 1 "Invalid partition table type \"$PTTYPE\" passed, aborting..."; exit 1;;
190179
esac
191180

192-
if (( $RPI_NEW ))
193-
then
194-
(( $HW_MODEL < 10 && $DISTRO > 6 )) || { G_DIETPI-NOTIFY 1 "Invalid flag \"--rpi-new\" passed for hardware model \"$HW_MODEL\" or distro \"$DISTRO\" (${distro^}), aborting..."; exit 1; }
195-
196-
elif (( $HW_MODEL && $HW_MODEL < 10 ))
197-
then
198-
G_DIETPI-NOTIFY 1 "Invalid hardware model \"$HW_MODEL\" passed without flag \"--rpi-new\", aborting..."
199-
exit 1
200-
fi
201-
202181
# Do not add trailing FAT partitions for VM, container and (Clonezilla) installer images, and if there is a boot FAT partition already
203182
[[ $HW_MODEL == 20 || $HW_MODEL == 75 || $ITYPE == 'Installer' ]] && ADD_DOS_PART=0
204183
[[ $boot_size -gt 0 && $boot_fstype == 'fat'* ]] && ADD_DOS_PART=0
@@ -361,7 +340,7 @@ then
361340
G_EXEC "mkfs.$FSTYPE" "${afs_opts[@]}" "${FP_LOOP}p2"
362341
G_EXEC mount "${FP_LOOP}p2" rootfs
363342
fp_boot='boot'
364-
(( $RPI_NEW )) && fp_boot+='/firmware'
343+
[[ $HW_MODEL == [1245] ]] && fp_boot+='/firmware'
365344
G_EXEC mkdir -p "rootfs/$fp_boot"
366345
G_EXEC mount "${FP_LOOP}p1" "rootfs/$fp_boot"
367346
G_EXEC mkdir rootfs/etc
@@ -399,8 +378,8 @@ G_EXEC mount -o X-mount.mkdir -t tmpfs tmpfs rootfs/var/lib/apt/lists
399378
G_EXEC mount -o X-mount.mkdir -t tmpfs tmpfs rootfs/var/log
400379
packages='apt,bash-completion,bzip2,ca-certificates,cron,curl,fdisk,gnupg,htop,iputils-ping,locales,nano,p7zip,parted,procps,psmisc,sudo,systemd-sysv,tzdata,udev,unzip,wget,whiptail,'
401380
[[ $HW_MODEL == 75 ]] && packages+='iproute2' || packages+='console-setup,dropbear,ethtool,fake-hwclock,ifupdown,isc-dhcp-client,kmod,rfkill,systemd-timesyncd,usbutils'
402-
G_EXEC_POST_FUNC(){ [[ $exit_code == 0 ]] || cat /dev/shm/rootfs/debootstrap/debootstrap.log; }
403-
G_EXEC_OUTPUT=1 G_EXEC debootstrap --variant=minbase --exclude="gcc-7-base$exclude" --include="$packages" --arch="$parch" --keyring="$keyring" "$distro" ./rootfs "$repo"
381+
G_EXEC_POST_FUNC(){ [[ $exit_code == 0 ]] || cat rootfs/debootstrap/debootstrap.log; }
382+
G_EXEC_OUTPUT=1 G_EXEC debootstrap --variant=minbase --include="$packages" --arch="$parch" --keyring="$keyring" "$distro" ./rootfs "$repo"
404383
G_EXEC umount rootfs/dev rootfs/run rootfs/var/cache/apt rootfs/var/lib/apt/lists rootfs/var/log
405384

406385
##########################################
@@ -465,7 +444,7 @@ G_EXEC losetup -d "$FP_LOOP"
465444
export FP_ROOT_DEV CLONING_TOOL OUTPUT_IMG_NAME MOUNT_IT='Off' SKIP_ARCHIVE SKIP_FIRSTBOOT_RESIZE=1
466445
IMAGER_ARGS=("$OUTPUT_IMG_NAME.img")
467446
(( $ADD_DOS_PART )) && IMAGER_ARGS+=('--add-dos-part')
468-
(( $RPI_NEW )) && IMAGER_ARGS+=('--configs-to-boot')
447+
[[ $HW_MODEL == [1245] ]] && IMAGER_ARGS+=('--configs-to-boot')
469448
[[ $SIGN_PASS ]] && IMAGER_ARGS+=('--sign' "$SIGN_PASS")
470449
if [[ ! $EDITION || $EDITION == 'all' ]]
471450
then
@@ -497,7 +476,7 @@ then
497476

498477
# Mount filesystems
499478
G_EXEC mkdir rootfs
500-
if (( $RPI_NEW ))
479+
if [[ $HW_MODEL == [1245] ]]
501480
then
502481
G_EXEC mount "${FP_LOOP}p2" rootfs
503482

@@ -559,9 +538,10 @@ then
559538

560539
# Mount filesystems
561540
G_EXEC mkdir rootfs
562-
if (( $RPI_NEW ))
541+
if [[ $HW_MODEL == [1245] ]]
563542
then
564543
G_EXEC mount "${FP_LOOP}p2" rootfs
544+
G_EXEC mount "${FP_LOOP}p1" rootfs/boot/firmware
565545

566546
elif (( $boot_size ))
567547
then
@@ -599,9 +579,6 @@ _EOF_
599579
# Force ARMv6 arch on Raspbian
600580
(( $HW_ARCH == 1 )) && echo 'sed --follow-symlinks -i -e '\''/^G_HW_ARCH=/c\G_HW_ARCH=1'\'' -e '\''/^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l'\'' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh
601581

602-
# Temporary fix for failing NAA Daemon install on Trixie
603-
(( $DISTRO == 8 )) && G_EXEC sed --follow-symlinks -i '\|www.signalyst.eu|s|bookworm/bullseye|trixie/bullseye|' rootfs/boot/dietpi/dietpi-software
604-
605582
# Skip filesystem expansion
606583
G_EXEC rm rootfs/etc/systemd/system/local-fs.target.wants/dietpi-fs_partition_resize.service
607584

.build/images/dietpi-installer

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,7 +1151,8 @@ _EOF_
11511151
G_AGI initramfs-tools u-boot-tools armbian-firmware "${zstd[@]}"
11521152
[[ ${zstd[0]} ]] && G_CONFIG_INJECT 'COMPRESS=' 'COMPRESS=zstd' /etc/initramfs-tools/initramfs.conf
11531153
# Download and pre-install kernel hosted on dietpi.com where the Armbian APT repo provides a too old version
1154-
if [[ ( $G_HW_MODEL == 72 && $HW_VARIANT == 2 ) || $G_HW_MODEL =~ ^(76|83)$ ]]
1154+
# - NanoPi R4S: Solve Ethernet adapter disappearing on soft reboot: https://github.com/MichaIng/DietPi/issues/6342
1155+
if [[ ( $G_HW_MODEL == 72 && $HW_VARIANT == 2 ) || $G_HW_MODEL =~ ^(47|76|83)$ ]]
11551156
then
11561157
G_EXEC_OUTPUT=1 G_EXEC curl -fo package1.deb "https://dietpi.com/downloads/binaries/linux-image-$branch-$kernel.deb"
11571158
G_EXEC_OUTPUT=1 G_EXEC curl -fo package2.deb "https://dietpi.com/downloads/binaries/linux-dtb-$branch-$kernel.deb"
@@ -1537,16 +1538,11 @@ _EOF_
15371538
# Replace usrmerge with usr-is-merged again, in case of dist-upgraded systems
15381539
dpkg-query -s usrmerge &> /dev/null && G_AGP usrmerge
15391540

1540-
# Remove old gcc-*-base packages, e.g. accumulated on Raspberry Pi OS images
1541+
# Bullseye: Remove old gcc-*-base packages, e.g. accumulated on Raspberry Pi OS images and installed by debootstrap, which are not autoremoved due to "Priority: required"
15411542
# shellcheck disable=SC2015
1542-
case $G_DISTRO in
1543-
5) mapfile -t apackages < <(dpkg --get-selections 'gcc-*-base' | mawk '$1!~/^gcc-8-/{print $1}');;
1544-
6) mapfile -t apackages < <(dpkg --get-selections 'gcc-*-base' | mawk '$1!~/^gcc-10-/{print $1}');;
1545-
7) mapfile -t apackages < <(dpkg --get-selections 'gcc-*-base' | mawk '$1!~/^gcc-12-/{print $1}');;
1546-
8) dpkg-query -s 'gcc-14-base' &> /dev/null && mapfile -t apackages < <(dpkg --get-selections 'gcc-*-base' | mawk '$1!~/^gcc-14-/{print $1}') || mapfile -t apackages < <(dpkg --get-selections 'gcc-*-base' | mawk '$1!~/^gcc-13-/{print $1}');; # Temporary workaround for Raspbian Trixie not shipping gcc-14-base yet
1547-
*) :;;
1548-
esac
1543+
(( $G_DISTRO == 6 )) && mapfile -t apackages < <(dpkg --get-selections 'gcc-*-base' | mawk '$1!~/^gcc-10-/{print $1}')
15491544
[[ ${apackages[0]} ]] && G_AGP "${apackages[@]}"
1545+
unset -v apackages
15501546

15511547
G_DIETPI-NOTIFY 2 'Restoring default base files:'
15521548
# shellcheck disable=SC2114
@@ -2174,6 +2170,7 @@ _EOF_
21742170
cat << '_EOF_' > /etc/udev/rules.d/dietpi-eth-leds.rules
21752171
SUBSYSTEM=="leds", KERNEL=="green:lan", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth0", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth0", RUN+="/bin/ip l s down dev eth0"
21762172
SUBSYSTEM=="leds", KERNEL=="green:wan", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth1", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth1", RUN+="/bin/ip l s down dev eth1"
2173+
SUBSYSTEM=="leds", KERNEL=="green:wlan", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="wlan0", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev wlan0", RUN+="/bin/ip l s down dev wlan0"
21772174
_EOF_
21782175
# NanoPi R6S
21792176
elif [[ $G_HW_MODEL == 79 && $HW_VARIANT == 1 ]]
@@ -2191,8 +2188,9 @@ _EOF_
21912188
G_DIETPI-NOTIFY 2 'Enabling NanoPi R6C Ethernet LEDs'
21922189
G_EXEC eval 'echo '\''ledtrig-netdev'\'' > /etc/modules-load.d/dietpi-eth-leds.conf'
21932190
cat << '_EOF_' > /etc/udev/rules.d/dietpi-eth-leds.rules
2194-
SUBSYSTEM=="leds", KERNEL=="wan_led", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth0", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth0; /bin/ip l s down dev eth0"
2195-
SUBSYSTEM=="leds", KERNEL=="lan1_led", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth1", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth1; /bin/ip l s down dev eth1"
2191+
SUBSYSTEM=="leds", KERNEL=="wan_led", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth0", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth0", RUN+="/bin/ip l s down dev eth0"
2192+
SUBSYSTEM=="leds", KERNEL=="lan1_led", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth1", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth1", RUN+="/bin/ip l s down dev eth1"
2193+
SUBSYSTEM=="leds", KERNEL=="user_led", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="wlan0", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev wlan0", RUN+="/bin/ip l s down dev wlan0"
21962194
_EOF_
21972195
# Orange Pi 3B/Zero 3: Module does not load automatically, but we want it loaded on first boot in case firstrun setup is done via WiFi
21982196
elif [[ $G_HW_MODEL =~ ^(83|87)$ ]]
@@ -2224,7 +2222,7 @@ _EOF_
22242222
then
22252223
G_CONFIG_INJECT 'CONFIG_NTP_MODE=' 'CONFIG_NTP_MODE=0' /boot/dietpi.txt
22262224
else
2227-
G_EXEC_DESC='Enable Dropbear autostart' G_EXEC sed --follow-symlinks -i '/NO_START=1/c\NO_START=0' /etc/default/dropbear
2225+
(( $G_DISTRO < 7 )) && G_EXEC_DESC='Enable Dropbear autostart' G_EXEC sed --follow-symlinks -i '/NO_START=1/c\NO_START=0' /etc/default/dropbear
22282226
G_EXEC systemctl unmask dropbear
22292227
G_EXEC systemctl enable dropbear
22302228
fi

.build/software/Amiberry/build.bash

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ G_AGUP
2121
G_AGDUG "${adeps_build[@]}"
2222
for i in "${adeps[@]}"
2323
do
24-
dpkg-query -s "$i" &> /dev/null && continue
24+
# Temporarily allow lib*t64 packages, while the 64-bit time_t transition is ongoing on Sid: https://bugs.debian.org/1065394
25+
dpkg-query -s "$i" &> /dev/null || dpkg-query -s "${i}t64" &> /dev/null && continue
2526
G_DIETPI-NOTIFY 1 "Expected dependency package was not installed: $i"
2627
exit 1
2728
done
@@ -185,6 +186,8 @@ find "$DIR" ! \( -path "$DIR/DEBIAN" -prune \) -type f -exec md5sum {} + | sed "
185186
DEPS_APT_VERSIONED=
186187
for i in "${adeps[@]}"
187188
do
189+
# Temporarily allow lib*t64 packages, while the 64-bit time_t transition is ongoing on Sid: https://bugs.debian.org/1065394
190+
dpkg-query -s "$i" &> /dev/null || i+='t64'
188191
DEPS_APT_VERSIONED+=" $i (>= $(dpkg-query -Wf '${VERSION}' "$i")),"
189192
done
190193
DEPS_APT_VERSIONED=${DEPS_APT_VERSIONED%,}

.build/software/dietpi-software-build.bash

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,16 @@ fi
116116
# Install Go for Gogs
117117
[[ $NAME == 'gogs' ]] && G_CONFIG_INJECT 'AUTO_SETUP_INSTALL_SOFTWARE_ID=' 'AUTO_SETUP_INSTALL_SOFTWARE_ID=188' rootfs/boot/dietpi.txt
118118

119-
# Gogs on RISC-V: Temporarily switch to dev branch until DietPi v8.24 has been released, installing Go from go.dev instead of APT
120-
[[ $NAME == 'gogs' && $ARCH == 'riscv64' ]] && G_CONFIG_INJECT 'DEV_GITBRANCH=' 'DEV_GITBRANCH=dev' rootfs/boot/dietpi.txt
121-
122119
# Workaround invalid TERM on login
123120
# shellcheck disable=SC2016
124121
G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || { echo "[ WARN ] Unsupported TERM=\"$TERM\", switching to TERM=\"dumb\""; export TERM=dumb; }'\'' > rootfs/etc/bashrc.d/00-dietpi-build.sh'
125122

126123
# Workaround for failing IPv4 network connectivity check as GitHub Actions runners do not receive external ICMP echo replies
127124
G_CONFIG_INJECT 'CONFIG_CHECK_CONNECTION_IP=' 'CONFIG_CHECK_CONNECTION_IP=127.0.0.1' rootfs/boot/dietpi.txt
128125

126+
# Shutdown on failures before the custom script is executed
127+
G_EXEC sed --follow-symlinks -i 's|Prompt_on_Failure$|{ journalctl -n 50; ss -tulpn; df -h; free -h; poweroff; }|' rootfs/boot/dietpi/dietpi-login
128+
129129
# Avoid DietPi-Survey uploads to not mess with the statistics
130130
G_EXEC rm rootfs/root/.ssh/known_hosts
131131

0 commit comments

Comments
 (0)