Skip to content

Commit

Permalink
Beta v6.27.1 (#3270)
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaIng authored Dec 20, 2019
2 parents 25775c1 + 14e1dd7 commit 8a3a8d1
Show file tree
Hide file tree
Showing 13 changed files with 413 additions and 331 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/image_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ about: Suggest a new SBC to be added to the offial support and image list of Die
<!-- EG: https://github.com/drtyhlpr/rpi23-gen-image/https://github.com/Debian/raspi3-image-spec -->
- ...

#### Vote for this iamge on FeatHub: https://feathub.com/MichaIng/DietPi/
#### Vote for this image on FeatHub: https://feathub.com/MichaIng/DietPi/
<!-- Optional: Add your request to our FeatHub page as well and replace the above link accordinly.-->
14 changes: 12 additions & 2 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@ v6.27

Changes / Improvements / Optimisations:
- FriendlyARM ZeroPi | Initial hardware identifier (ID: 59) and support for this device has been added to DietPi. Many thanks to @Stephan for creating the related DietPi image: https://github.com/MichaIng/DietPi/issues/3221
- RPi | An updated USBridgeSig Ethernet driver, as provided by allo.com, will be applied via postinst kernel script, until it has been merged into official RPi kernel: https://github.com/allocom/USBridgeSig/tree/master/ethernet
- RPi4 | Added generic RPi4 revision code detection to include the new revisions [abc]03112 and potential new PCB v1.3 til v1.9 once released. Many thanks to @Joulinar for reporting the missing new revision code: https://github.com/MichaIng/DietPi/issues/3257#issuecomment-565370856
- RPi4 | Since RPi4, bootloader and USB firmware is stored on an internal EEPROM, which is not updated/flashed by the firmware APT package installs automatically. The additional "rpi-eeprom" package comes with an EEPROM update script and boot service, which will now be installed on DietPi update and firstrun setup automatically, if RPi4 is detected. Those firmware updates include power consumption (hence heat emission) optimisations and enable additional boot methods, currently network boot and USB boot is planned as well. This was reason enough for us to implement it automatically for all RPi4 systems. Additionally you can actively install/update the EEPROM manually via dietpi-config > Advanced Options > Update RPi4 EEPROM firmware. For additional information, read the official docs: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md Many thanks to @trueaspects for informing us about this important subject: https://github.com/MichaIng/DietPi/issues/3217
- Virtual Machines | Intel/AMD CPU microcode update packages are not installed/purged from virtual machines. The CPU is provided by the host, hypervisors do not allow to update microcode from within the guest, reasonably, and if they did, this would be serious security and stability issue.
- DietPi-PREP | New images will have all man pages and documentation files for installed packages available. Those were removed until now, but prevented users from simply installing man-db to view man pages on the system, without reinstalling packages to restore those first. Many thanks to @smudgered for doing this suggestion: https://github.com/MichaIng/DietPi/issues/3259
- DietPi-Software | The general network check against first sources.list entry has been replaced by a pure connectivity test and separate DNS resolver test via ping. This solves an issue where sources.list parsing failed when [arch=...] was specified and allows better debugging. The sources list entries themselves are checked and error-handled by G_AGUP already. Ping target IP for connection test and domain for DNS resolver test can be set via dietpi.txt, default is Cloudflare DNS IP and domain which should be very reliable and fast all over the world. Many thanks to @lwqcz for reporting the issue and providing a solution: https://github.com/MichaIng/DietPi/pull/3243
- DietPi-Software | TasmoAdmin: The administrative website to manage ESP8266 devices flashed with Tasmota for smart home systems is now available for install. Many thanks to @svh1985 for implementing this software title: https://github.com/MichaIng/DietPi/issues/3103
- DietPi-Software | ownCloud: Enabled install on Buster, Bullseye and ARMv6 RPi models (RPi1+Zero). ownCloud 10.3 has been release with PHP7.3 support, hence it can be used with native distro PHP7.3 and does not require Ondrej's PHP repo which does not support armv6hf.
Expand All @@ -15,12 +18,14 @@ Changes / Improvements / Optimisations:
- DietPi-Software | Home Assistant: Vastly reduced Home Assistant dependencies and install complexity. It does not run inside a virtualenv of pyenv anymore, since it has already its unique pyenv Python instance. pyenv is still required due to the large amount of specific module versions, required for HA and its integrations. The alternative would be a venv from a globally installed Python instance, but this requires further thoughts and discussion. The amount of development libraries and tools, installed via APT, has been updated and reduced to a minimum to build Python and Home Assistant inside the pyenv without errors and warnings. There is a slightly increased chance that certain HA components need additional development packages. To cover this, two new settings have been added to dietpi.txt: "SOFTWARE_HOMEASSISTANT_APT_DEPS" and "SOFTWARE_HOMEASSISTANT_PIP_DEPS". Add a space-separated list of APT packages and pip modules respectively, to have those installed automatically with Home Assistant. As well activating the pyenv environment from console is now easier possible via "source /home/homeassistant/pyenv-activate.sh" as user "homeassistant". Additionally "/home/homeassistant/homeassistant-update.sh" has been added, which can be called by any sudo-capable user to update Home Assistant easily.
- DietPi-Software | Node-RED: Access permissions to I2C is now enabled by default on RPi and other SBCs which ship a configured "i2c" group by default. Many thanks to @NastySpill for reporting an underlying issue: https://dietpi.com/phpbb/viewtopic.php?f=11&t=6862
- DietPi-Software | Gitea: The latest version will now be pulled from GitHub automatically.
- DietPi-Software | Amiberry: Updated to v3.0.4, a large update from v2.25 with many improvements, see: https://github.com/midwan/amiberry/releases
- DietPi-Software | Amiberry: Updated to v3.0.9, a large update from v2.25 with many improvements, see: https://github.com/midwan/amiberry/releases
- DietPi-Software | Amiberry: Since we ship a tailored SDL2 version, this has now been merged right into the Amiberry download archive and install directory, to not interfere with other system-wide installed SDL2 instances.
- DietPi-Software | Kodi: Add GPU-accelerated support for Odroid N2 via fbdev driver and special Kodi build, provided by Meveric. Many thanks to @ernero93 for doing this request: https://github.com/MichaIng/DietPi/issues/3255

Bug Fixes:
- DietPi-PREP | Resolved an issue, where in rare cases a wrong $PATH variable could break command calls. Many thanks to @dtm2001 for reporting this issue: https://github.com/MichaIng/DietPi/issues/3206
- DietPi-Drive_Manager | Resolved an issue where, after transferring the root file system, the script itself could revert the fstab entry, since a reboot was not forced anymore since v6.22. This change has been reverted, hence a reboot cannot be skipped to avoid any fstab revert and inconsistency with cmdline. Many thanks to @DutchFlash for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?f=11&t=6645
- DietPi-Drive_Manager | Resolved an issue where, in rare cases, all drives were mounted as R/O on boot. Many thanks to @samolego for reporting this issue: https://github.com/MichaIng/DietPi/issues/3268
- DietPi-Autostart | Resolved an issue where non-interactive script calls, e.g. done by dietpi-software installs, reset prior made auto login user choices. Many thanks to @zedrdave for reporting this issue: https://github.com/MichaIng/DietPi/issues/3242
- DietPi-Config | RPi: Resolved an issue where PSU noise reduction state always shows "[Off]". HDMI output will now be toggled immediately, hence no reboot is required for changes to take effect. Many thanks to @maartenlangeveld for reporting this issue: https://github.com/MichaIng/DietPi/issues/3187
- DietPi-Software | ownCloud/Nextcloud: An important security fix has been applied to our ownCloud/Nextcloud Nginx configs. This has been merged into our other GitHub branches as well, hence all fresh installs wont be affected. Read more about it: https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm/
Expand All @@ -33,8 +38,13 @@ Bug Fixes:
- DietPi-Software | Jackett: Resolved an issue where the internal updater broke the Jackett instance. Automated updates can be safely enabled again. Many thanks to @ngosang for providing the workaround: https://github.com/MichaIng/DietPi/issues/2593
- DietPi-Software | Pi-hole: Resolved an issue where choosing to block public admin panel access on Nginx failed. Many thanks to @anubis-genix for reporting this issue: https://github.com/MichaIng/DietPi/issues/3024#issuecomment-550342684
- DietPi-Software | Java: Resolved an issue where install on ARMv6 RPis (1/Zero) on Buster system failed, since Java 11 is not ARMv6-compatible. On these system, Java 8 is now installed instead. Many thanks to @maartenlangeveld for reporting this issue: https://github.com/MichaIng/DietPi/issues/3182
- DietPi-Software | ruTorrent: Resolved an issue where rTorrent and the webserver didn't have sufficient permissions to read and write ruTorrent web UI settings and data. Many thanks to @notDavid for reporting this issue: https://github.com/MichaIng/DietPi/issues/3244
- DietPi-Software | rTorrent: Resolved an issue where rTorrent and the webserver didn't have sufficient permissions to read and write ruTorrent web UI settings and data. Many thanks to @notDavid for reporting this issue: https://github.com/MichaIng/DietPi/issues/3244
- DietPi-Software | rTorrent: Updated deprecated commands and variables in our default config file. Many thanks to @bbsixzz for reporting this issue: https://github.com/MichaIng/DietPi/issues/3273
- DietPi-Software | rTorrent: Resolved an issue where ruTorrent DarkBetter theme was not installed. Many thanks to @bbsixzz for reporting this issue: https://github.com/MichaIng/DietPi/issues/3271
- DietPi-Software | Amiberry: Resolved an issue where the binary fails to execute on Odroid XU4. Many thanks to @wasu111 for reporting this issue: https://github.com/MichaIng/DietPi/issues/3181
- DietPi-Software | Tor Hotspot: Resolved an issue where, since Buster, Tor fails to start due to deprecated config file entries. Many thanks to @blizarazu for reporting this issue: https://github.com/MichaIng/DietPi/issues/3261
- DietPi-Software | Allo web GUI: Resolved an issue where web access fails due to wrong permissions. Many thanks to @Heroldgray for reporting this issue: https://github.com/MichaIng/DietPi/issues/3264
- DietPi-Software | GMediaRender: Resolved an issue where service fails to start due to missing permissions. Many thanks to @fnsnyc for reporting this issue: https://github.com/MichaIng/DietPi/issues/3263

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/XXXX

Expand Down
99 changes: 56 additions & 43 deletions PREP_SYSTEM_FOR_DIETPI.sh
Original file line number Diff line number Diff line change
Expand Up @@ -812,9 +812,9 @@ _EOF_

fi

# - G_HW_MODEL specific required Kernel packages
# - G_HW_MODEL specific required firmware/kernel/bootloader packages
# ARMbian grab currently installed packages
elif dpkg --get-selections | grep -qi 'armbian'; then
elif dpkg --get-selections | grep -q 'armbian'; then

systemctl stop armbian-*

Expand All @@ -835,8 +835,7 @@ _EOF_
do

aPACKAGES_REQUIRED_INSTALL+=("$line")
apt-mark hold $line
G_DIETPI-NOTIFY 2 "PKG detected and set on hold: $line"
G_DIETPI-NOTIFY 2 "ARMbian package detected and added: $line"

done <<< "$(dpkg --get-selections | mawk -v pat="^$i" '$0~pat {print $1}')"

Expand Down Expand Up @@ -994,33 +993,33 @@ _EOF_

G_DIETPI-NOTIFY 2 'Removing misc files/folders/services, not required by DietPi'

[[ -d '/home' ]] && rm -R /home
[[ -d '/media' ]] && rm -R /media
[[ -d '/selinux' ]] && rm -R /selinux
[[ -d '/home' ]] && rm -vR /home
[[ -d '/media' ]] && rm -vR /media
[[ -d '/selinux' ]] && rm -vR /selinux

# - www
[[ -d '/var/www' ]] && rm -Rf /var/www/{,.??,.[^.]}*
[[ -d '/var/www' ]] && rm -vRf /var/www/{,.??,.[^.]}*

# - Sourcecode (linux-headers etc)
[[ -d '/usr/src' ]] && rm -Rf /usr/src/{,.??,.[^.]}*
[[ -d '/usr/src' ]] && rm -vRf /usr/src/{,.??,.[^.]}*

# - root
[[ -e '/root/.cache' ]] && rm -R /root/.cache
[[ -e '/root/.local' ]] && rm -R /root/.local
[[ -e '/root/.config' ]] && rm -R /root/.config
[[ -e '/root/.cache' ]] && rm -vR /root/.cache
[[ -e '/root/.local' ]] && rm -vR /root/.local
[[ -e '/root/.config' ]] && rm -vR /root/.config

# - Documentation dirs
[[ -d '/usr/share/man' ]] && rm -R /usr/share/man
[[ -d '/usr/share/doc' ]] && rm -R /usr/share/doc
[[ -d '/usr/share/doc-base' ]] && rm -R /usr/share/doc-base
[[ -d '/usr/share/calendar' ]] && rm -R /usr/share/calendar
# - Documentation dirs: https://github.com/MichaIng/DietPi/issues/3259
#[[ -d '/usr/share/man' ]] && rm -vR /usr/share/man
#[[ -d '/usr/share/doc' ]] && rm -vR /usr/share/doc
#[[ -d '/usr/share/doc-base' ]] && rm -vR /usr/share/doc-base
[[ -d '/usr/share/calendar' ]] && rm -vR /usr/share/calendar

# - Previous debconfs
rm -f /var/cache/debconf/*-old

# - Fonts
[[ -d '/usr/share/fonts' ]] && rm -R /usr/share/fonts
[[ -d '/usr/share/icons' ]] && rm -R /usr/share/icons
[[ -d '/usr/share/fonts' ]] && rm -vR /usr/share/fonts
[[ -d '/usr/share/icons' ]] && rm -vR /usr/share/icons

# - Stop, disable and remove not required 3rd party services
local aservices=(
Expand All @@ -1029,8 +1028,9 @@ _EOF_
'firstrun'
'resize2fs'
'log2ram'
'armbian*'
'*armbian*'
'tinker-bluetooth'
'rk3399-bluetooth'
# Meveric
'cpu_governor'
# RPi
Expand All @@ -1053,7 +1053,7 @@ _EOF_
systemctl mask ${j##*/}

