From 04583b2ceb4f0e7b5d8544c4251a33e5a320648b Mon Sep 17 00:00:00 2001 From: Thomas Kaiser Date: Sun, 2 Apr 2017 18:20:06 +0200 Subject: [PATCH] Add InstallOpenMediaVault function Together with last commit Armbian's build system can now create proper OMV 3 images for ~50 SBC. --- scripts/customize-image.sh.template | 102 +++++++++++++++++++++++++--- 1 file changed, 91 insertions(+), 11 deletions(-) diff --git a/scripts/customize-image.sh.template b/scripts/customize-image.sh.template index 8dcdfe11c7a2..874cdfea31fc 100644 --- a/scripts/customize-image.sh.template +++ b/scripts/customize-image.sh.template @@ -13,14 +13,94 @@ LINUXFAMILY=$2 BOARD=$3 BUILD_DESKTOP=$4 -case $RELEASE in - jessie) - # your code here - ;; - xenial) - # your code here - ;; - stretch) - # your code here - ;; -esac +Main() { + case $RELEASE in + jessie) + # your code here + # InstallOpenMediaVault # uncomment to get an OMV 3 image + ;; + xenial) + # your code here + ;; + stretch) + # your code here + ;; + esac +} # Main + +InstallOpenMediaVault() { + # use this routine to create a Debian Jessie based fully functional + # OpenMediaVault 3 OS image. Use of mainline kernel highly recommended! + # After exchanging userpatches/customize-image.sh or at least uncommenting + # InstallOpenMediaVault line above you would then run this for a NEO 2 + # for example: ./compile.sh RELEASE=jessie BRANCH=dev BOARD=nanopineo2 + # + # Please note that this variant changes Armbian default security + # policies since you end up with root password 'openmediavault' which + # you have to change yourself later. + # + # This routine is based on idea/code courtesy Benny Stark. For fixes, + # discussion and feature requests please refer to + # https://forum.armbian.com/index.php?/topic/2644-openmediavault-3x-customize-imagesh/ + + echo root:openmediavault | chpasswd + rm /root/.not_logged_in_yet + echo "openmediavault" > /etc/hostname + sed -i -e "s/^::1 localhost.*/::1 localhost openmediavault ip6-localhost ip6-loopback/" \ + -e "s/^127.0.0.1 localhost.*/127.0.0.1 localhost openmediavault/" /etc/hosts + locale-gen "en_US.UTF-8" + locale-gen "C" + export LANG=C + export LC_ALL="en_US.UTF-8" + export DEBIAN_FRONTEND=noninteractive + + #Add OMV source.list and Update System + cat > /etc/apt/sources.list.d/openmediavault.list << EOF +deb http://packages.openmediavault.org/public erasmus main +## Uncomment the following line to add software from the proposed repository. +# deb http://packages.openmediavault.org/public erasmus-proposed main + +## This software is not part of OpenMediaVault, but is offered by third-party +## developers as a service to OpenMediaVault users. +# deb http://packages.openmediavault.org/public erasmus partner +EOF + apt-get update + + # Add OMV and OMV Plugin developer keys + apt-get --yes --force-yes --allow-unauthenticated install openmediavault-keyring + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7AA630A1EDEE7D73 + + #install debconf-utils, postfix and OMV for postfix configuration + apt-get --yes --force-yes --allow-unauthenticated --fix-missing --no-install-recommends \ + -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install \ + debconf-utils postfix openmediavault + + #install OMV extras + wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all3.deb -O /tmp/omvextras3.deb + dpkg -i /tmp/omvextras3.deb && rm -f /tmp/omvextras3.deb + /usr/sbin/omv-update + + # Tidy up + apt-get autoremove + apt-get autoclean + + #remove/enabled some services + systemctl disable tftpd-hpa + systemctl disable proftpd + systemctl disable nfs-kernel-server + systemctl disable nfs-common + systemctl disable snmpd + systemctl disable nmbd + systemctl disable samba-ad-dc + systemctl disable smbd + systemctl enable ssh + sed -i '//,/<\/ssh>/ s/0/1/' /etc/openmediavault/config.xml + + #FIX TFTPD ipv4 + sed -i 's/--secure/--secure --ipv4/' /etc/default/tftpd-hpa + + #adding omv-initsystem to firstrun -- q&d but shouldn't matter + echo "/usr/sbin/omv-initsystem" >> /etc/init.d/firstrun +} # InstallOpenMediaVault + +Main "$@"