Skip to content

Commit

Permalink
Leave xenial and stretch only
Browse files Browse the repository at this point in the history
  • Loading branch information
ayufan committed Oct 24, 2018
1 parent 4c9afb5 commit ded3d18
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 64 deletions.
39 changes: 4 additions & 35 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ simple-image-pinebook-1080p-$(RELEASE_NAME).img: linux-pine64-$(RELEASE_NAME).ta
export uboot=../boot-tools/boot/pine64/u-boot-pine64-pinebook-1080p.bin && \
bash ./make_simpleimage.sh $(shell readlink -f "$@") 150 $(shell readlink -f linux-pine64-$(RELEASE_NAME).tar.xz)

BUILD_SYSTEMS := xenial zesty jessie stretch
BUILD_SYSTEMS := xenial stretch
BUILD_VARIANTS := minimal mate i3 openmediavault
BUILD_ARCHS := arm64
BUILD_MODELS := pine64 pinebook pinebook-1080p sopine
Expand Down Expand Up @@ -140,18 +140,6 @@ simple-image-sopine: simple-image-sopine-$(RELEASE_NAME).img.xz
.PHONY: simple-image
simple-image: simple-image-pinebook simple-image-pine64 simple-image-sopine

.PHONY: zesty-minimal-pinebook
zesty-minimal-pinebook: zesty-minimal-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz \
zesty-minimal-pinebook-1080p-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: xenial-mate-pinebook
zesty-mate-pinebook: zesty-mate-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz \
zesty-mate-pinebook-1080p-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: xenial-i3-pinebook
zesty-i3-pinebook: zesty-i3-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz \
zesty-i3-pinebook-1080p-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: xenial-minimal-pinebook
xenial-minimal-pinebook: xenial-minimal-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz \
xenial-minimal-pinebook-1080p-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz
Expand All @@ -174,21 +162,8 @@ stretch-minimal-sopine: stretch-minimal-sopine-bspkernel-$(RELEASE_NAME)-$(RELEA
stretch-minimal-pinebook: stretch-minimal-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz \
stretch-minimal-pinebook-1080p-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: jessie-minimal-pinebook
jessie-minimal-pinebook: jessie-minimal-pinebook-$(RELEASE_NAME)-$(RELEASE).img.xz \
jessie-minimal-pinebook-1080p-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: jessie-minimal-sopine
jessie-minimal-sopine: jessie-minimal-sopine-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: jessie-minimal-pine64
jessie-minimal-pine64: jessie-minimal-pine64-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: jessie-openmediavault-pine64
jessie-openmediavault-pine64: jessie-openmediavault-pine64-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: zesty-pinebook
zesty-pinebook: zesty-minimal-pinebook zesty-mate-pinebook zesty-i3-pinebook
.PHONY: stretch-openmediavault-pine64
stretch-openmediavault-pine64: stretch-openmediavault-pine64-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: xenial-pinebook
xenial-pinebook: xenial-minimal-pinebook xenial-mate-pinebook xenial-i3-pinebook
Expand All @@ -199,20 +174,14 @@ stretch-pinebook: stretch-minimal-pinebook
.PHONY: linux-pinebook
linux-pinebook: simple-image-pinebook xenial-pinebook stretch-pinebook

.PHONY: zesty-minimal-pine64
zesty-minimal-pine64: zesty-minimal-pine64-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: xenial-minimal-pine64
xenial-minimal-pine64: xenial-minimal-pine64-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: linux-pine64
linux-pine64: simple-image-pine64 xenial-minimal-pine64 stretch-minimal-pine64

.PHONY: zesty-minimal-sopine
zesty-minimal-sopine: zesty-minimal-sopine-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: xenial-minimal-sopine
xenial-minimal-sopine: xenial-minimal-sopine-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz
xenial-minimal-sopine: xenial-minimal-sopine-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz

.PHONY: linux-sopine
linux-sopine: simple-image-sopine xenial-minimal-sopine stretch-minimal-sopine
141 changes: 116 additions & 25 deletions package/root/usr/local/sbin/install_openmediavault.sh
Original file line number Diff line number Diff line change
@@ -1,62 +1,153 @@
#!/bin/bash

if [[ "$(lsb_release -c -s)" != "jessie" ]]; then
echo "This script only works on Debian/Jessie"
exit 1
case "$(lsb_release -c -s)" in
jessie)
RELEASE="erasmus"
EXTRAS_URL="https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/openmediavault-omvextrasorg_latest_all3.deb"
;;

stretch)
RELEASE="arrakis"
EXTRAS_URL="https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/openmediavault-omvextrasorg_latest_all4.deb"
;;