else
rm -R $j
rm -vR $j

fi

Expand All @@ -1064,38 +1064,51 @@ _EOF_
systemctl daemon-reload

# - ARMbian specific
[[ -f '/boot/armbian_first_run.txt.template' ]] && rm /boot/armbian_first_run.txt.template
[[ -f '/usr/bin/armbianmonitor' ]] && rm /usr/bin/armbianmonitor
[[ -d '/usr/lib/armbian' ]] && rm -R /usr/lib/armbian
[[ -f '/usr/local/sbin/log2ram' ]] && rm /usr/local/sbin/log2ram
[[ -d '/usr/share/armbian' ]] && rm -R /usr/share/armbian
#rm -f /etc/armbian* armbian-release required for kernel package update (initramfs postinst)
rm -f /etc/apt/apt.conf.d/*armbian*
rm -f /etc/cron.*/armbian*
rm -f /etc/default/armbian*
rm -f /etc/profile.d/armbian*
rm -f /etc/update-motd.d/*armbian*
rm -f /etc/X11/xorg.conf.d/*armbian*
[[ -f '/boot/armbian_first_run.txt.template' ]] && rm -v /boot/armbian_first_run.txt.template
[[ -f '/usr/bin/armbianmonitor' ]] && rm -v /usr/bin/armbianmonitor
[[ -f '/usr/local/sbin/log2ram' ]] && rm -v /usr/local/sbin/log2ram
umount /var/log.hdd 2> /dev/null
[[ -d '/var/log.hdd' ]] && rm -R /var/log.hdd
rm -vf /etc/X11/xorg.conf.d/*armbian*
#rm -vf /etc/armbian* armbian-release # Required for kernel/bootloader package upgrade (initramfs postinst)
rm -vf /lib/systemd/system/*armbian*
rm -vf /etc/apt/apt.conf.d/*armbian*
rm -vf /etc/cron.*/*armbian*
#rm -vf /etc/default/*armbian* # Required for ARMbian root package upgrade
rm -vf /etc/update-motd.d/*armbian*
rm -vf /etc/profile.d/*armbian*
#[[ -d '/usr/lib/armbian' ]] && rm -vR /usr/lib/armbian # Required for ARMbian root package upgrade
#[[ -d '/usr/share/armbian' ]] && rm -vR /usr/share/armbian # Required for ARMbian root package upgrade
# Place DPKG exclude file, especially to skip cron jobs, which are doomed to fail and an unnecessary overhead + syslog spam on DietPi
cat << _EOF_ > /etc/dpkg/dpkg.cfg.d/dietpi-no_armbian
# Exclude conflicting ARMbian files
path-exclude /lib/systemd/system/*armbian*
path-exclude /etc/apt/apt.conf.d/*armbian*
path-exclude /etc/cron.*/*armbian*
#path-exclude /etc/default/*armbian* # Required for ARMbian root package upgrade
path-exclude /etc/update-motd.d/*armbian*
path-exclude /etc/profile.d/*armbian*
#path-exclude /usr/lib/armbian # Required for ARMbian root package upgrade
#path-exclude /usr/share/armbian # Required for ARMbian root package upgrade
_EOF_

# - OMV: https://github.com/MichaIng/DietPi/issues/2994
[[ -d '/etc/openmediavault' ]] && rm -R /etc/openmediavault
rm -f /etc/cron.*/openmediavault*
rm -f /usr/sbin/omv-*
[[ -d '/etc/openmediavault' ]] && rm -vR /etc/openmediavault
rm -vf /etc/cron.*/openmediavault*
rm -vf /usr/sbin/omv-*

