]> if it exists - vm settings: allow option to remove libvirt image - vm settings: bug fix: spinning download button Version 6.2.0-beta21 2016-04-05 ------------------------------- Base distro: - at: version 3.1.19 - curl: version 7.48.0 - dbus: version 1.10.8 - glibc-zoneinfo: version 2016c - kernel-firmware: version 20160401 - libevent: version 2.0.22 - lvm2: version 2.02.148 - php: version 5.6.20 - qemu: version 2.5.1 - samba: version 4.4.0 - sudo: version 1.8.16 - xkeyboard-config: version 2.17 Management: - Fixed a few bugs in mac version of syslinux - rc.local: disabled irqbalance service from automatically starting - Fix container hostpath validation in rc.docker. - Updated smartmontool drivedb.h Linux kernel: - added config options: - DM_MIRROR: Mirror target (per user request) - unraid: Fix parity size not checked against size of new device(s) added to existing array. - unraid: Fix non-present disabled data device size not checked against new parity device size. webGui: - Version: 2016-04-05 - VM Manager: add German vnc keyboard choice - Improved core separation display for AMD cpus on System Devices page - Fix: Templates not updating - Fix single line display of non-hyperthreaded cores on Dashboard page - Make direct link to plugin update optional in notice. Allows for direct download or redirect to plugin manager - Show parity history with newest entry at top and oldest entry at bottom - Add unRAID OS/Dynamix GUI update message in footer - API for plugins to test and display a new version message - Force refresh of file when content has changed, and file is viewed in browser - Check for disk not present in status report - Group disk types (parity, data, cache) in status report - Improved core separation on Dashboard page - Docker: add RO/Slave path option - Docker: Do not override /config Name or Display for V2 templates - Docker: remove spaces from container names - Fixed regression error in Browse function - vnc viewer: code updates from upstream (Make sure to copy arrays when using render queue) - Upgraded jQuery to version 2.2.2 - Change min width of navbar items (@anthony0030) Version 6.2.0-beta20 2016-03-25 ------------------------------- Base distro: - aaa_elflibs: version 14.2 - ethtool: version 4.5 - glibc-zoneinfo: version 2016b - lvm2: version lvm2-2.02.147 - mc: version 4.8.16 - pciutils: version 3.4.1 - pkgtools: version 14.2 - procps-ng: version 3.3.11 - mozilla-firefox: version 45.0.1 - harfbuzz: version harfbuzz-1.2.4 - utempter: version 1.1.6 Linux kernel: - version 4.4.6 - added missing firmware: ast_dp501_fw.bin - use out-of-tree drivers: - Intel 10Gbit Ethernet driver ixgbe: version 4.3.13 - Intel 10Gbit Ethernet driver ixgbevf: version 3.1.2 - Highpoint Rocket r750: version 1.2.4 Management: - Add halt_poll_ns=0 to kvm.conf - eliminates high cpu overhead in windows 10 [kudos to Eric S. for this!] - Fix auto-start array - Fix upgrade process erroneous reference of /boot/config/domains.cfg to /boot/config/domain.cfg - Quiet extraneous nfs start messages. - When necessary to query keyserver, poll up to 45 seconds for a connection. webGui: - docker: Add Template Authoring Mode. - docker: Add the ability to keep templates in sync with the authors modifications - docker: Fix: wrong variable name prevents config creation - docker: Set default port mode to TCP and path mode to RW - dynamix: Introduce context-sensitive help - dynamix: Get rid of SMART db update in monitor - Do not activate context-sensitive help functionality for Docker and VMs pages yet Version 6.2.0-beta19 2016-03-17 ------------------------------- Base distro: - fix NFS mounts and warnings about missing IPv6 - removed obsolete 'apmd' and 'portmap' packages - acpid: version 2.0.26 - docker: version 1.10.3 - cryptsetup: version 1.7.1 - grep: version 2.24 - gtk+3: version 3.18.9 - htop: version 2.0.1 - libdrm: version 2.4.67 - libnl3: version 3.2.27 - lvm2: version 2.02.145 - mozilla-firefox: version 45.0 (console GUI mode) - mpfr: version 3.1.4 - nettle: version 3.2 - openssh: version 7.2p2 - p11-kit: version 0.23.2 - pciutils: version 3.4.1 - rpcbind: version 0.2.3 - samba: version: 4.3.6 - xorg-server: version 1.18.2 Linux kernel: - version 4.4.5 - added config options: - AMD_IOMMU_V2: AMD IOMMU Version 2 driver - INTEL_IOMMU_SVM: Support for Shared Virtual Memory with Intel IOMMU - SCSI_HPSA: HP Smart Array SCSI driver [per customer request for testing, may be removed] - unraid: Correct sync start/end timestamps. - unraid: Fix device spindown bug. - unraid: Fix NEW_ARRAY case of Q not set invalid. - unraid: Refinement in 'invalidslot' handling Management: - Certain mount errors can actually leave device mounted, so un-mount if any error detected. - Change 'color' status of non-present parity devices from 'red-off' to 'grey-off'. - correctly handle dual-parity "trust parity" flag. - fix 'bash' error in /etc/rc.d/rc.6 (shutdown) script. - Fix disks_mounted event generated after svcs_started. - Get rid of "Identify" operation. - Incorporate gfjardim suggestion to mark /mnt "shared" for better Docker integration. - upgrade process now copies/upgrades bzroot-gui and syslinux/syslinux.cfg- webGui: - docker: always show the 'Add another Path, Port or Variable' button - docker: export ports as variable if Network is set to host - docker: fix 'WebUI' content menu item now hidden when the web ui link is empty - docker: removed 'Dry Run' button on create/edit container page - docker: update pop-in dialogs to look better when using the Dynamix black theme - Do not display unassigned parity devices when array is Started. - fix context menu to escape non-safe css selector characters - fix when disk rebuild is complete, notification reports status "Canceled" - vm manager: Fix cdrom bus type to use SATA when machine type is Q35 Version 6.2.0-beta18 2016-03-11 ------------------------------- Changes vs. unRAID Server OS 6.1.9. Base distro: - switch to 'slackware64-current' base packages - avahi: version 0.6.32 - beep: version 1.3 - docker: version 1.10.2 - eudev: version 3.1.5a: support NVMe - fuse: version 2.9.5 - irqbalance: version 1.1.0 - jemalloc: version 4.0.4 - libestr: version 0.1.10 - liblogging: version 1.0.5 - libusb: version 1.0.20 - libvirt: version 1.3.1 - lshw: version B.02.17 svn2588 - lz4: version r133 - mozilla-firefox: version 44.0.2 (console GUI mode) - netatalk: version 3.1.8 - numactl: version 2.0.11 - php: version 5.6.19 - qemu: version 2.5.0 - rsyslog: version 8.16.0 - samba: - version: 4.3.5 - enable asynchronous I/O in /etc/samba/smb.conf - remove 'max protocol = SMB3' from /etc/samba/smb.conf (automatic negotiation chooses the appropriate protocol) - spice: version 0.12.6 - xorg-server: version 1.18.1 - yajl: version 2.1.0 Linux kernel: - version 4.4.4 - default iommu to passthrough (iommu=pt) - kvm: enabled nested virtualization - unraid: array PQ support (dual-parity) Management: - Trial key now supports 6 devices, validates with limetech keyserver - Pro key supports max 30 array devices, unlimited attached devices - add 10Gb ethernet tuning in /etc/sysctl.conf - add tunable: md_write_method (so-called "turbo write") - array PQ support (dual-parity) - do not auto-start parity operation when Starting array in Maintenance mode - libvirt image file handling - stop md/unraid driver cleanly upon system poweroff/reset - support NVMe storage devices assignable to array and cache/pool - support USB storage devices assignable to array and cache/pool - system shares handling - misc other improvements and bug fixes webGui: - all fixes and enhancements from 6.1.9 - added hardware profile page - added service status labels to docker and vm manager settings pages - docker: revamped docker container edit page (thanks gfjardim!) - docker: now using docker v2 index/repos - docker: updating a stopped container will keep it stopped upon completion - dyanmix-6.2: version 2016-03-11 - reverse the negative logic in docker and libvirt image fsck confirmation - support user specified network MTU value - vm manager: usb3 controller support, improved usb device sorting and display - vm manager: integrated virtio driver iso downloader - vm manager: support nvidia with hyper-v for windows guests - vm manager: added auto option for vdisk location - misc other improvements and bug fixes ]]> rm /tmp/&name;.sh # cleanup possibly failed previous download/install attempt rm -rf /tmp/&name;* mkdir /tmp/&name; # check if this is unRAID-5 source /etc/unraid-version if [ "${version:0:2}" == "5." ]; then # prevent endless install loop rm -rf /boot/plugins/&name;.plg rm -rf /boot/config/plugins/&name;.plg # check if 64-bit capable CPU if ! grep -q " lm" /proc/cpuinfo ; then echo "CPU is not 64-bit capable" exit 1 fi # Wait until network is ready by pinging google - thanks bonienl! ip=8.8.4.4 timer=30 while [[ $timer -gt 0 ]]; do if [[ -n $(route -n|awk '/^0.0.0.0/{print $2}') && $(ping -qnc1 $ip|awk '/received/{print $4}') -eq 1 ]]; then break fi ((timer--)) sleep 1 done if [[ $timer -eq 0 ]]; then echo "No network communication !!!" exit 1 fi # unRAID-5 needs infozip if [ ! -f /boot/extra/&infozip; ]; then echo "Downloading &infozip; package" mkdir -p /boot/extra wget http://slackware.cs.utah.edu/pub/slackware/slackware-13.1/slackware/a/&infozip; -O /boot/extra/&infozip; upgradepkg --install-new /boot/extra/&infozip; fi # download the release if ! wget --no-check-certificate &zip; -O /tmp/&name;.zip ; then echo "&zip; download error $?" exit 1 fi if ! wget --no-check-certificate &md5; -O /tmp/&name;.md5 ; then echo "&md5; download error $?" exit 1 fi fi &zip; &md5; rm /tmp/&name;.sh # check download and extract sum1=$(/usr/bin/md5sum /tmp/&name;.zip) sum2=$(cat /tmp/&name;.md5) if [ "${sum1:0:32}" != "${sum2:0:32}" ]; then echo "wrong md5" exit 1 fi if ! unzip -d /tmp/&name; /tmp/&name;.zip ; then echo "unzip error $?" exit 1 fi # check if enough free space on flash have=$(df -k /boot | awk ' END { print $4 } ') need=$(du -Ssk /tmp/&name; | awk ' END { print $1 } ') source /etc/unraid-version if [ "${version:0:2}" == "5." ]; then # to permit another upgrade need=$(($need * 2)) fi # add some margin for possible additional config info need=$(($need + 8192)) if [ $need -gt $have ]; then echo "boot device shows $have free but upgrade needs $need" exit 1 fi # move release files to flash mkdir -p /boot/&name; rm -rf /boot/&name;/* if ! mv /tmp/&name;/{&files;} /boot/&name; ; then echo "flash write error $?, maybe corrupted?" rm -rf /boot/&name;/* exit 1 fi # preserve previous version source /etc/unraid-version if [ "${version:0:2}" == "6." ]; then mkdir -p /boot/previous rm -rf /boot/previous/* mv /boot/{&files;} /boot/previous else mkdir -p /boot/unRAID5 rm -rf /boot/unRAID5/* # preserve all files in root of flash except ldlinux.sys needed to boot find /boot -maxdepth 1 -type f -not -name ldlinux.sys -exec mv {} /boot/unRAID5 \; # preserve a few directories mv /boot/extra /boot/unRAID5 &> /dev/null mv /boot/packages /boot/unRAID5 &> /dev/null mv /boot/plugins /boot/unRAID5 &> /dev/null mkdir /boot/unRAID5/config mv /boot/config/plugins /boot/unRAID5/config &> /dev/null # grab a fresh 'go' file mv /boot/config/go /boot/unRAID5/config cp /tmp/&name;/config/go /boot/config # ensure key file is in the 'config' directory cp /boot/unRAID5/*.key /boot/config &> /dev/null fi # move new version files into place mv /boot/&name;/* /boot rmdir /boot/&name; # move the new syslinux.cfg- in to the syslinux folder if [ -f /boot/syslinux.cfg- ]; then mv /boot/syslinux.cfg- /boot/syslinux fi # if unRaid-6 replace the readme file if [ "${version:0:2}" == "6." ]; then echo "**REBOOT REQUIRED!**" > /usr/local/emhttp/plugins/&name;/README.md fi # when upgrading any version prior to 6.2 if [ "${version:0:3}" \< "6.2" ]; then if ! grep -q '/bzroot-gui' /boot/syslinux/syslinux.cfg &> /dev/null ; then sed -i 's|menu title Lime Technology\r|menu title Lime Technology, Inc.\r|g' /boot/syslinux/syslinux.cfg &> /dev/null sed -i 's|label unRAID OS Safe Mode (no plugins)|label unRAID OS GUI Mode\r\n kernel /bzimage\r\n append initrd=/bzroot,/bzroot-gui\r\nlabel unRAID OS Safe Mode (no plugins, no GUI)|g' /boot/syslinux/syslinux.cfg &> /dev/null fi fi # when upgrading any version prior to 6.1 if [ "${version:0:3}" \< "6.1" ]; then if ! grep -q 'shareDisk' /boot/config/share.cfg &> /dev/null ; then echo 'shareDisk="yes"' >> /boot/config/share.cfg fi fi # when upgrading from 6.0.x if [ "${version:0:3}" == "6.0" ]; then sed -i 's|dynamix.docker.manager/dockerupdate.php|dynamix.docker.manager/scripts/dockerupdate.php|g' /boot/config/plugins/dynamix/docker-update.cron &> /dev/null sed -i 's|sbin/monitor|emhttp/plugins/dynamix/scripts/monitor|g' /boot/config/plugins/dynamix/monitor.cron &> /dev/null sed -i 's|/root/mdcmd|/usr/local/sbin/mdcmd|g' /boot/config/plugins/dynamix/parity-check.cron &> /dev/null sed -i 's|sbin/plugincheck|emhttp/plugins/dynamix.plugin.manager/scripts/plugincheck|g' /boot/config/plugins/dynamix/plugin-check.cron &> /dev/null sed -i 's|sbin/statuscheck|emhttp/plugins/dynamix/scripts/statuscheck|g' /boot/config/plugins/dynamix/status-check.cron &> /dev/null fi # if template-repos does not exist if [ ! -e /boot/config/plugins/dockerMan/template-repos ]; then mkdir -p /boot/config/plugins/dockerMan echo "https://github.com/limetech/docker-templates" > /boot/config/plugins/dockerMan/template-repos fi echo "syncing - please wait..." sync echo "Update successful - PLEASE REBOOT YOUR SERVER" rm /tmp/&name;.sh # unRAID-5 doesn't support 'remove' method, so we're done source /etc/unraid-version if [ "${version:0:2}" == "5." ]; then exit 0 fi if [ -d /boot/previous ]; then # restore previous unRAID-6 release mv /boot/previous/* /boot rmdir /boot/previous echo "**REBOOT REQUIRED!**" > /usr/local/emhttp/plugins/&name;/README.md elif [ -d /boot/unRAID5 ]; then # restore previous unRAID-5 release rm -rf /boot/extra mv /boot/unRAID5/extra /boot &> /dev/null rm -rf /boot/plugins mv /boot/unRAID5/plugins /boot &> /dev/null rm -rf /boot/packages mv /boot/unRAID5/packages /boot &> /dev/null rm -rf /boot/config/plugins mv /boot/unRAID5/config/plugins /boot/config &> /dev/null mv /boot/unRAID5/config/go /boot/config rmdir /boot/unRAID5/config mv /boot/unRAID5/* /boot rmdir /boot/unRAID5 else echo "Cannot remove, no previous version" exit 1 fi echo "syncing..." sync echo "Remove successful - PLEASE REBOOT YOUR SERVER"