*)
echo "This script only works on Debian/Jessie|Stretch"
exit 1
esac

echo "OpenMediaVault installation script"
echo "Script is based on Armbian, OMV and tkaiser work: https://github.com/armbian/build/blob/master/config/templates/customize-image.sh.template"
echo ""
echo "This script overwrites network interfaces."
echo "Make sure that you configured them in OpenMediaVault interface before rebooting."
echo ""

if [[ -t 0 ]]; then
echo "In order to continue type YES or cancel:"
while read PROMPT; do
if [[ "$PROMPT" == "YES" ]]; then
break
fi
done
fi

set -xe

# Based on https://github.com/armbian/build/blob/b13e92911e91e34b0b9189c704f3186a0b3788f0/scripts/customize-image.sh.template#L31

#Add OMV source.list and Update System
cat > /etc/apt/sources.list.d/openmediavault.list <<- EOF
# deb http://packages.openmediavault.org/public erasmus main
deb https://openmediavault.github.io/packages/ erasmus main
# deb http://packages.openmediavault.org/public $RELEASE main
deb https://openmediavault.github.io/packages/ $RELEASE main
## Uncomment the following line to add software from the proposed repository.
# deb http://packages.openmediavault.org/public erasmus-proposed main
deb https://openmediavault.github.io/packages/ erasmus-proposed main
# deb http://packages.openmediavault.org/public $RELEASE-proposed main
deb https://openmediavault.github.io/packages/ $RELEASE-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
# deb http://packages.openmediavault.org/public $RELEASE partner
EOF

# Add OMV and OMV Plugin developer keys
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 24863F0C716B980B 7E7A6C592EF35D13 7AA630A1EDEE7D73
apt-get update -y
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
debconf-set-selections <<< "postfix postfix/mailname string openmediavault"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'No configuration'"
apt-get -y install \
debconf-utils postfix
apt-get -y install debconf-utils postfix

# install openmediavault
apt-get --yes install openmediavault
apt-get --yes install openmediavault openmediavault-keyring

# install OMV extras, enable folder2ram, tweak some settings
FILE=$(mktemp)
wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all3.deb -qO $FILE && dpkg -i $FILE && rm $FILE
wget "$EXTRAS_URL" -qO $FILE
dpkg -i $FILE
/usr/sbin/omv-update

# use folder2ram instead of log2ram with OMV
# FIX TFTPD ipv4
[ -f /etc/default/tftpd-hpa ] && sed -i 's/--secure/--secure --ipv4/' /etc/default/tftpd-hpa

# load OMV helpers
. /usr/share/openmediavault/scripts/helper-functions

# use folder2ram
apt-get -y install openmediavault-flashmemory
sed -i -e '/<flashmemory>/,/<\/flashmemory>/ s/<enable>0/<enable>1/' \
-e '/<ssh>/,/<\/ssh>/ s/<enable>0/<enable>1/' \
-e '/<ntp>/,/<\/ntp>/ s/<enable>0/<enable>1/' \
xmlstarlet ed -L -u "/config/services/flashmemory/enable" -v "1" ${OMV_CONFIG_FILE}

# enable ssh, but disallow root login
xmlstarlet ed -L -u "/config/services/ssh/enable" -v "1" ${OMV_CONFIG_FILE}
xmlstarlet ed -L -u "/config/services/ssh/permitrootlogin" -v "0" ${OMV_CONFIG_FILE}

# enable ntp
xmlstarlet ed -L -u "/config/system/time/ntp/enable" -v "1" ${OMV_CONFIG_FILE}

# improve netatalk performance
apt-get -y install openmediavault-netatalk
AFP_Options="mimic model = Macmini"
xmlstarlet ed -L -u "/config/services/afp/extraoptions" -v "$(echo -e "${AFP_Options}")" ${OMV_CONFIG_FILE}

# improve samba performance
SMB_Options="min receivefile size = 16384\nwrite cache size = 524288\ngetwd cache = yes\nsocket options = TCP_NODELAY IPTOS_LOWDELAY"
xmlstarlet ed -L -u "/config/services/smb/extraoptions" -v "$(echo -e "${SMB_Options}")" ${OMV_CONFIG_FILE}

# fix timezone
xmlstarlet ed -L -u "/config/system/time/timezone" -v "UTC" ${OMV_CONFIG_FILE}

# fix hostname
xmlstarlet ed -L -u "/config/system/network/dns/hostname" -v "$(cat /etc/hostname)" ${OMV_CONFIG_FILE}

# disable monitoring
xmlstarlet ed -L -u "/config/system/monitoring/perfstats/enable" -v "0" ${OMV_CONFIG_FILE}

