summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-07-15 13:59:50 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-07-15 13:59:50 +0200
commitca322d1a7a44f727acdeea59fe87d060f9988f3e (patch)
tree4f6ab10753e21c112f24f81384b4daa2ceb131b5
parent6cef2acb849067e60083a10e6903e45fbfe978b2 (diff)
downloaditzks-systems-ca322d1a7a44f727acdeea59fe87d060f9988f3e.tar.gz
itzks-systems-ca322d1a7a44f727acdeea59fe87d060f9988f3e.tar.bz2
itzks-systems-ca322d1a7a44f727acdeea59fe87d060f9988f3e.zip
New ITZkS system types: displayserver, display.
-rw-r--r--README.display7
-rw-r--r--README.displayserver7
-rw-r--r--debian/control150
-rw-r--r--debian/itzks-systems-display.docs1
-rw-r--r--debian/itzks-systems-display.links1
-rw-r--r--debian/itzks-systems-displayserver.docs1
-rw-r--r--debian/itzks-systems-displayserver.examples2
-rw-r--r--debian/itzks-systems-displayserver.install1
-rw-r--r--debian/itzks-systems-displayserver.links1
-rw-r--r--debian/itzks-systems-displayserver.manpages1
-rwxr-xr-xdebian/rules1
-rw-r--r--examples/displayserver/README.tftp10
-rw-r--r--examples/displayserver/tftp/_common_/debian-edu/display.cfg5
-rw-r--r--examples/displayserver/tftp/_common_/debian-edu/memtest.cfg6
l---------examples/displayserver/tftp/_common_/display/amd64/initrd.img1
l---------examples/displayserver/tftp/_common_/display/amd64/vmlinuz1
l---------examples/displayserver/tftp/_common_/pxelinux/jessie/pxelinux.01
l---------examples/displayserver/tftp/_common_/syslinux/jessie/syslinux1
l---------examples/displayserver/tftp/debian-edu/debian-edu-splash.png1
-rw-r--r--examples/displayserver/tftp/debian-edu/default-menu.cfg12
l---------examples/displayserver/tftp/debian-edu/display.cfg1
l---------examples/displayserver/tftp/debian-edu/memtest.cfg1
l---------examples/displayserver/tftp/debian-edu/memtest86+.bin1
l---------examples/displayserver/tftp/debian-edu/memtest86.bin1
l---------examples/displayserver/tftp/display1
l---------examples/displayserver/tftp/pxelinux.01
l---------examples/displayserver/tftp/pxelinux.cfg/default1
l---------examples/displayserver/tftp/syslinux1
-rwxr-xr-xsbin/itzks-display-shell66
29 files changed, 285 insertions, 0 deletions
diff --git a/README.display b/README.display
new file mode 100644
index 0000000..1c0a3cd
--- /dev/null
+++ b/README.display
@@ -0,0 +1,7 @@
+IT-Zukunft Schule: Substitue Teacher Schedule Display Chroot Images
+------------------
+
+This package pulls in software required for running a
+ITZkS Diskless Display.
+
+Mike Gabriel, 20160610 \ No newline at end of file
diff --git a/README.displayserver b/README.displayserver
new file mode 100644
index 0000000..0376b2c
--- /dev/null
+++ b/README.displayserver
@@ -0,0 +1,7 @@
+IT-Zukunft Schule: Diskless Workstation Server (disklserver.intern)
+------------------
+
+This package pulls in software required for running a
+ITZkS server providing Substitute Teacher Schedule Displays.
+
+Mike Gabriel, 20160610 \ No newline at end of file
diff --git a/debian/control b/debian/control
index 435907e..4a35c6c 100644
--- a/debian/control
+++ b/debian/control
@@ -34,6 +34,8 @@ Replaces:
itzks-systems-mainserver,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-backup,
gnu-fdisk,
@@ -43,6 +45,8 @@ Breaks:
itzks-systems-mainserver,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-backup,
Depends:
@@ -161,6 +165,8 @@ Replaces:
itzks-systems-workstation,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-virtman,
itzks-systems-backup,
@@ -171,6 +177,8 @@ Breaks:
itzks-systems-workstation,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-virtman,
itzks-systems-backup,
@@ -232,6 +240,8 @@ Replaces:
itzks-systems-mainserver,
itzks-systems-workstation,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-virtman,
itzks-systems-backup,
@@ -242,6 +252,8 @@ Breaks:
itzks-systems-mainserver,
itzks-systems-workstation,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-virtman,
itzks-systems-backup,
@@ -294,6 +306,8 @@ Replaces:
itzks-systems-mainserver,
itzks-systems-workstation,
itzks-systems-disklserver,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-virtman,
itzks-systems-backup,
@@ -304,6 +318,8 @@ Breaks:
itzks-systems-mainserver,
itzks-systems-workstation,
itzks-systems-disklserver,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-terminalserver,
itzks-systems-virtman,
itzks-systems-backup,
@@ -498,6 +514,132 @@ Description: Profiling for ITZkS Diskless Workstation Systems
ITZkS (IT-Zukunft Schule) is a Nothern German project and based
on Debian Edu / Skolelinux.
+Package: itzks-systems-displayserver
+Architecture: all
+Replaces:
+ itzks-systems-mainserver,
+ itzks-systems-workstation,
+ itzks-systems-disklserver,
+ itzks-systems-diskless,
+ itzks-systems-display,
+ itzks-systems-terminalserver,
+ itzks-systems-virtman,
+ itzks-systems-backup,
+ debian-edu-artwork-joy,
+ gnu-fdisk,
+Breaks:
+ itzks-systems-mainserver,
+ itzks-systems-workstation,
+ itzks-systems-disklserver,
+ itzks-systems-diskless,
+ itzks-systems-display,
+ itzks-systems-terminalserver,
+ itzks-systems-virtman,
+ itzks-systems-backup,
+Depends:
+ ${misc:Depends},
+ itzks-systems-common (>= ${source:Version}),
+ arj,
+ atftpd,
+ bzip2,
+ debian-edu-artwork-spacefun,
+ dnsutils,
+ htop,
+ gdisk,
+ itzks-keyring,
+ links,
+ linuxlogo,
+ memtest86,
+ memtest86+,
+ mc,
+ nfs-kernel-server,
+ nload,
+ nmap,
+ ocsinventory-agent,
+ openvpn,
+ pxelinux,
+ reportbug,
+ syslinux,
+ sysstat,
+ tree,
+ unzip,
+ vim,
+ xpdf,
+ zip,
+Description: Profiling ITZkS-DisplayServer systems
+ Install this package to pull in all dependencies required on
+ ITZkS Servers providing Substitute Teacher Schedule Displays.
+ .
+ ITZkS (IT-Zukunft Schule) is a Nothern German project and based
+ on Debian Edu / Skolelinux.
+
+Package: itzks-systems-display
+Architecture: all
+Replaces:
+ itzks-systems-mainserver,
+ itzks-systems-workstation,
+ itzks-systems-disklserver,
+ itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-terminalserver,
+ itzks-systems-virtman,
+ itzks-systems-backup,
+ debian-edu-artwork-joy,
+ gnu-fdisk,
+Breaks:
+ itzks-systems-mainserver,
+ itzks-systems-workstation,
+ itzks-systems-disklserver,
+ itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-terminalserver,
+ itzks-systems-virtman,
+ itzks-systems-backup,
+Depends:
+ ${misc:Depends},
+ itzks-systems-common (>= ${source:Version}),
+ acpi,
+ arj,
+ bzip2,
+ debian-edu-artwork-spacefun,
+ etckeeper,
+ firmware-linux-free,
+ firmware-linux-nonfree,
+ firmware-realtek,
+ git,
+ htop,
+ impressive-display,
+ itzks-keyring,
+ nodm,
+ linux-image,
+ linuxlogo,
+ desktop-base,
+ mc,
+ memtest86,
+ memtest86+,
+ nano,
+ nload,
+ nmap,
+ ocsinventory-agent,
+ plymouth,
+ plymouth-themes,
+ reportbug,
+ sysstat,
+ tree,
+ ttf-mscorefonts-installer,
+ unzip,
+ zip,
+Conflicts:
+ debian-edu-artwork-joy,
+ debian-edu-artwork-lines,
+ ldm,
+Description: Profiling for ITZkS Diskless Displays
+ Install this package to pull in all dependencies required on
+ ITZkS Diskless Display systems.
+ .
+ ITZkS (IT-Zukunft Schule) is a Nothern German project and based
+ on Debian Edu / Skolelinux.
+
Package: itzks-systems-terminalserver
Architecture: all
Replaces:
@@ -506,6 +648,8 @@ Replaces:
itzks-systems-workstation,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-virtman,
itzks-systems-backup,
debian-edu-artwork-joy,
@@ -516,6 +660,8 @@ Breaks:
itzks-systems-workstation,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-virtman,
itzks-systems-backup,
Depends:
@@ -714,6 +860,8 @@ Breaks:
itzks-systems-terminalserver,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-virtman,
itzks-systems-backup,
Replaces:
@@ -721,6 +869,8 @@ Replaces:
itzks-systems-terminalserver,
itzks-systems-disklserver,
itzks-systems-diskless,
+ itzks-systems-displayserver,
+ itzks-systems-display,
itzks-systems-virtman,
itzks-systems-backup,
debian-edu-artwork-joy,
diff --git a/debian/itzks-systems-display.docs b/debian/itzks-systems-display.docs
new file mode 100644
index 0000000..dc219c2
--- /dev/null
+++ b/debian/itzks-systems-display.docs
@@ -0,0 +1 @@
+README.display
diff --git a/debian/itzks-systems-display.links b/debian/itzks-systems-display.links
new file mode 100644
index 0000000..50fccc9
--- /dev/null
+++ b/debian/itzks-systems-display.links
@@ -0,0 +1 @@
+usr/share/doc/itzks-systems-common/README.itzks-common usr/share/doc/itzks-systems-display/README.itzks-common
diff --git a/debian/itzks-systems-displayserver.docs b/debian/itzks-systems-displayserver.docs
new file mode 100644
index 0000000..ac56f37
--- /dev/null
+++ b/debian/itzks-systems-displayserver.docs
@@ -0,0 +1 @@
+README.displayserver
diff --git a/debian/itzks-systems-displayserver.examples b/debian/itzks-systems-displayserver.examples
new file mode 100644
index 0000000..f6f02d7
--- /dev/null
+++ b/debian/itzks-systems-displayserver.examples
@@ -0,0 +1,2 @@
+examples/displayserver/displayserver-tftp.tar.gz
+examples/displayserver/README.tftp
diff --git a/debian/itzks-systems-displayserver.install b/debian/itzks-systems-displayserver.install
new file mode 100644
index 0000000..6e501e0
--- /dev/null
+++ b/debian/itzks-systems-displayserver.install
@@ -0,0 +1 @@
+sbin/itzks-display-shell usr/sbin/
diff --git a/debian/itzks-systems-displayserver.links b/debian/itzks-systems-displayserver.links
new file mode 100644
index 0000000..2e78d8b
--- /dev/null
+++ b/debian/itzks-systems-displayserver.links
@@ -0,0 +1 @@
+usr/share/doc/itzks-systems-common/README.itzks-common usr/share/doc/itzks-systems-displayserver/README.itzks-common \ No newline at end of file
diff --git a/debian/itzks-systems-displayserver.manpages b/debian/itzks-systems-displayserver.manpages
new file mode 100644
index 0000000..66ae7d1
--- /dev/null
+++ b/debian/itzks-systems-displayserver.manpages
@@ -0,0 +1 @@
+man/diskless-workstation-shell.8 \ No newline at end of file
diff --git a/debian/rules b/debian/rules
index 320fce6..b2498cc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,6 +7,7 @@
override_dh_installexamples:
cd examples/mainserver/ && tar cvf mainserver-tftp.tar tftp && gzip -9n mainserver-tftp.tar
cd examples/disklserver/ && tar cvf disklserver-tftp.tar tftp && gzip -9n disklserver-tftp.tar
+ cd examples/displayserver/ && tar cvf displayserver-tftp.tar tftp && gzip -9n displayserver-tftp.tar
cd examples/backup/ && tar cvf backup-dirvish.tar dirvish && gzip -9n backup-dirvish.tar
dh_installexamples
diff --git a/examples/displayserver/README.tftp b/examples/displayserver/README.tftp
new file mode 100644
index 0000000..9a7648e
--- /dev/null
+++ b/examples/displayserver/README.tftp
@@ -0,0 +1,10 @@
+This folder contains a PXE boot environment that provides the
+boot menu for display systems as provided by a standalone
+ITZkS Substitute Teacher Schedule Display Server (aka displayserver).
+
+Installation steps:
+
+ 1. Untar these files to displayserver:/srv/tftp
+
+ $ tar xvz -C /srv -f displayserver-tftp.tar.gz
+
diff --git a/examples/displayserver/tftp/_common_/debian-edu/display.cfg b/examples/displayserver/tftp/_common_/debian-edu/display.cfg
new file mode 100644
index 0000000..36d4b67
--- /dev/null
+++ b/examples/displayserver/tftp/_common_/debian-edu/display.cfg
@@ -0,0 +1,5 @@
+LABEL vplan
+ MENU LABEL ^Vertretungsplan / Info-Terminal
+ MENU DEFAULT
+ KERNEL display/amd64/vmlinuz
+ APPEND initrd=ltsp/amd64.jessie/initrd.img init=/sbin/init-ltsp nfsroot=/opt/ltsp/amd64.jessie,intr,rsize=1048576,wsize=1048576 boot=nfs ro quiet ipappend 2
diff --git a/examples/displayserver/tftp/_common_/debian-edu/memtest.cfg b/examples/displayserver/tftp/_common_/debian-edu/memtest.cfg
new file mode 100644
index 0000000..8bf162a
--- /dev/null
+++ b/examples/displayserver/tftp/_common_/debian-edu/memtest.cfg
@@ -0,0 +1,6 @@
+LABEL memtest86+
+ MENU LABEL Speichertest (memtest86+)
+ kernel debian-edu/memtest86+.bin
+LABEL memtest86
+ MENU LABEL Speichertest (memtest86)
+ kernel debian-edu/memtest86.bin
diff --git a/examples/displayserver/tftp/_common_/display/amd64/initrd.img b/examples/displayserver/tftp/_common_/display/amd64/initrd.img
new file mode 120000
index 0000000..b19c163
--- /dev/null
+++ b/examples/displayserver/tftp/_common_/display/amd64/initrd.img
@@ -0,0 +1 @@
+/srv/ltsp/amd64.jessie/initrd.img \ No newline at end of file
diff --git a/examples/displayserver/tftp/_common_/display/amd64/vmlinuz b/examples/displayserver/tftp/_common_/display/amd64/vmlinuz
new file mode 120000
index 0000000..49f9a5f
--- /dev/null
+++ b/examples/displayserver/tftp/_common_/display/amd64/vmlinuz
@@ -0,0 +1 @@
+/srv/ltsp/amd64.jessie/vmlinuz \ No newline at end of file
diff --git a/examples/displayserver/tftp/_common_/pxelinux/jessie/pxelinux.0 b/examples/displayserver/tftp/_common_/pxelinux/jessie/pxelinux.0
new file mode 120000
index 0000000..f723d02
--- /dev/null
+++ b/examples/displayserver/tftp/_common_/pxelinux/jessie/pxelinux.0
@@ -0,0 +1 @@
+/usr/lib/PXELINUX/pxelinux.0 \ No newline at end of file
diff --git a/examples/displayserver/tftp/_common_/syslinux/jessie/syslinux b/examples/displayserver/tftp/_common_/syslinux/jessie/syslinux
new file mode 120000
index 0000000..7bea767
--- /dev/null
+++ b/examples/displayserver/tftp/_common_/syslinux/jessie/syslinux
@@ -0,0 +1 @@
+/usr/lib/syslinux/modules/bios \ No newline at end of file
diff --git a/examples/displayserver/tftp/debian-edu/debian-edu-splash.png b/examples/displayserver/tftp/debian-edu/debian-edu-splash.png
new file mode 120000
index 0000000..028aa3a
--- /dev/null
+++ b/examples/displayserver/tftp/debian-edu/debian-edu-splash.png
@@ -0,0 +1 @@
+/usr/share/pixmaps/splash/debian-edu-splash.png \ No newline at end of file
diff --git a/examples/displayserver/tftp/debian-edu/default-menu.cfg b/examples/displayserver/tftp/debian-edu/default-menu.cfg
new file mode 100644
index 0000000..4697e25
--- /dev/null
+++ b/examples/displayserver/tftp/debian-edu/default-menu.cfg
@@ -0,0 +1,12 @@
+include debian-edu/display.cfg
+MENU SEPARATOR
+include debian-edu/memtest.cfg
+
+menu hshift 13
+menu width 72
+menu background debian-edu/debian-edu-splash.png
+menu tabmsg ENTER: System starten; TAB: Menueeintraege editieren
+menu autoboot Automatischer Systemstart in # Sekunde{,n}
+default syslinux/vesamenu.c32
+prompt 0
+timeout 30
diff --git a/examples/displayserver/tftp/debian-edu/display.cfg b/examples/displayserver/tftp/debian-edu/display.cfg
new file mode 120000
index 0000000..5d11f72
--- /dev/null
+++ b/examples/displayserver/tftp/debian-edu/display.cfg
@@ -0,0 +1 @@
+../_common_/debian-edu/display.cfg \ No newline at end of file
diff --git a/examples/displayserver/tftp/debian-edu/memtest.cfg b/examples/displayserver/tftp/debian-edu/memtest.cfg
new file mode 120000
index 0000000..953ea54
--- /dev/null
+++ b/examples/displayserver/tftp/debian-edu/memtest.cfg
@@ -0,0 +1 @@
+../_common_/debian-edu/memtest.cfg \ No newline at end of file
diff --git a/examples/displayserver/tftp/debian-edu/memtest86+.bin b/examples/displayserver/tftp/debian-edu/memtest86+.bin
new file mode 120000
index 0000000..1b74cce
--- /dev/null
+++ b/examples/displayserver/tftp/debian-edu/memtest86+.bin
@@ -0,0 +1 @@
+/boot/memtest86+.bin \ No newline at end of file
diff --git a/examples/displayserver/tftp/debian-edu/memtest86.bin b/examples/displayserver/tftp/debian-edu/memtest86.bin
new file mode 120000
index 0000000..2596a63
--- /dev/null
+++ b/examples/displayserver/tftp/debian-edu/memtest86.bin
@@ -0,0 +1 @@
+/boot/memtest86.bin \ No newline at end of file
diff --git a/examples/displayserver/tftp/display b/examples/displayserver/tftp/display
new file mode 120000
index 0000000..e94a655
--- /dev/null
+++ b/examples/displayserver/tftp/display
@@ -0,0 +1 @@
+./_common_/display \ No newline at end of file
diff --git a/examples/displayserver/tftp/pxelinux.0 b/examples/displayserver/tftp/pxelinux.0
new file mode 120000
index 0000000..d23a196
--- /dev/null
+++ b/examples/displayserver/tftp/pxelinux.0
@@ -0,0 +1 @@
+./_common_/pxelinux/jessie/pxelinux.0 \ No newline at end of file
diff --git a/examples/displayserver/tftp/pxelinux.cfg/default b/examples/displayserver/tftp/pxelinux.cfg/default
new file mode 120000
index 0000000..ec0c12a
--- /dev/null
+++ b/examples/displayserver/tftp/pxelinux.cfg/default
@@ -0,0 +1 @@
+../debian-edu/default-menu.cfg \ No newline at end of file
diff --git a/examples/displayserver/tftp/syslinux b/examples/displayserver/tftp/syslinux
new file mode 120000
index 0000000..f6725ad
--- /dev/null
+++ b/examples/displayserver/tftp/syslinux
@@ -0,0 +1 @@
+./_common_/syslinux/jessie/syslinux \ No newline at end of file
diff --git a/sbin/itzks-display-shell b/sbin/itzks-display-shell
new file mode 100755
index 0000000..db05bb8
--- /dev/null
+++ b/sbin/itzks-display-shell
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+# Copyright (C) 2016 by Mike Gabriel <mike.gabriel@it-zukunft-schule.de>
+
+# This script is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This script is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+set -e
+
+VERSION=0.1
+DISPLAY_SHELL="bash"
+CHROOT="/srv/ltsp/amd64/"
+
+test -e "$CHROOT" || {
+ echo "ERROR: ITZkS display system chroot does not exist at $CHROOT."
+ exit -1
+}
+
+[ "x$USER" == "xroot" ] || {
+ echo "ERROR: ITZkS display system management has to be performed as root."
+ exit -2
+}
+
+cat > "$CHROOT/itzks_display_shell.sh" <<EOF
+#!/bin/bash
+mount -tproc proc /proc &> /dev/null
+mount /dev/pts &> /dev/null
+export HOME=/root
+export LTSP_HANDLE_DAEMONS="false"
+
+# export the proxy server (if any) to the shell.
+export http_proxy=http://webcache.intern:3128
+export https_proxy=http://webcache.intern:3128
+export ftp_proxy=http://webcache.intern:3128
+
+echo 'This shell has been started in your Diskless Workstation chroot environment.'
+echo 'All changes performed here will take effect on your Diskless Workstations'
+echo 'after their next (re)boot. So be careful!!!'
+echo
+echo "To return from this chroot shell hit STRG+D or type ,,exit'' on the"
+echo 'command line...'
+echo
+
+/bin/$DISPLAY_SHELL
+
+umount -l /proc &> /dev/null
+umount -l /dev/pts &> /dev/null
+
+echo
+echo "ITZkS Display System Shell has exited."
+echo
+EOF
+chmod u+x "$CHROOT/itzks_display_shell.sh"
+chroot "$CHROOT" /itzks_display_shell.sh