# - Meveric specific
[[ -f '/usr/local/sbin/setup-odroid' ]] && rm /usr/local/sbin/setup-odroid
[[ -f '/usr/local/sbin/setup-odroid' ]] && rm -v /usr/local/sbin/setup-odroid

# - RPi specific: https://github.com/MichaIng/DietPi/issues/1631#issuecomment-373965406
[[ -f '/etc/profile.d/wifi-country.sh' ]] && rm /etc/profile.d/wifi-country.sh
[[ -f '/etc/sudoers.d/010_pi-nopasswd' ]] && rm /etc/sudoers.d/010_pi-nopasswd
[[ -d '/etc/systemd/system/dhcpcd.service.d' ]] && rm -R /etc/systemd/system/dhcpcd.service.d # https://github.com/RPi-Distro/pi-gen/blob/master/stage3/01-tweaks/00-run.sh
[[ -f '/etc/profile.d/wifi-country.sh' ]] && rm -v /etc/profile.d/wifi-country.sh
[[ -f '/etc/sudoers.d/010_pi-nopasswd' ]] && rm -v /etc/sudoers.d/010_pi-nopasswd
[[ -d '/etc/systemd/system/dhcpcd.service.d' ]] && rm -vR /etc/systemd/system/dhcpcd.service.d # https://github.com/RPi-Distro/pi-gen/blob/master/stage3/01-tweaks/00-run.sh
# Do not ship rc.local anymore. On DietPi /var/lib/dietpi/postboot.d should be used.
# WIP: Mask rc-local.service and create symlink postboot.d/rc.local => /etc/rc.local for backwards compatibility?
[[ -f '/etc/rc.local' ]] && rm /etc/rc.local # https://github.com/RPi-Distro/pi-gen/blob/master/stage2/01-sys-tweaks/files/rc.local
[[ -f '/etc/rc.local' ]] && rm -v /etc/rc.local # https://github.com/RPi-Distro/pi-gen/blob/master/stage2/01-sys-tweaks/files/rc.local
# Below required if DietPi-PREP is executed from chroot/container, so RPi firstrun scripts are not executed
[[ -f '/etc/init.d/resize2fs_once' ]] && rm /etc/init.d/resize2fs_once # https://github.com/RPi-Distro/pi-gen/blob/master/stage2/01-sys-tweaks/files/resize2fs_once
[[ -f '/etc/init.d/resize2fs_once' ]] && rm -v /etc/init.d/resize2fs_once # https://github.com/RPi-Distro/pi-gen/blob/master/stage2/01-sys-tweaks/files/resize2fs_once
[[ -f '/boot/cmdline.txt' ]] && sed -i 's| init=/usr/lib/raspi-config/init_resize\.sh||' /boot/cmdline.txt # https://github.com/RPi-Distro/pi-gen/blob/master/stage2/01-sys-tweaks/00-patches/07-resize-init.diff