# disable journal for rrdcached
sed -i 's|-j /var/lib/rrdcached/journal/ ||' /etc/init.d/rrdcached

# add eth0 interface
xmlstarlet ed -L \
-s /config/system/network/interfaces -t elem -n interface \
-s /config/system/network/interfaces/interface -t elem -n uuid -v 4fa8fd59-e5be-40f6-a76d-be6a73ed1407 \
-s /config/system/network/interfaces/interface -t elem -n type -v ethernet \
-s /config/system/network/interfaces/interface -t elem -n devicename -v eth0 \
-s /config/system/network/interfaces/interface -t elem -n method -v dhcp \
-s /config/system/network/interfaces/interface -t elem -n method6 -v manual \
/etc/openmediavault/config.xml

# configure cpufreq
cat <<EOF >>/etc/default/openmediavault
OMV_CPUFREQUTILS_GOVERNOR=ondemand
OMV_CPUFREQUTILS_MINSPEED=0
OMV_CPUFREQUTILS_MAXSPEED=0
EOF

cat <<EOF >>/etc/rsyslog.d/omv-armbian.conf
:msg, contains, "do ionice -c1" ~
:msg, contains, "action " ~
:msg, contains, "netsnmp_assert" ~
:msg, contains, "Failed to initiate sched scan" ~
EOF

# update configs
/usr/sbin/omv-mkconf monit
/usr/sbin/omv-mkconf netatalk
/usr/sbin/omv-mkconf samba
/usr/sbin/omv-mkconf timezone
/usr/sbin/omv-mkconf collectd
/usr/sbin/omv-mkconf flashmemory
/usr/sbin/omv-mkconf ssh
/usr/sbin/omv-mkconf ntp
/usr/sbin/omv-mkconf cpufrequtils
/usr/sbin/omv-mkconf interfaces

systemctl disable log2ram
/sbin/folder2ram -enablesystemd
sed -i 's|-j /var/lib/rrdcached/journal/ ||' /etc/init.d/rrdcached
# make sure that rrdcached/php does exist
mkdir -p /var/lib/rrdcached /var/lib/php

#FIX TFTPD ipv4
[ -f /etc/default/tftpd-hpa ] && sed -i 's/--secure/--secure --ipv4/' /etc/default/tftpd-hpa
# disable rrdcached
systemctl disable rrdcached

/sbin/folder2ram -enablesystemd
/sbin/folder2ram -mountall || true
/sbin/folder2ram -umountall || true

# init OMV
# /usr/sbin/omv-initsystem
Expand Down
8 changes: 4 additions & 4 deletions simpleimage/make_rootfs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ case $DISTRO in
ROOTFS="http://archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz"
TAR_OPTIONS="-z"
;;
xenial|zesty)
xenial|bionic)
version=$(curl -s https://api.github.com/repos/$RELEASE_REPO/releases/latest | jq -r ".tag_name")
ROOTFS="https://github.com/$RELEASE_REPO/releases/download/${version}/ubuntu-${DISTRO}-${VARIANT}-${version}-${BUILD_ARCH}.tar.xz"
TAR_OPTIONS="-J --strip-components=1 binary"
;;
sid|jessie|stretch)
sid|stretch)
version=$(curl -s https://api.github.com/repos/$RELEASE_REPO/releases/latest | jq -r ".tag_name")
ROOTFS="https://github.com/$RELEASE_REPO/releases/download/${version}/debian-${DISTRO}-${VARIANT}-${version}-${BUILD_ARCH}.tar.xz"
TAR_OPTIONS="-J --strip-components=1 binary"
Expand Down Expand Up @@ -143,7 +143,7 @@ case $DISTRO in
echo "No longer supported"
exit 1
;;
xenial|sid|jessie|stretch)
xenial|bionic|sid|jessie|stretch)
rm "$DEST/etc/resolv.conf"
cp /etc/resolv.conf "$DEST/etc/resolv.conf"
DEB=ubuntu
Expand All @@ -166,7 +166,7 @@ apt-get -y install sudo sunxi-disp-tool \
dosfstools curl xz-utils iw rfkill wpasupplicant openssh-server \
alsa-utils nano git build-essential vim jq wget ca-certificates \
htop figlet gdisk parted rsync
if [[ "$DISTRO" == "xenial" || "$DISTRO" == "zesty" ]]; then
if [[ "$DISTRO" == "xenial" || "$DISTRO" == "bionic" ]]; then
apt-get -y install landscape-common
fi
adduser --gecos $DEBUSER --disabled-login $DEBUSER --uid 1000
Expand Down

0 comments on commit ded3d18

Please sign in to comment.