# - make_nas_processes_faster cron job on Rock64 + NanoPi + Pine64(?) images
Expand All @@ -1111,7 +1124,7 @@ _EOF_
# - Pre v6.9 cleaning:
sed -i '/\/DietPi/d' /root/.bashrc
sed -i '/\/DietPi/d' /home/dietpi/.bashrc &> /dev/null
rm -f /etc/profile.d/99-dietpi*
rm -vf /etc/profile.d/99-dietpi*

# - Enable /etc/bashrc.d/ support for custom interactive non-login shell scripts:
sed -i '\#/etc/bashrc\.d/#d' /etc/bash.bashrc
Expand Down
10 changes: 5 additions & 5 deletions dietpi/dietpi-drive_manager
Original file line number Diff line number Diff line change
Expand Up @@ -257,10 +257,10 @@ $swap_mounts
# Add entry to fstab
if [[ ${aDRIVE_UUID[$index]} ]]; then

local options=''

# R/O?
(( ${aDRIVE_ISREADONLY_CURRENTLY[$index]} )) && options+=',ro'
# R/W or R/O?
# - Add rw flag to mount options. This should be default but seems to be not in rare cases: https://github.com/MichaIng/DietPi/issues/3268
local options=',rw'
(( ${aDRIVE_ISREADONLY_CURRENTLY[$index]} )) && options=',ro'

# Additional FS-specific options
# - NFTS: Enable POSIX permissions
Expand Down Expand Up @@ -336,7 +336,7 @@ $swap_mounts
local type=${aDRIVE_FSTYPE[$index]}
(( ${aDRIVE_ISNETWORKED[$index]} )) && type='auto'

echo "#UUID=${aDRIVE_UUID[$index]} ${aDRIVE_MOUNT_TARGET[$index]} ${type:-auto} noatime,lazytime,nofail,noauto,x-systemd.automount" >> $fp_fstab_tmp
echo "#UUID=${aDRIVE_UUID[$index]} ${aDRIVE_MOUNT_TARGET[$index]} ${type:-auto} noatime,lazytime,rw,nofail,noauto,x-systemd.automount" >> $fp_fstab_tmp

done < .blkid_out_tmp
rm .blkid_out_tmp
Expand Down
Loading

0 comments on commit 8a3a8d1

Please sign in to comment.