summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2020-10-13 16:02:42 +0200
committerYour Name2020-10-13 16:02:42 +0200
commitd5d13c2053414b39d9e297edf3f9ef021b69d924 (patch)
treec9fd1401e79f282787a4d3b42df88db0cf49c47f
parent[vmware-common] Hard-coded lookup table for hwversion (diff)
downloadmltk-d5d13c2053414b39d9e297edf3f9ef021b69d924.tar.gz
mltk-d5d13c2053414b39d9e297edf3f9ef021b69d924.tar.xz
mltk-d5d13c2053414b39d9e297edf3f9ef021b69d924.zip
[splashtool] Finish first working implementation
Adds icons, triggers their display at appropriate times.
-rwxr-xr-xcore/modules/splashtool/data/opt/openslx/bin/splashtool12
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/01-nic.pngbin0 -> 8375 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/01-nic.ppmbin0 -> 12301 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.pngbin0 -> 12482 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.ppm21
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/03-config.pngbin0 -> 20435 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/03-config.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.pngbin0 -> 21681 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.ppmbin0 -> 12301 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.pngbin0 -> 38702 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.ppm8
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.pngbin0 -> 14980 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.ppm4
-rwxr-xr-xcore/modules/splashtool/data/opt/openslx/icons/batch.sh16
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.pngbin0 -> 8375 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.ppm7
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.pngbin0 -> 4166 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.pngbin0 -> 20435 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.pngbin0 -> 21681 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.ppm10
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.pngbin0 -> 38702 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.pngbin0 -> 14980 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/active/01-nic.ppmbin0 -> 12301 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/active/02-bridge.ppm21
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/active/03-config.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/active/04-rootfs.ppmbin0 -> 12301 bytes
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/active/05-hdd.ppm8
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/active/06-puzzle.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/inactive/01-nic.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/inactive/02-bridge.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/inactive/03-config.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/inactive/04-rootfs.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/inactive/05-hdd.ppm4
-rw-r--r--core/modules/splashtool/data/opt/openslx/icons/out/inactive/06-puzzle.ppm4
-rw-r--r--core/rootfs/rootfs-stage31/data/inc/activate_sysconfig1
-rw-r--r--core/rootfs/rootfs-stage31/data/inc/network.functions16
-rwxr-xr-xcore/rootfs/rootfs-stage31/data/init60
-rwxr-xr-xcore/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons16
-rwxr-xr-xcore/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_partitions1
l---------core/targets/stage31/splashtool1
44 files changed, 204 insertions, 50 deletions
diff --git a/core/modules/splashtool/data/opt/openslx/bin/splashtool b/core/modules/splashtool/data/opt/openslx/bin/splashtool
index 1c168c7d..eb0de564 100755
--- a/core/modules/splashtool/data/opt/openslx/bin/splashtool
+++ b/core/modules/splashtool/data/opt/openslx/bin/splashtool
@@ -14,6 +14,8 @@
# specific icon in its active state. Will assume the
# screen stays intact between calls.
+ICON_SIZE=64
+
unset mode ppm base index
count=0
@@ -34,7 +36,7 @@ shift
if [ "$mode" = "reset" ]; then
base="$ppm/inactive"
elif [ "$mode" = "icon" ]; then
- base="${base%/*}"
+ base="${ppm%/*}"
base="${base%/*}"
base="${base:-.}/inactive"
globname() (
@@ -100,14 +102,14 @@ if [ "$count" -gt 0 ]; then
echo "Unknown screen size ($screen_size)" >&2
exit 1
fi
- xmargin=$(( screen_width - (128 * count) ))
+ xmargin=$(( screen_width - (ICON_SIZE * count) ))
if [ "$xmargin" -gt 300 ] && [ "$count" -gt 1 ]; then
xmargin=$(( (xmargin - 100) / (count - 1) ))
- [ "$xmargin" -gt 32 ] && xmargin=32
+ [ "$xmargin" -gt 24 ] && xmargin=24
else
xmargin=0
fi
- xpos=$(( ( screen_width - (128 * count) - (xmargin * (count - 1)) ) / 2 ))
+ xpos=$(( ( screen_width - (ICON_SIZE * count) - (xmargin * (count - 1)) ) / 2 ))
ypos=$(( screen_height - 256 ))
# Loop over all inactive icons
unset wantfile
@@ -120,7 +122,7 @@ if [ "$count" -gt 0 ]; then
elif [ "$( basename "$f" .gz )" = "$wantfile" ]; then
draw "$xpos" "$ypos" "$ppm"
fi
- xpos=$(( xpos + 128 + xmargin ))
+ xpos=$(( xpos + ICON_SIZE + xmargin ))
done
else
# Normal mode
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/01-nic.png b/core/modules/splashtool/data/opt/openslx/icons/active/01-nic.png
new file mode 100644
index 00000000..7d1d7d7c
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/01-nic.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/01-nic.ppm b/core/modules/splashtool/data/opt/openslx/icons/active/01-nic.ppm
new file mode 100644
index 00000000..28623063
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/01-nic.ppm
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.png b/core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.png
new file mode 100644
index 00000000..1ab0835f
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.ppm b/core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.ppm
new file mode 100644
index 00000000..44c3de38
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/02-bridge.ppm
@@ -0,0 +1,21 @@
+P6
+64 64
+255
+/,-)&')&')%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)&'(%&=::!(%&*''*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&')&'*'(&#$'$%MJKYWX KHI  |zzLII  ~||KHI }{|KHI }{|KHI }{|KHI䘖 }{|KHI    
+ 
+    
+ 
+)&' }{|KHI!952qiOkcL1-,,(*e]HulQ@;4$"&UO?ypSQJ=$!%D?6wnRaZF)&(51.ofMofM51.)&(aZFwnRD?6$!%QJ=ypSUO?$"&@;4ulQf^I)&';89 }{|KHIMG;ڕ62.&#%NJd\Gmd riN̽ C=3C=3 ̽riN dmd\GNJ&"#745 }{|KHIJE:ݘ͎51.&#%˼`XEh󥐆`meL| !A;2֒֒A;2 !|meL`󥝒h`XE˼&"#745 }{|KHIKE:Џ51.&#%;`YFia neLô}!A<2ؓؓA<2!ô}neL ai`YF;&"#745 }{|KHIKE:Џ51.&#%;`YFia neLô}!A<2ؓؓA<2!ô}neL ai`YF;&"#745 }{|KHIKE:Џ61.&#%;aYFianfLô} !A<2ؔؔA<2 !ô}nfLaiaYF;&"#745 }{|KHIKE:Џ51.&#%;`YFia neLô}!A;2ؓؓA;2!ô}neL ai`YF;&"#745 }{|KHIKE:Џ51-&"$;`YEia neLô| A;2ؓؓA;2 ô|neL ai`YE;&"#745 }{|KHIKF;ݘږ;הޘƉɻЏΎɺȋߙՓ˽†ۖۖ†˽ՓߙȋɺΎЏɻʼn&"#745 }{|KHILF;ܗܗݘۗޙۖߙۗݘܗܗݘۗߙۖޙߙ&"#745 }{|KHILF;ܗܗږږۗܗۖږۗܗۗږۖܗۗږږܗܗږږۗܗۖږۗܗۗږٕ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHIKF;ۖږږږږږۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۖږږږٕο&"#745 }{|KHIMG;ݘۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗߙƊ&"#745 }{|KHIGB9;Ԓݘۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗޘ͍̽οƊx'#$856 }{|KHI($%&"#&"#&"#&"#+''!"xٖܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕ韆|Z+''%"#&"#&"#'#$"412 }{|KHI/+,967745745745745-** !xٕۗܗܗܗܗܗܗܗܗܗܗܗۗۗؕ蟆|[2..856745745856412EBC }{|KHIKHHzږܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕ韉^ }zy }{|KHIMJJzږݗܗܗܗܗܗܗܗܗܗܗܗܗݗڕꟊ^
+ }{|KHIMJJ" E@8NH<MG;>92dٕܗܗܗܗܗܗۗofLB=5MG;OI<>:5~~ }{|KHIB?@!!xXٕܗܗܗܗܗۗۗOI9  yww }{|KHIlih~]ٕٕٕٕٕٕ֓ؕޗXQ? }{|KHI a[TA }{|KHIVPByZ|sV}tW}tW}tW}tW}tW}tW}tWvXA=6 }{|KHIust  
+
+
+
+
+
+
+
+ 
+  }{{KHIܸ }{|KHI𜚚OLL'#%  " ><<ywx {yyKHI<:9.-+GL?V`LXbMLSD560 )&'ywxKHI@C:}kȏݜ㠽㠹ߞДxQYH$#" GDDKHI&!%jy\ؙ棸ݝٚייؚܜ䢼㠄q0.,@==KHI'#&}k饶ڛؚ֘ٚٛٛٚٚיי棚551[YYKHI300qbꥲؚ֘ڛؙٛٛٛٛٛٛٚߟ񪓯}+')KHI!3010,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-1./(%&PMN=:;,)*3/0'#$INAޝؚؚٚٛٛٛٛٛٛٛٚ䡄qqiy[DAAKHI1..-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+/,-&"#NKL;89*''0-.$!">;;v墳֙ڛٛٛٛٛٛٛٚיue($%Ӗ̑20.KHI9;4Ӗۜٚٚٛٛٛٛٛٚיtd"! l|]ݝZdO }}KHI V`L㠴יؚڛؚٚٛٛٚיtd"! ix[墳י{jXVVLIJ
+hwZ棲֘ߞؙؚٚٚיtd"! ix[墴ؚ֙䢌xJHHIGG
+l}]䡺ߟy22-vf棳ייtd"! ix[墴ؚٚי㡐{KHHmkkB?@xvvxvwxvvxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwyvwyvwyvwyvwywwywwywwywwywwywwywwywwywwywwxvv~|}QNN`lS㠼~m"!sc梿td"! ix[墴ؚٚڛי墆sNKK?<=                                
+$#GM>ޝיk{\ ! xgyh! ix[墴ؚٚڛٛ֙n~_ igg&#$,)(Šޞؚjy[($%($%ix[墴ؚٚڛؚٛٛݜHM@JHHm~^褱՗ؚjz\iy[墴ؚٚڛٛڛ֙䡑|$"(%%0.-ᠲ՘ٛxgwf⠵ٚٚڛٛڛؚٛޝHM@kjiIGGFK?ؙߟ՘ؚ墾墴ؚٚڛٛٛיٚesX (%%'$$ KQCϓ棵ٚԗ՗ؙؚי֙י⠻gvZ%$# ;<5sܜ棽㡻⠿棼⠙MTD! 744 DI=qaz{jQZH($%# ~||/,,! (%&)&'$"%!"a__ݒWUT300)%&)%&.++LJI \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/03-config.png b/core/modules/splashtool/data/opt/openslx/icons/active/03-config.png
new file mode 100644
index 00000000..b8c9d140
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/03-config.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/03-config.ppm b/core/modules/splashtool/data/opt/openslx/icons/active/03-config.ppm
new file mode 100644
index 00000000..36da92bb
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/03-config.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+hedb`_da`c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_da`b_^nlk<98QNN633>8.v<@@@@@@@@@@@@@@@@@@@@@wj91.,QNMpnmF?/ѷLUTUUUUUUUUUUUUUUUUUUUUUE1-,1--#AVPQQQQQQQQQQQQQQQQQQQQQPV=%'#"(%&)&&ĬISQRRRRRRRRRRRRRRRRRRRRRQQRZP2HEC)&'*&&ĬJSQRRRRRRRRRRRRRRRRRRRRRRQSʱJ1,)?;9)&')&&ŭJSQRRRRRRRRRRRRRRRRRRRRRRRQTE93+ /++)&')&'ŭJSQRRRRRRRRRRRRRRRRRRRRRRRRQTԺMz<`U4VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1C<.$fdd)&')&'ŭJSQRRRRRRRRRRRRRRRRRRRRRRRRRQSUSRRRRRRRRRRRRRRRRRRRRRRRRRP>,)+)&'*&'ŭJSQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRVr: C?>)&'*&'ìJSQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQSG&#&)&&)&')%&˲LVQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOQV˲L)&&)&'(%',)'Cq9KC.A:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+A:+KC.q9B,('(%')%'+('.*( # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #.*'+(')%')&'+'("WP>rŷ~Ŷ}Ŷ}Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ}Ŷ}ŷ~rWP>"+'()&',((!"XQ?XQ@!",((+(( !w֓ږږږږږږږږږږږږږږږږږږږږږږږږההההההږږږږږږږږږږږږږږږږږږږږږږږږ֓矹w !+(()&')&&ږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ)&&)&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗܗܗۗܗܗjxX]]xXjܗܗۗܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږݘۖۗږʻ  ʻږۗۖݘږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗٖٔܘؕ´|%"$72.zqSzqS72.%"$´|ؕܘٖٔܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗؕ韻y:6/}sTޙ̽ D?4D?4 ̽ޙ}sT:6/yؕܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕ韺x+'' {qRՑhTN>!#:5.ՒՒ:5.!#TN>hԑzqR +''xٕܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗٖ瞻y*&&MG9-)(!";6/""ogMߙߙogM# ":5/!"-)(MG9*&&yٖܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږȹ,((!g_Hj D>5c;ޘܗܗޘοcD?5 ig_I!,((ȹږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږ坸w !"vW瞭p_֓ߙۖޙޙۗߙ֓`p韀vW!" wږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗږ杙e""uVߙܗږҐҐږܗߙ~uV""fږܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗٖۗ졎_!$!#Փ֓aTM>;60;60TM>a֓Փ# #!_ٖۗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږۗؕ}sU`XDߙٕ˼D>4""""D>4˼ٕߘ_XD}tUؕۗږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗ̋/+)!!{ޙɊ83-B<3gɺɺgB<383-Ɋޙ坿{ !/+*̋ܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗۖᚏ`NG9[T@MG9!#KE8ޗٖkcKNH:ЎЎNH:kcKٖݗJD8!#MG9[T@NG9`ۖܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘؓ94-yXߙÆ,('%"$Ķ~֔ږږ֔Ķ~%"$,('Æߙ瞃yX94-ؓݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘ֒C>3# #`roӑۗ瞮qPJ;ߘږܗܗܗܗږߘPJ;qۗӑor`# #C>3֒ݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘגB=3 ʊؔ韢l`YEږܗܗܗܗږ`YElؔʊ B=3גݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘ֒B=3%"%ukP~\yXƈޘ坳tHB7ܖۗۗܗܗۗۗܖHB7tޘƈyX~\ukP%"%B=3֒ݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗܘڔ<7/ riOݘˌ4/, rהٕٕהr 40,̌ݘriO <7/ڔܘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗږᚯrriOvWjaJ#!$B=4ؔږ瞀vW;60ĵ~ĵ~;60wWږؔC=4# $jaJvWriOrږܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗۗٔ84.qۖדOI;-)(wnQmmwnQ-)(PJ;ؔۖ蟯r83.ٔۗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږٕՓ瞐`LF:דۗҐd\G  e]GҐۗדMG:_Փٕږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗۖݘypR!'$%Çߚ֔ޘ㛷vwnR[TB\TBxoRwݘ֔ߙć($%!xoQݘۖܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗۗۗzpR$!#gؕؕ䜟h$!$zpRۗۗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗٕ瞮q# #_⛊]jbKοܗږږܗοiaJ\󥑆_# #qٕܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗۖȊ@;2OH:ȉyY,((ofMoЏޘޘЏoofM+('yYȉOH:@;2Ȋۖܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗږƈ=8173-$!$(%&VO?$!#VO>ޘޘVO>$!#WP?)%&$!$73-=81ƈږܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕƈ>91 eô}riN# $=80֓֓=80# $riNõ~杚f >91ƈٕܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗؕň\UBiؕ!C=3ݕݕC=3!ؕ韞i\UBňؕܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږږڕ{$!#2.+WP>WP>2.+$!#{ږږږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&&οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږٖږܗږ($$($$ږܗږٖږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&&)&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗߙõ}nqqnõ}ߙۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&'(%&)%&οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)%&(%&1..pٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕ֓ה֔֔֔֔הٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕ֓롫p1..pnnGB9ˋˋGB9pnn633?:4^llllllllllllllllllllllllllllllllllllllllllllllllllllll^?:4633<99  <99heec``daaca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`daac``hee \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.png b/core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.png
new file mode 100644
index 00000000..a11dc723
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.ppm b/core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.ppm
new file mode 100644
index 00000000..26a12591
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/04-rootfs.ppm
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.png b/core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.png
new file mode 100644
index 00000000..81bb4a54
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.ppm b/core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.ppm
new file mode 100644
index 00000000..f51298ca
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/05-hdd.ppm
@@ -0,0 +1,8 @@
+P6
+64 64
+255
+856(%&)&')%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)&'(%&856"'#$*'(*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*'('#$"trrb``b``trrc`a  c`adbb b_`򆄅b_` dbbdab #  zxyzxy #  dabdab 744%"#GEEٰ|zztrrqop}{{GEE%"#744 dabdab 523΂HEE)&''$%EBCzxy523 dabdab ܐZXY%!"!*''412=:;A>@B?A>;<512*&'!" ROP dabdab hfg "2/0PNPsqtrqtPNP0-."\Z[ dabdab 2/0# 856kil}|igj412$!!)&' dabdab "+'(b`c|z}SQS856($%!+()][^(%%%"# dabdab %!"856nlo967 .+,=:;@>?^\^3/1'$$~|| dabdab %!"B?@@=?745a_a<9:'$$ dabdab %!"$ !A>?vtw*&'2/0omp;89&#$ dabdab DAB523pnq# LJL1./# 745 dabdab )&&{y}$!!!\Z\~}'$$wtu dabdab 0-.[Y[.+,YWYUSU"'$% dabdab 3/0LIKEBDkil/,-uss dabdab @=>a_a"*'(yx{WVYHFHHFHWVYyx{tsv746B?AZXZ2/0 dabdab +()JGI][]979979CAB;8:)&& dabdab HEG,)*"wvy# "!139J`|YxYxJ`|139!# "wux,)*0-.kikA>?lij dabdab SQQhfi'$&$CRhqqCRh$'$%fdfXVX_]_EBC dabdab 856truJHJ?K^y|gQjQjg|y?K^JHJyx{!-*+ dabdab (%&)%&>;<(%&(%&g~Z|(%%(%%Z|~g(%&)%&'$%"  dabdab 0-.746'#$xw{:BPyr/18!^]`^]`!/18ry:BPyx|zx|usvvuxvuxtru.*+ dabdab 412,)* nmqAPf~e# 857857# e~APfwvz|{~ 6341-/ dabdab 301geh][^srv>IZ{l)')($%($%)')l{>I[wvzOLNMJLNKMNLMIGIpnq0-. dabdab %"#-*+$./4p{I^z  I^z{p./4$+()  dabdab 2/0$ !:8:!Nf~vQl9AO9AOQlu~Nf!:8:$ !*&' dabdab JHHywzutw*&&Xx}yy}Xx*&%zy|_]`qpr>;< dabdab tqr]Z]USV(#!DUlbnnbEVm(#!TRTJGI 0-.hfiTRTa_` dabdab <9:\Z\# !$++0++0$# _]_ECD 968745 dabdab 2/0!POR423*&&*&&423PNQwux856%""{y|!*'( dabdab ropPNP,()QNPdbekikHFG_]^ dabdab $ !&#$HEGrqt)%& }|%"# dabdab mklECDZXZEBDc`c<9:><=ZXX dabdab 0,-geg)%&# WUW634kil^\^!'$% dabdab ($%}{~KHJ$!""gehvtw1-.vtw'$$ dabdab yww-*+# -)*!xvy\Z\fdf}{+'(fde dabdab ecc,)*yx{?<>%!"+()%!"sru*'(URS dabdab igh%""^\^tru +)*)'(+'(ZXZ%""ZWX dabdab >;<524%@Pf*)-3/0yx{:79xvv dabecc B?@$!#%7?L[} DBDqorA>@ 634 ecc^[\)&($_Xw 757fdgyx{xwzdbdIFH-*+/,-^\\%"#zxy:CQ}GZu% $!"MJK'#$mkk0-.$!"&! a~>J]rpr^[\OLMDABECCKII^\]zxy412hfgNKLFCD_^_CRh{u7>JOLMFCD744pnn,)+i{p./5&""|zz/,,"/+,KIKKa~{xj&#$6231./%!",()128pwzbJGI*'('#$JGH[YY:8: Tp|t|Xwb`bROPVSTjhh2/07=Guwu|Of
+}|~+'(trr,*+#\~{uu{EUk !# qoq>IYyvvvx;DS# !_\]967/,-'#$eytuws14=$ywxhef`]^a^_ #
+       $ .,/j}{yyn+*-($$
+                 
+
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.png b/core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.png
new file mode 100644
index 00000000..703f844f
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.ppm b/core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.ppm
new file mode 100644
index 00000000..b1903ded
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/active/06-puzzle.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+C@@&"#*&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&'*&'&"#C@@&"#*&')&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&&*&'&"#*&')&&Үʨ̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩˨Эú/*)+**ıƲ)&&*&')&')&&Үܴ0+),++ϹҫƲ)&')&')&')&&ʨԮ0+)+*+ȳɼĽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŻ˥)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩Ԯ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ݵ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ú1,*+**ɴʽžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩Ɲ}@<8'#$,()/.-ȴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩qk\9:7RXRLQL,**'$%ɴʽžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩̌p-*)}˪ű[d\dofǾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩հ0,+!׿ǼŽͿǾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ͥIMH˼Ľžƾƽżļžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩͆l kwmѻþƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩͈m kwmѻþƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̨̩IMH˼Ľžƾƽżļžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ײ2., ׾ǼŽͿǾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩̐s-))}˪ű[d\fqhȾƾƾƾƾƾƾƾƾƾƾƽŻļļĻļžƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩pj[9:8RXRLQL,**'$%ɴʽžƾƾƾƾƾƾƽż̼Ľžƾƾƾƾƾƽ̦)&')&')&')&&̩Śz>:6($%,()/.-ȴ˽žƾƾƾƾƾƽſФw|`kc`jctyϿȽžƾƾƾƾƽ̦)&')&')&')&&̩º1,*+**ɴʽžƾƾƾƾƽɼepg($&'#%cneɽžƾƾƾƽ̦)&')&')&')&&̩ܵ0+)+*+ɴ˽žƾƾƾƽƾǾOVP&"!BKYXlXlBKY'"!OVPǾǽƾƾƾƽ̦)&')&')&')&&̩Ԯ0+)+*+ɴ˽žƾƾƾƼrv.,.f팹e.,.twѼľƾƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƽɵҼ454"`y߄߄߄ߏ`y!565ӽȽžƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƼϔ 47>߆Ⅿ↰ㆰㅯ↰⃭47> ϼľƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƼхCLZꅮᅯ↰↰ⅯⅮትCLZѼľƾƽ̦)&')&')&')&&˨Ԯ0+)+*+ȳɼĽŽŽŻϊ=DP煮ᅯⅯⅯⅯⅮᇳ=DPϻýŽż˦)&')&')&')&&Эڳ0+),*+͸Ъű*&'(%'vƋ섮ㆰㄮv(%&)&&İѪı)&')&')&')&&úܴԮկկկկկկկկկկկկկկկԮڳß/+)+**͸ȳɴɴɴɴȴιKQL@IW䆱䅯Ⅿ↱䆱@IXJPLθȴɴɴɴȳϺ)&')&')&')&'.+*/,*/,*/,*/,*/,*/,*/,*3/,($$}we}we($$3/,/,*/,*/,*/,*/,*/,*/,*/,*.+*)&')&'-+)-+*-+*-+*-+*-+*-+*-+).,+-*)*&'!EQc녮ᅮትEPb!*&'-*).,+-+)-+*-+*-+*-+*-+*,*))&')&')&')&'.(&.)&.(&.(&.(&.(&.(&/)'+((oiZoiZ+((/)'.(&.(&.(&.(&.(&.(&.(&.(')&')&'*(,*)-*(,*(,*(,*(,*(,*),*(,*)-,,0(%&HVi酮ᅮሴHVj(%',,0*)-*(,*),*(,*(,*(,*(,*)-*(+)&')&')&')&'Sע]Ϝ[ѝ[ѝ[Ϝ[ף^P'$%.+*ѬѬ.**($%Qע]Ϝ[ѝ[ѝ[ѝ[ϝ[ա]U/)&))-p}zzzzzzzzzzΆ䆱䅯Ⅿ↱䆰zzzzzzzzz}m)&')&&)&')&'ʚ[gdeediOYSIYSIPideeedgԠ]0)&)).}Ӌ숲戳爳爳爳爳爳爳爳爳熰ㅯ↰ㆰㅯ↰㈳爳爳爳爳爳爳爳燲挸y)&')&&)&')&'ƖYebccbgzL`ZO`ZO{MgbcccbdϜ[0)&))-zΈ愮ᅯᅯᅯᅯᅯᅯᅯᅯᅯ↰ㅯⅯ↰ㅯⅯᅯᅯᅯᅯᅯᅯᅯᄭv)&')&&)&')&'ƗYebccbfS!?;5?;5!SfbcccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccdާ`?6.|Ҝ|>5-ݧ`dccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccbgrG!-('ǧ-(' pFgbccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccdlU; UOE|h|hTOE kU:dccccccceН[0)&))-z͇僭߄↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccdcgB0+)2,)iDddccccccceН[0)&))-~Վ쇱䄭↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccgН[xKdBeBzLҟ\gccccccccceН[0)&**.kid|n܌Ⅿ↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccbeggggebccccccccbeН[2,(+()'$&!349[q膱䅯↰ㆯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccbbbbccccccccccceН[($%".)'UE6\J8=4- IUh熯ⅯⅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccx]>jS:̛Zdeߨ`qH+(+Wkㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccffecbcixK "-+.|Ј煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccbbbccbbdPB4c|ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccccccccbg|aBTe}߅↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccccccccbg|aBSd{߅↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccbbbccbbdPB5ayㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccccdefecbcixJ #,*,{ψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccv\=iS9̚Zdeߨ`qH*(+Uhㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccbeН[($%".)'TE6[J8=4- IVi憰ㅯⅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[2,(+(('$%!45;\t醱䅯↰ㆯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)%**.jhc{n݌Ⅿ↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-~֏쇱䄭↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-z͇僭ބ↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ŖYebbbbbbbbbbbbbbbbbbbbbbbbbdϜ[0)&))-z͇愭ᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᄭ߈v)&')&&)&')&'̛[geeeeeeeeeeeeeeeeeeeeeeeeeg֢]0)&)).}Ռ艵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鈳茺z)&')&&*'()&'Q̛[ŖYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƖYʚ[S/)&)),nyvwwwwwwwwwwwwwwwwwwwwwwwvzk)&'*''&"#*&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&'*&'&"#C@@&"#*'()&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&*''&"#C@@ \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/batch.sh b/core/modules/splashtool/data/opt/openslx/icons/batch.sh
new file mode 100755
index 00000000..91b93aa4
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/batch.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+mkdir -p out/active out/inactive
+
+for i in active/*.png; do
+ convert "$i" -background '#ffffff' -alpha Background \
+ -modulate 120,70 \
+ -alpha Off -resize 64x64 "out/${i%.png}.ppm"
+done
+
+for i in inactive/*.png; do
+ convert "$i" -background '#ffffff' -alpha Background \
+ -colorspace Gray -modulate 180 \
+ -alpha Off -resize 64x64 "out/${i%.png}.ppm"
+done
+
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.png b/core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.png
new file mode 100644
index 00000000..7d1d7d7c
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.ppm b/core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.ppm
new file mode 100644
index 00000000..4ce9331a
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/01-nic.ppm
@@ -0,0 +1,7 @@
+P6
+64 64
+255
+eeejjjjjjjjjjjjjjjjjjjjjkkk'''((( 888666666sss}}}~~~~~~~~~NNN rrr333333ҏ$$$TTT666555zzzǒ$$$TTT'''((( '''"""{{{я$$$TTTdddjjjjjjiiimmmKKK'''qqqя$$$TTTuuuя$$$TTTuuuя&&&LLLuuuэ+++333''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((EEEuuuю***999CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBBCCCBBBBBBCCCBBBBBBBBBCCCCCCCCCCCCCCCCCC@@@555///uuuѐ!!!eee333444uuuѐ iii333333uuuѐ hhhQQQ___nnnIII匌===333333uuuѐ hhh(((:::NNNsss333333uuuѐ hhhlll||||||lllggg666;;;jjj@@@444gggJJJ000[[[qqqmmm333333uuuѐ hhh$$$)))SSS SSS'''***)))(((***%%%+++!!!&&&333333uuuѐ hhh###BBB)))jjj///999999///'''KKKaaa"""333333uuuѐ iii222###$$$kkkkkkҜ~~~&&&UUU|||!!!bbb333333uuuя%%%QQQӒ򢢢"""...QQQƸ}}}zzzsss++++++TTT333333uuuэ,,,000 <<<ϕ{{{'''RRRʱ...'''((( uuu"""```333333uuuю)))===mmmddd444>>>ỻ¿֡$$$SSSʲ999777sssFFF***vvvvvv333333uuuя$$$SSS000=== !!!&&&...QQQʳ555:::ddd!!!sss+++---
+
+
+XXX333333uuuя$$$RRR000===]]]jjjhhhhhhhhhhhhhhhhhhiiiiiiiiiaaajjj```)))RRRʳ777999YYY$$$uuu%%%PPPlll333333uuuя$$$SSS000===򲲲###SSSʱ444...,,,+++000'''www333333uuuя$$$SSS000===555---QQQɳGGGBBBDDDDDDEEE;;;ttt)))666"""ggg333333uuuя$$$SSS000===,,,>>>;;;;;;;;;;;;777GGG\\\+++444AAA,,,RRRÿwww(((===666ttt333333uuuя$$$SSS000===,,,>>>;;;;;;;;;;;;777GGG\\\+++###SSS¾www333333uuuя$$$SSS000===%%%:::DDDCCCCCCCCCCCCCCCCCCCCCCCCEEE>>>###333333uuuя$$$SSS000===444///---//////,,,//////---...000---000'''333333uuuя$$$RRR000===]]]jjjhhhhhhhhhhhheeerrr\\\333BBBPPP,,,mmm!!!333333uuuя$$$SSS000=== !!!,,,CCC $$$777KKKqqq 333333uuuю)))===mmmddd444>>>ཽ̽ɼԷ333333uuuэ,,,000 <<<333333uuuя%%%QQQ333333uuuѐ iii333333uuuѐ hhh333333uuuѐ hhh333333uuuѐ hhh333333uuuѐ hhh"""***###############%%%&&&AAAhhh |||!!!HHHHHH!!!||| hhh333333uuuѐ hhh"""DDDVVVTTTTTTTTTUUURRR777000ooo+++QQQQQQ+++ooo333333uuuѐ iii@@@111nnn***PPPPPP***nnn333333uuuѐ!!!eeeAAA000jjj|||***NNNNNN***|||jjj333444uuuю***999CCCCCCCCCCCCCCCCCCCCCCCCBBBDDD???%%%{{{===222AAADDD999333===EEE===333:::DDD@@@444777CCCCCC777444@@@DDD:::333===EEE===333999DDD@@@555///uuuэ+++333''''''''''''''''''''''''''''''+++!!!RRR%%%)))''')))+++(((&&&(((+++)))&&&(((+++***''''''***+++(((&&&)))+++(((&&&(((+++)))'''((((((EEEuuuя&&&LLLuuuя$$$TTTuuuя$$$TTTuuuя$$$TTTtttώ$$$TTTzzzݖ###UUU###ZZZggg***UUUyyy'''$$$ LLLgggiiikkkkkkaaa \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.png b/core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.png
new file mode 100644
index 00000000..ed981e99
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.ppm b/core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.ppm
new file mode 100644
index 00000000..e44599bd
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/02-bridge.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+888333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333222FFF###+++333444333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444111(((111UUU!!!dddSSS$$$TTT###SSS###SSS###SSS###SSS###砠SSS###$$$$$$%%%!!!&&&''' %%%######%%% '''&&&!!!!!!333SSS###+++DDD}}};;;555uuuLLL---ddd___,,,RRRrrr333@@@@@@333rrrRRR,,,___ddd---LLLvvv333DDDSSS######VVV@@@000nnn)))OOOOOO)))nnn000@@@SSS######VVV@@@000lll)))NNNNNN)))lll000@@@SSS######VVV@@@000mmm)))NNNNNN)))mmm000@@@SSS######VVV@@@000mmm)))NNNNNN)))mmm000@@@SSS######VVV@@@000nnn***OOOOOO***nnn000@@@SSS######VVV@@@///mmm)))NNNNNN)))mmm000@@@SSS######VVV@@@000nnn***NNNNNN***nnn000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS######WWW000@@@SSS###%%%SSS111AAASSS###'''111000000000000555+++%%%555000000000111,,,>>>SSS###999BBB@@@@@@@@@AAA777)))###<<<AAA@@@@@@AAA>>>NNNSSS###SSS$$$SSS###UUU###SSS###UUU,,,PPPZZZYYYJJJMMMYYY[[[III$$$SSS###LLL###&&&"""+++^^^!!!(((!!!***SSS###vvvggg"""SSS###hhhSSS###"""dddMMM'''SSS###~~~ ###SSS###ÒSSS###SSS###SSS###SSS###SSS###SSS###SSS###...???<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<===555[[[III888>>>333SSS###+++<<<999999999999999999999999999999999999999999999999:::111XXXFFF555;;;000SSS###TTT###TTT###RRR###tttLLL|||>>>HHH jjj \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.png b/core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.png
new file mode 100644
index 00000000..b8c9d140
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.ppm b/core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.ppm
new file mode 100644
index 00000000..70c3be23
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/03-config.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+ooojjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiivvvEEE!!!YYY@@@!!!JJJ<<< YYYwww!!!TTT<<<!!!;;;(((&&&111222333jjj QQQ333333===###HHH333333EEE"""888333333pppfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffOOO(((mmm333333666$$$333333###LLL333444000333333333333333222777ƕZZZNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNYYY666222222555888)))***)))************************************************************************************************************************************************)))***)))888555222333444(((ffffff(((444333666***gggggg***666555++++++555333444444333333333333333333333(((!!!!!!(((333333333333///BBBBBB///333333333333HHH***QQQQQQ***HHH333333333333888###"""bbb)))FFFFFF)))bbb"""###888333333333333666"""ZZZ777+++GGG ------ GGG***777ZZZ"""666333333333333888'''vvv***QQQ⧧QQQ***vvv'''888333333333333(((******(((333333333333,,,$$$$$$,,,333333333333(((...aaaFFFFFFaaa...(((333333333333nnnRRR------RRRmmm333333333333;;;+++EEENNNݯNNNEEE+++;;;333333333333\\\kkk[[[***WWWyyy\\\\\\yyyWWW***[[[kkk\\\333333333333FFF"""!!!###666000000666###!!!"""FFF333333333333PPP---½\\\\\\󽽽¤---PPP333333333333OOO***kkkkkk***OOO333333333333PPP..."""UUUUUU"""啕...PPP333333333333III???)))(((???III333333333333xxx---NNNHHHHHHOOO---xxx333333333333EEE$$$]]]888888^^^$$$EEE333333333333ZZZuuu''''''uuuZZZ333333333333'''333ˇkkkkkk333&&&333333333333###......###333333333333 ---yyyxxx--- 333333333333MMM$$$]]]핕!!!777~~~񽽽~~~777!!!\\\$$$MMM333333333333JJJ DDD...222eee...eeeeee...eee222...DDD JJJ333333333333KKK)))ց,,,JJJJJJ,,,)))KKK333333333333kkk***OOOOOO***kkk333333333333...===ffffff===...333333333333444$$$$$$444333333333333ջ333333222333333222;;;((((((;;;www!!!TTTTTT!!!www@@@!!!KKKKKK!!!@@@EEEEEEooojjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjooo \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.png b/core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.png
new file mode 100644
index 00000000..a11dc723
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.ppm b/core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.ppm
new file mode 100644
index 00000000..d3eaa53f
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/04-rootfs.ppm
@@ -0,0 +1,10 @@
+P6
+64 64
+255
+ccc555333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333555ccc,,,!!!,,,444333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444,,,!!!,,,,,,(((pppppp(((,,,ccc!!!qqqqqq!!!ccc555,,,׋rrr,,,555333444...***444333333333---+++ccchhh...(((}}}vvvzzz󋋋zzzvvv333333333333ccclll}}}JJJ\\\,,,,,,\\\333333333333sssϻ͙fff000
+
+
+UUU[[[***$$$kkk@@@@@@kkk$$$333333333333hhhqqqzzzKKK\\\------\\\333333333333***...lllqqq111%%%uuummmrrr󄄄rrrmmm333333333444(((%%%444333555---}}}fffyyy---555ZZZ!!!yyyyyy!!!ZZZ))))))zzzzzz))))))...+++000::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::000+++......+++000::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::000+++...))))))zzzzzz))))))ZZZ!!!yyyyyy!!!ZZZ555---}}}fffyyy---555333444(((%%%444333333333***...lllqqq111%%%uuummmrrr󄄄rrrmmm333333333333hhhqqqzzzKKK\\\------\\\333333333333sssϻ͙fff000
+
+
+UUU[[[***$$$kkk@@@@@@kkk$$$333333333333ccclll~~~JJJ\\\,,,,,,\\\333333333333---+++ccchhh...(((www{{{􌌌{{{www333333222444...***444222777,,,׋sss,,,777ccc!!!qqqqqq!!!ccc---(((nnnnnn(((---------***000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000***------,,,+++777BBB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BBB777+++,,,'''+++熆+++'''YYY!!!!!!YYY333...qqqZZZnnn...333333444######!!!444333333333'''111tttzzz444###```WWW\\\qqqqqq\\\WWW333333333333lllvvvwww}}}|||MMM ^^^//////^^^ 333333333333sssϻΙfff222 WWW[[[)))$$$kkk@@@@@@kkk$$$333333333333___ggg̣JJJ [[[,,,,,,[[[ 333333333333111)))[[[___++++++Êގ̊333333222444444000444222888+++~~~+++888ddd!!!jjjjjj!!!ddd222'''gggggg'''222...""",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---000///++++++///000---,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"""...}}}OOOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBB>>>222666HHHHHH666222>>>BBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOO}}}&&&IIIIII&&&%%%JJJJJJ%%%%%%IIIIII%%%%%%KKKKKK%%%)))>>>cccccc???)))bbb---%%%%%%---bbbLLL777888LLL|||\\\%%%FFFFFF%%%\\\|||(((%%%...,,,---...%%%(((555666~~~qqq)))SSSSSS)))qqq~~~666555333333kkkkkk333333555555$$$[[[\\\$$$555555(((,,,""" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! %%%111222222111%%% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """,,,(((wwwOOOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTWWW@@@&&&[[[[[[&&&@@@WWWTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUOOOwww666"""NNNݯNNN###555DDD!!!"""222222###!!!CCC뉉III333222GGG \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.png b/core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.png
new file mode 100644
index 00000000..81bb4a54
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.ppm b/core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.ppm
new file mode 100644
index 00000000..a1b574e7
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/05-hdd.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+AAA222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333222AAA,,,)))111444333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444111))),,,zzzllllllzzzjjjjjjkkklll􏏏lllkkkkkk///''''''///kkkkkk###@@@///RRR޸~~~RRR///@@@###kkkkkkAAA"""ԋSSS555'''!!!  """'''333QQQ"""AAAkkkkkkeee000""""""'''333@@@LLLRRRSSSMMMAAA222(((###$$$...]]]kkkkkksss,,,$$$(((>>>gggιggg;;;)))''')))hhhkkkkkk>>>&&&)))FFFŲȉAAA+++(((555kkkkkk+++***333ڢlllGGG111'''666yyy000...'''kkkkkk&&&,,,FFFݐHHH%%%''':::MMMRRRzzz议???///%%%kkkkkk''',,,SSS𷷷RRR$$$###EEE}}}LLL...%%%kkkkkk111+++RRR욚444"""???KKK...***kkkkkkPPP'''CCC풒+++'''bbb===+++CCCkkkkkk%%%111𡡡,,,(((www楥///&&&kkkkkk===&&&uuu:::%%%sssnnn)))333kkkkkk""">>>aaa!!!XXXЋ:::$$$kkkkkkLLL"""~~~񨨨***555מqqq]]]]]]qqqޘFFFUUUuuu&&&>>>kkkkkk(((555___ xxx嫫III%%%!!!!!!%%%III߶VVV&&&###KKK᷷222'''kkkkkk[[[777***圜,,,%%%BBBttttttBBB%%%,,,777===RRR vvvkkkkkk___乹⹹000***eeeռeee***000億rrr{{{!!!PPPkkkkkkDDD&&&믯___"""]]]Ы~~~~~~]]]"""___枞'''999kkkkkk444222NNN῿222333ӓ111111ӫ333222㶶000...kkkkkk+++;;;FFF000枞"""SSS˾???(((kkkkkk(((???SSS!!!៟888(((kkkkkk'''AAA777&&&琐cccԦ,,,DDDDDD,,,ccc!!! DDD<<<%%%kkkkkk)))???ㆆyyy痗 [[[ϳ444222222444[[[eeecccdddeee^^^;;;&&&kkkkkk111888㲲***===qqq"""######"""qqqϺ===+++555+++kkkkkk>>>,,,KKK$$${{{āQQQQQQ{{{$$$JJJ䯯,,,555kkkkkkVVV!!!晙%%%333ю333$$$|||瓓"""JJJkkkkkk~~~wwwnnn"""000hhhiii000!!!mmm___<<<llllllkkkkkk!!!JJJwww+++ ***999999*** ***{{{߽YYY&&&###IIIDDD!!!kkkkkk>>>)))⮮hhhBBB333333BBBhhhߛGGG---堠(((666kkkkkk|||fff666hhhӂ\\\ jjjkkkkkk///...\\\߾222&&&娨---+++kkkkkkxxxWWWuuuXXX瀀"""LLLNNN"""eeekkkkkk<<<%%%⺺222***qqqDDD%%%zzz'''333kkkkkk%%%///```,,,)))皚===隚...%%%kkkkkk!!!666婩***888(((www飣333###qqqkkkkkkooo 555PPP---666---痗333###aaakkkkkkttt!!!,,,yyyᗗ&&&666444555ttt,,,###eeekkkkkk)))NNNCCC+++bbb666@@@۞III$$$'''kkklllMMM---+++OOO%%%WWWǓRRR''' CCCllleee666(((###EEE\\\777;;;eee###000 SSSmmm******###''''''$$$///YYY111###ttt!!!;;;000---[[[###}}}jjjYYYQQQSSSVVVjjj???!!!oooVVV!!!QQQkkkdddMMM$$$ZZZ!!!OOO@@@zzz(((666ͺ===000 888+++:::WWW!!!uuuȯ000AAA<<<)))///666###@@@͟%%%UUU555000RRR fffGGG$$$Ѝnnn\\\ ^^^qqq!!!===LLLzzz666"""{{{$$$***999)))ggg+++%%%+++---|||YYYTTT!!!%%%---fff$$$DDD:::000ƿCCC,,,rrrggghhh***,,,---:::ʷ888111;;;"""AAAkkkiii"""dddNNN###DDDnnn˔,,,???RRR///@@@###kkkkkkPPP### 111III;;;'''///kkkkkk```999%%%)))ooo􏏏lllkkkjjjjjjzzzllllllzzz,,,)))111444333333333333333333333333333333333222111222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444111))),,,AAA222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333222AAA \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.png b/core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.png
new file mode 100644
index 00000000..703f844f
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.png
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.ppm b/core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.ppm
new file mode 100644
index 00000000..579500c0
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/inactive/06-puzzle.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+KKK000333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333000KKK000444333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444000333333999888333333333333;;;999333333333333;;;888333333333333;;;999333333333333;;;999333333333333;;;999333333333333;;;888333333333333ѵ;;;888333333333333MMM'''111555===333333333333 !!!JJJlllddd999"""222333333333333777zzz333333333333<<<(((333333333333___333333333333333333333333333333333333___333333333333===(((333333333333777zzz333333333333~~~"""JJJlllddd888"""222333333333333KKK'''222555===ߡ333333333333ѵ;;;888222111333333333333;;;888kkk...^^^^^^...kkk333333333333;;;999:::ٜ:::333333333333;;;999DDD&&&ᒒ&&&FFF333333333333;;;999&&&GGGGGG'''333333333333;;;999______333333333333;;;888VVVVVV333333333333;;;999444222ٸ222444333333333333:::888eee###\\\\\\###ddd333333333333:::;;;;;;;;;;;;;;;;;;;;;???333333???;;;;;;;;;;;;;;;;;;;;;;;;:::333333999::::::::::::::::::999;;;999333%%%eeeddd%%%333888;;;999:::::::::::::::999333333333333777777777777777777777888555!!!}}}|||!!!555888777777777777777777777777333333666666666666666666666666555666:::222jjjjjj222:::666555666666666666666666555333333333333000::::::111888666ÿҿŪ333333333333dddddd999666ۼ333333333333kkkkkk888666ַ333333333333&&&LLLLLL&&&888666׸333333333333JJJ######HHH888666׸333333333333 888888888666׸333333333333{{{)))aaaaaa(((zzz888666׸333333333333999;;;888666׸333333333333鰰888777׸333333333333<<<555111 (((DDD׸333333333333111"""888cccjjjIII$$$###jjj׸333333333333yyy666###׸333333333333(((:::׸333333333333]]] ׸333333333333}}}׸333333333333{{{׸333333333333]]] ׸333333333333(((999׸333333333333www555"""׸333333333333111###888bbbjjjHHH###$$$jjj׸333333333333<<<555111(((EEE׸333333333333888777׸333333333333888666׸333333333333888666׸333333333333888666׸333333333333888666׸333333333333888666շ333333333333999666ݽ333333444333888666333444000444333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444000KKK000444333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444000KKK \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/active/01-nic.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/active/01-nic.ppm
new file mode 100644
index 00000000..28623063
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/active/01-nic.ppm
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/active/02-bridge.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/active/02-bridge.ppm
new file mode 100644
index 00000000..44c3de38
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/active/02-bridge.ppm
@@ -0,0 +1,21 @@
+P6
+64 64
+255
+/,-)&')&')%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)&'(%&=::!(%&*''*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&')&'*'(&#$'$%MJKYWX KHI  |zzLII  ~||KHI }{|KHI }{|KHI }{|KHI䘖 }{|KHI    
+ 
+    
+ 
+)&' }{|KHI!952qiOkcL1-,,(*e]HulQ@;4$"&UO?ypSQJ=$!%D?6wnRaZF)&(51.ofMofM51.)&(aZFwnRD?6$!%QJ=ypSUO?$"&@;4ulQf^I)&';89 }{|KHIMG;ڕ62.&#%NJd\Gmd riN̽ C=3C=3 ̽riN dmd\GNJ&"#745 }{|KHIJE:ݘ͎51.&#%˼`XEh󥐆`meL| !A;2֒֒A;2 !|meL`󥝒h`XE˼&"#745 }{|KHIKE:Џ51.&#%;`YFia neLô}!A<2ؓؓA<2!ô}neL ai`YF;&"#745 }{|KHIKE:Џ51.&#%;`YFia neLô}!A<2ؓؓA<2!ô}neL ai`YF;&"#745 }{|KHIKE:Џ61.&#%;aYFianfLô} !A<2ؔؔA<2 !ô}nfLaiaYF;&"#745 }{|KHIKE:Џ51.&#%;`YFia neLô}!A;2ؓؓA;2!ô}neL ai`YF;&"#745 }{|KHIKE:Џ51-&"$;`YEia neLô| A;2ؓؓA;2 ô|neL ai`YE;&"#745 }{|KHIKF;ݘږ;הޘƉɻЏΎɺȋߙՓ˽†ۖۖ†˽ՓߙȋɺΎЏɻʼn&"#745 }{|KHILF;ܗܗݘۗޙۖߙۗݘܗܗݘۗߙۖޙߙ&"#745 }{|KHILF;ܗܗږږۗܗۖږۗܗۗږۖܗۗږږܗܗږږۗܗۖږۗܗۗږٕ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHILF;ܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ&"#745 }{|KHIKF;ۖږږږږږۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۖږږږٕο&"#745 }{|KHIMG;ݘۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗߙƊ&"#745 }{|KHIGB9;Ԓݘۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗޘ͍̽οƊx'#$856 }{|KHI($%&"#&"#&"#&"#+''!"xٖܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕ韆|Z+''%"#&"#&"#'#$"412 }{|KHI/+,967745745745745-** !xٕۗܗܗܗܗܗܗܗܗܗܗܗۗۗؕ蟆|[2..856745745856412EBC }{|KHIKHHzږܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕ韉^ }zy }{|KHIMJJzږݗܗܗܗܗܗܗܗܗܗܗܗܗݗڕꟊ^
+ }{|KHIMJJ" E@8NH<MG;>92dٕܗܗܗܗܗܗۗofLB=5MG;OI<>:5~~ }{|KHIB?@!!xXٕܗܗܗܗܗۗۗOI9  yww }{|KHIlih~]ٕٕٕٕٕٕ֓ؕޗXQ? }{|KHI a[TA }{|KHIVPByZ|sV}tW}tW}tW}tW}tW}tW}tWvXA=6 }{|KHIust  
+
+
+
+
+
+
+
+ 
+  }{{KHIܸ }{|KHI𜚚OLL'#%  " ><<ywx {yyKHI<:9.-+GL?V`LXbMLSD560 )&'ywxKHI@C:}kȏݜ㠽㠹ߞДxQYH$#" GDDKHI&!%jy\ؙ棸ݝٚייؚܜ䢼㠄q0.,@==KHI'#&}k饶ڛؚ֘ٚٛٛٚٚיי棚551[YYKHI300qbꥲؚ֘ڛؙٛٛٛٛٛٛٚߟ񪓯}+')KHI!3010,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-1./(%&PMN=:;,)*3/0'#$INAޝؚؚٚٛٛٛٛٛٛٛٚ䡄qqiy[DAAKHI1..-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+-*+/,-&"#NKL;89*''0-.$!">;;v墳֙ڛٛٛٛٛٛٛٚיue($%Ӗ̑20.KHI9;4Ӗۜٚٚٛٛٛٛٛٚיtd"! l|]ݝZdO }}KHI V`L㠴יؚڛؚٚٛٛٚיtd"! ix[墳י{jXVVLIJ
+hwZ棲֘ߞؙؚٚٚיtd"! ix[墴ؚ֙䢌xJHHIGG
+l}]䡺ߟy22-vf棳ייtd"! ix[墴ؚٚי㡐{KHHmkkB?@xvvxvwxvvxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwxvwyvwyvwyvwyvwywwywwywwywwywwywwywwywwywwywwxvv~|}QNN`lS㠼~m"!sc梿td"! ix[墴ؚٚڛי墆sNKK?<=                                
+$#GM>ޝיk{\ ! xgyh! ix[墴ؚٚڛٛ֙n~_ igg&#$,)(Šޞؚjy[($%($%ix[墴ؚٚڛؚٛٛݜHM@JHHm~^褱՗ؚjz\iy[墴ؚٚڛٛڛ֙䡑|$"(%%0.-ᠲ՘ٛxgwf⠵ٚٚڛٛڛؚٛޝHM@kjiIGGFK?ؙߟ՘ؚ墾墴ؚٚڛٛٛיٚesX (%%'$$ KQCϓ棵ٚԗ՗ؙؚי֙י⠻gvZ%$# ;<5sܜ棽㡻⠿棼⠙MTD! 744 DI=qaz{jQZH($%# ~||/,,! (%&)&'$"%!"a__ݒWUT300)%&)%&.++LJI \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/active/03-config.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/active/03-config.ppm
new file mode 100644
index 00000000..36da92bb
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/active/03-config.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+hedb`_da`c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_c`_da`b_^nlk<98QNN633>8.v<@@@@@@@@@@@@@@@@@@@@@wj91.,QNMpnmF?/ѷLUTUUUUUUUUUUUUUUUUUUUUUE1-,1--#AVPQQQQQQQQQQQQQQQQQQQQQPV=%'#"(%&)&&ĬISQRRRRRRRRRRRRRRRRRRRRRQQRZP2HEC)&'*&&ĬJSQRRRRRRRRRRRRRRRRRRRRRRQSʱJ1,)?;9)&')&&ŭJSQRRRRRRRRRRRRRRRRRRRRRRRQTE93+ /++)&')&'ŭJSQRRRRRRRRRRRRRRRRRRRRRRRRQTԺMz<`U4VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1VM1C<.$fdd)&')&'ŭJSQRRRRRRRRRRRRRRRRRRRRRRRRRQSUSRRRRRRRRRRRRRRRRRRRRRRRRRP>,)+)&'*&'ŭJSQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRVr: C?>)&'*&'ìJSQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQSG&#&)&&)&')%&˲LVQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOQV˲L)&&)&'(%',)'Cq9KC.A:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+@:+A:+KC.q9B,('(%')%'+('.*( # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #.*'+(')%')&'+'("WP>rŷ~Ŷ}Ŷ}Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ~Ŷ}Ŷ}ŷ~rWP>"+'()&',((!"XQ?XQ@!",((+(( !w֓ږږږږږږږږږږږږږږږږږږږږږږږږההההההږږږږږږږږږږږږږږږږږږږږږږږږ֓矹w !+(()&')&&ږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږ)&&)&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗܗܗۗܗܗjxX]]xXjܗܗۗܗܗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږݘۖۗږʻ  ʻږۗۖݘږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗٖٔܘؕ´|%"$72.zqSzqS72.%"$´|ؕܘٖٔܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗؕ韻y:6/}sTޙ̽ D?4D?4 ̽ޙ}sT:6/yؕܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕ韺x+'' {qRՑhTN>!#:5.ՒՒ:5.!#TN>hԑzqR +''xٕܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗٖ瞻y*&&MG9-)(!";6/""ogMߙߙogM# ":5/!"-)(MG9*&&yٖܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږȹ,((!g_Hj D>5c;ޘܗܗޘοcD?5 ig_I!,((ȹږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږ坸w !"vW瞭p_֓ߙۖޙޙۗߙ֓`p韀vW!" wږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗږ杙e""uVߙܗږҐҐږܗߙ~uV""fږܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗٖۗ졎_!$!#Փ֓aTM>;60;60TM>a֓Փ# #!_ٖۗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږۗؕ}sU`XDߙٕ˼D>4""""D>4˼ٕߘ_XD}tUؕۗږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗ̋/+)!!{ޙɊ83-B<3gɺɺgB<383-Ɋޙ坿{ !/+*̋ܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗۖᚏ`NG9[T@MG9!#KE8ޗٖkcKNH:ЎЎNH:kcKٖݗJD8!#MG9[T@NG9`ۖܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘؓ94-yXߙÆ,('%"$Ķ~֔ږږ֔Ķ~%"$,('Æߙ瞃yX94-ؓݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘ֒C>3# #`roӑۗ瞮qPJ;ߘږܗܗܗܗږߘPJ;qۗӑor`# #C>3֒ݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘגB=3 ʊؔ韢l`YEږܗܗܗܗږ`YElؔʊ B=3גݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗݘ֒B=3%"%ukP~\yXƈޘ坳tHB7ܖۗۗܗܗۗۗܖHB7tޘƈyX~\ukP%"%B=3֒ݘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗۗܘڔ<7/ riOݘˌ4/, rהٕٕהr 40,̌ݘriO <7/ڔܘۗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗږᚯrriOvWjaJ#!$B=4ؔږ瞀vW;60ĵ~ĵ~;60wWږؔC=4# $jaJvWriOrږܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗۗٔ84.qۖדOI;-)(wnQmmwnQ-)(PJ;ؔۖ蟯r83.ٔۗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗږٕՓ瞐`LF:דۗҐd\G  e]GҐۗדMG:_Փٕږܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗۖݘypR!'$%Çߚ֔ޘ㛷vwnR[TB\TBxoRwݘ֔ߙć($%!xoQݘۖܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗۗۗzpR$!#gؕؕ䜟h$!$zpRۗۗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗٕ瞮q# #_⛊]jbKοܗږږܗοiaJ\󥑆_# #qٕܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗۖȊ@;2OH:ȉyY,((ofMoЏޘޘЏoofM+('yYȉOH:@;2Ȋۖܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗږƈ=8173-$!$(%&VO?$!#VO>ޘޘVO>$!#WP?)%&$!$73-=81ƈږܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗٕƈ>91 eô}riN# $=80֓֓=80# $riNõ~杚f >91ƈٕܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗؕň\UBiؕ!C=3ݕݕC=3!ؕ韞i\UBňؕܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږږڕ{$!#2.+WP>WP>2.+$!#{ږږږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&')&')&&οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږٖږܗږ($$($$ږܗږٖږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&&)&')&')&'οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗߙõ}nqqnõ}ߙۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)&')&'(%&)%&οږܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗۗۗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗܗږο)%&(%&1..pٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕ֓ה֔֔֔֔הٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕٕ֓롫p1..pnnGB9ˋˋGB9pnn633?:4^llllllllllllllllllllllllllllllllllllllllllllllllllllll^?:4633<99  <99heec``daaca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`ca`daac``hee \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/active/04-rootfs.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/active/04-rootfs.ppm
new file mode 100644
index 00000000..26a12591
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/active/04-rootfs.ppm
Binary files differ
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/active/05-hdd.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/active/05-hdd.ppm
new file mode 100644
index 00000000..f51298ca
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/active/05-hdd.ppm
@@ -0,0 +1,8 @@
+P6
+64 64
+255
+856(%&)&')%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)%&)&'(%&856"'#$*'(*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*&'*'('#$"trrb``b``trrc`a  c`adbb b_`򆄅b_` dbbdab #  zxyzxy #  dabdab 744%"#GEEٰ|zztrrqop}{{GEE%"#744 dabdab 523΂HEE)&''$%EBCzxy523 dabdab ܐZXY%!"!*''412=:;A>@B?A>;<512*&'!" ROP dabdab hfg "2/0PNPsqtrqtPNP0-."\Z[ dabdab 2/0# 856kil}|igj412$!!)&' dabdab "+'(b`c|z}SQS856($%!+()][^(%%%"# dabdab %!"856nlo967 .+,=:;@>?^\^3/1'$$~|| dabdab %!"B?@@=?745a_a<9:'$$ dabdab %!"$ !A>?vtw*&'2/0omp;89&#$ dabdab DAB523pnq# LJL1./# 745 dabdab )&&{y}$!!!\Z\~}'$$wtu dabdab 0-.[Y[.+,YWYUSU"'$% dabdab 3/0LIKEBDkil/,-uss dabdab @=>a_a"*'(yx{WVYHFHHFHWVYyx{tsv746B?AZXZ2/0 dabdab +()JGI][]979979CAB;8:)&& dabdab HEG,)*"wvy# "!139J`|YxYxJ`|139!# "wux,)*0-.kikA>?lij dabdab SQQhfi'$&$CRhqqCRh$'$%fdfXVX_]_EBC dabdab 856truJHJ?K^y|gQjQjg|y?K^JHJyx{!-*+ dabdab (%&)%&>;<(%&(%&g~Z|(%%(%%Z|~g(%&)%&'$%"  dabdab 0-.746'#$xw{:BPyr/18!^]`^]`!/18ry:BPyx|zx|usvvuxvuxtru.*+ dabdab 412,)* nmqAPf~e# 857857# e~APfwvz|{~ 6341-/ dabdab 301geh][^srv>IZ{l)')($%($%)')l{>I[wvzOLNMJLNKMNLMIGIpnq0-. dabdab %"#-*+$./4p{I^z  I^z{p./4$+()  dabdab 2/0$ !:8:!Nf~vQl9AO9AOQlu~Nf!:8:$ !*&' dabdab JHHywzutw*&&Xx}yy}Xx*&%zy|_]`qpr>;< dabdab tqr]Z]USV(#!DUlbnnbEVm(#!TRTJGI 0-.hfiTRTa_` dabdab <9:\Z\# !$++0++0$# _]_ECD 968745 dabdab 2/0!POR423*&&*&&423PNQwux856%""{y|!*'( dabdab ropPNP,()QNPdbekikHFG_]^ dabdab $ !&#$HEGrqt)%& }|%"# dabdab mklECDZXZEBDc`c<9:><=ZXX dabdab 0,-geg)%&# WUW634kil^\^!'$% dabdab ($%}{~KHJ$!""gehvtw1-.vtw'$$ dabdab yww-*+# -)*!xvy\Z\fdf}{+'(fde dabdab ecc,)*yx{?<>%!"+()%!"sru*'(URS dabdab igh%""^\^tru +)*)'(+'(ZXZ%""ZWX dabdab >;<524%@Pf*)-3/0yx{:79xvv dabecc B?@$!#%7?L[} DBDqorA>@ 634 ecc^[\)&($_Xw 757fdgyx{xwzdbdIFH-*+/,-^\\%"#zxy:CQ}GZu% $!"MJK'#$mkk0-.$!"&! a~>J]rpr^[\OLMDABECCKII^\]zxy412hfgNKLFCD_^_CRh{u7>JOLMFCD744pnn,)+i{p./5&""|zz/,,"/+,KIKKa~{xj&#$6231./%!",()128pwzbJGI*'('#$JGH[YY:8: Tp|t|Xwb`bROPVSTjhh2/07=Guwu|Of
+}|~+'(trr,*+#\~{uu{EUk !# qoq>IYyvvvx;DS# !_\]967/,-'#$eytuws14=$ywxhef`]^a^_ #
+       $ .,/j}{yyn+*-($$
+                 
+
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/active/06-puzzle.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/active/06-puzzle.ppm
new file mode 100644
index 00000000..b1903ded
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/active/06-puzzle.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+C@@&"#*&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&'*&'&"#C@@&"#*&')&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&&*&'&"#*&')&&Үʨ̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩̩˨Эú/*)+**ıƲ)&&*&')&')&&Үܴ0+),++ϹҫƲ)&')&')&')&&ʨԮ0+)+*+ȳɼĽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŻ˥)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩Ԯ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ݵ0+)+*+ɴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ú1,*+**ɴʽžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩Ɲ}@<8'#$,()/.-ȴ˽žƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩qk\9:7RXRLQL,**'$%ɴʽžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩̌p-*)}˪ű[d\dofǾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩հ0,+!׿ǼŽͿǾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ͥIMH˼Ľžƾƽżļžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩͆l kwmѻþƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩͈m kwmѻþƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̨̩IMH˼Ľžƾƽżļžƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩ײ2., ׾ǼŽͿǾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩̐s-))}˪ű[d\fqhȾƾƾƾƾƾƾƾƾƾƾƽŻļļĻļžƾƾƾƾƾƾƾƽ̦)&')&')&')&&̩pj[9:8RXRLQL,**'$%ɴʽžƾƾƾƾƾƾƽż̼Ľžƾƾƾƾƾƽ̦)&')&')&')&&̩Śz>:6($%,()/.-ȴ˽žƾƾƾƾƾƽſФw|`kc`jctyϿȽžƾƾƾƾƽ̦)&')&')&')&&̩º1,*+**ɴʽžƾƾƾƾƽɼepg($&'#%cneɽžƾƾƾƽ̦)&')&')&')&&̩ܵ0+)+*+ɴ˽žƾƾƾƽƾǾOVP&"!BKYXlXlBKY'"!OVPǾǽƾƾƾƽ̦)&')&')&')&&̩Ԯ0+)+*+ɴ˽žƾƾƾƼrv.,.f팹e.,.twѼľƾƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƽɵҼ454"`y߄߄߄ߏ`y!565ӽȽžƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƼϔ 47>߆Ⅿ↰ㆰㅯ↰⃭47> ϼľƾƽ̦)&')&')&')&&̩կ0+)+*+ɴ˽žƾƾƼхCLZꅮᅯ↰↰ⅯⅮትCLZѼľƾƽ̦)&')&')&')&&˨Ԯ0+)+*+ȳɼĽŽŽŻϊ=DP煮ᅯⅯⅯⅯⅮᇳ=DPϻýŽż˦)&')&')&')&&Эڳ0+),*+͸Ъű*&'(%'vƋ섮ㆰㄮv(%&)&&İѪı)&')&')&')&&úܴԮկկկկկկկկկկկկկկկԮڳß/+)+**͸ȳɴɴɴɴȴιKQL@IW䆱䅯Ⅿ↱䆱@IXJPLθȴɴɴɴȳϺ)&')&')&')&'.+*/,*/,*/,*/,*/,*/,*/,*3/,($$}we}we($$3/,/,*/,*/,*/,*/,*/,*/,*/,*.+*)&')&'-+)-+*-+*-+*-+*-+*-+*-+).,+-*)*&'!EQc녮ᅮትEPb!*&'-*).,+-+)-+*-+*-+*-+*-+*,*))&')&')&')&'.(&.)&.(&.(&.(&.(&.(&/)'+((oiZoiZ+((/)'.(&.(&.(&.(&.(&.(&.(&.(')&')&'*(,*)-*(,*(,*(,*(,*(,*),*(,*)-,,0(%&HVi酮ᅮሴHVj(%',,0*)-*(,*),*(,*(,*(,*(,*)-*(+)&')&')&')&'Sע]Ϝ[ѝ[ѝ[Ϝ[ף^P'$%.+*ѬѬ.**($%Qע]Ϝ[ѝ[ѝ[ѝ[ϝ[ա]U/)&))-p}zzzzzzzzzzΆ䆱䅯Ⅿ↱䆰zzzzzzzzz}m)&')&&)&')&'ʚ[gdeediOYSIYSIPideeedgԠ]0)&)).}Ӌ숲戳爳爳爳爳爳爳爳爳熰ㅯ↰ㆰㅯ↰㈳爳爳爳爳爳爳爳燲挸y)&')&&)&')&'ƖYebccbgzL`ZO`ZO{MgbcccbdϜ[0)&))-zΈ愮ᅯᅯᅯᅯᅯᅯᅯᅯᅯ↰ㅯⅯ↰ㅯⅯᅯᅯᅯᅯᅯᅯᅯᄭv)&')&&)&')&'ƗYebccbfS!?;5?;5!SfbcccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccdާ`?6.|Ҝ|>5-ݧ`dccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccbgrG!-('ǧ-(' pFgbccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccdlU; UOE|h|hTOE kU:dccccccceН[0)&))-z͇僭߄↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccdcgB0+)2,)iDddccccccceН[0)&))-~Վ쇱䄭↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccgН[xKdBeBzLҟ\gccccccccceН[0)&**.kid|n܌Ⅿ↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccbeggggebccccccccbeН[2,(+()'$&!349[q膱䅯↰ㆯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccbbbbccccccccccceН[($%".)'UE6\J8=4- IUh熯ⅯⅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccx]>jS:̛Zdeߨ`qH+(+Wkㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccffecbcixK "-+.|Ј煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccbbbccbbdPB4c|ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccccccccbg|aBTe}߅↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccccccccbg|aBSd{߅↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccbbbccbbdPB5ayㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccccdefecbcixJ #,*,{ψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebccccccccccccccccccccccccccv\=iS9̚Zdeߨ`qH*(+Uhㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccbeН[($%".)'TE6[J8=4- IVi憰ㅯⅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[2,(+(('$%!45;\t醱䅯↰ㆯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)%**.jhc{n݌Ⅿ↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-~֏쇱䄭↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-z͇僭ބ↰ㅯ↰ㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ƗYebcccccccccccccccccccccccceН[0)&))-zψ煯ᆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㆰㅮትw)&')&&)&')&'ŖYebbbbbbbbbbbbbbbbbbbbbbbbbdϜ[0)&))-z͇愭ᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᅮᄭ߈v)&')&&)&')&'̛[geeeeeeeeeeeeeeeeeeeeeeeeeg֢]0)&)).}Ռ艵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鉵鈳茺z)&')&&*'()&'Q̛[ŖYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƗYƖYʚ[S/)&)),nyvwwwwwwwwwwwwwwwwwwwwwwwvzk)&'*''&"#*&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&'*&'&"#C@@&"#*'()&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&')&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&)&&*''&"#C@@ \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/inactive/01-nic.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/01-nic.ppm
new file mode 100644
index 00000000..d5c060d6
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/01-nic.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+iiioooooooooooooooooooooppp...///%%%###$$$$$$$$$$$$$$$$$$%%%>>><<<<<<WWW'''vvv999999졡)))ZZZ<<<<<<ߣ***ZZZ...///&&&$$$$$$$$$---&&&롡)))ZZZiiioooooonnnrrrRRR---졡)))YYY!!!졡)))ZZZ!!!젠+++RRR!!!쟟111999................................................................................................................................................//////KKK!!!쟟000???IIIHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIHHHIIIFFF<<<666!!!좢&&&kkk::::::!!!좢&&&nnn:::999!!!좢&&&nnnVVVddduuuPPP葑DDD:::999!!!좢&&&nnn...@@@UUU&&&xxx:::999!!!좢&&&nnnrrr⁁󄄄qqqmmm===AAApppGGG:::mmmPPP666aaavvvrrr:::999!!!좢&&&nnn,,,///###YYY''''''YYY$$$...%%%///...$$$---///%%%+++000''',,, :::999!!!좢&&&nnn***HHH///ppp666??????666...SSSlll(((:::999!!!좢&&&nnn:::***,,,qqq%%%%%%qqqԟ,,,```򌌌&&&hhh:::999!!!졡***XXX֖󦦦 )))444[[[ϐ邂000222 ZZZ:::999!!!쟟111666 $$$'''CCCҚ---\\\333,,,### ---$$$򄄄'''fff:::999!!!젠...DDDqqqiii:::EEEڧ***]]]@@@==={{{NNN///񅅅###}}}:::999!!!졡)))XXX666EEE(((%%%%%%%%%%%%%%%%%%%%%%%%'''---333[[[<<<BBBlll&&&񂂂000444^^^:::999!!!졡)))XXX666EEEcccpppnnnnnnnnnnnnnnnnnnooooooooogggpppggg///\\\>>>@@@aaa)))񃃃***WWWrrr:::999!!!졡)))XXX666EEE󷷷)))]]]:::333222111666,,,񅅅""":::999!!!졡)))XXX666EEE&&&;;;222[[[PPPJJJLLLLLLMMMCCC...===)))mmm:::999!!!졡)))XXX666EEE444EEEBBBBBBBBBCCC???NNNbbb333:::GGG111]]]酅---DDD===yyy:::999!!!졡)))XXX666EEE444EEEBBBBBBBBBCCC???NNNbbb333***]]]ᅅ""":::999!!!졡)))XXX666EEE,,,@@@LLLLLLKKKKKKKKKKKKKKKKKKKKKMMMEEE))):::999!!!졡)))XXX666EEE;;;666444555555333555555333444555444888...:::999!!!졡)))XXX666EEEcccpppnnnnnnnnnnnnkkkwwwbbb:::HHHWWW333sss''':::999!!!졡)))XXX666EEE(((%%%%%%%%%&&&!!!333JJJ,,,===SSS###vvv:::999!!!젠...DDDqqqiii:::EEE׼:::999!!!쟟111666 $$$'''CCC:::999!!!졡***XXX:::999!!!좢&&&nnn:::999!!!좢&&&nnn:::999!!!좢&&&nnn:::999!!!좢&&&nnn:::999!!!좢&&&nnn)))000***************,,,,,,HHHnnn(((PPPPPP(((mmm:::999!!!좢&&&nnn)))JJJ\\\YYYZZZYYYZZZXXX===777ttt### 333YYYYYY333 ###ttt:::999!!!좢&&&nnnFFF777sss!!!111XXXXXX111!!!sss:::999!!!좢&&&kkkGGG666ooo### 111UUUUUU111 ###ooo::::::!!!쟟000???IIIHHHHHHIIIIIIIIIIIIIIIHHHIIIEEE,,,CCC888GGGJJJ???:::CCCJJJCCC999@@@JJJFFF;;;===IIIIII===;;;FFFJJJ@@@999CCCJJJCCC:::???JJJFFF<<<666!!!쟟111999..............................111(((WWW+++000---000111///---///222000---...111111......111111...---000222///---///111000---//////KKK!!!젠+++RRR!!!졡)))ZZZ!!!졡)))YYY!!!졡)))ZZZ!!!韟)))ZZZ )))ZZZ)))eeettt000ZZZ}}}!!!---"""***'''RRRlllnnnpppooofff \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/inactive/02-bridge.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/02-bridge.ppm
new file mode 100644
index 00000000..79ec1cac
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/02-bridge.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+???999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::888KKK***222999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::888...888ZZZ(((jjj"""YYY+++YYY***YYY***YYY***YYY***YYY***餤YYY***###++++++,,, (((---###$$$---'''!!!,,,******,,,!!!'''---$$$###---(((!!!(((:::YYY***222JJJAAA;;;{{{RRR333jjjeee222XXXxxx999GGGGGG999xxxXXX222eeejjj333RRR|||999JJJYYY******\\\FFF666sss!!!111VVVVVV111!!!sss666FFFYYY******[[[FFF666rrr"""111UUUUUU111"""rrr666FFFYYY******\\\FFF666sss!!!000VVVVVV000!!!sss666FFFYYY******\\\FFF666sss!!!000VVVVVV000!!!sss666FFFYYY******\\\FFF777sss"""111VVVVVV111"""sss666FFFYYY******\\\FFF666rrr!!!000UUUUUU000!!!rrr666FFFYYY******\\\FFF777sss"""111VVVVVV111"""sss666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******]]]666FFFYYY******\\\666FFFYYY******]]]666FFFYYY***,,,XXX777GGGYYY***---888666666666666;;;222,,,<<<666666666777333DDDYYY***???HHHFFFFFFFFFFFF===000***BBBGGGFFFFFFGGGDDDSSSYYY***YYY+++YYY***[[[***YYY***ZZZ333VVV```___PPPSSS___```OOO+++YYY***RRR***---(((222###fff'''...(((111###YYY***{{{###nnn)))YYY***ooo$$$YYY***)))jjjTTT...YYY***'''*** YYY***ŕYYY***YYY***YYY***YYY***YYY***YYY***YYY***666FFFCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCEEE<<<aaaPPP@@@FFF;;;YYY***222CCC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAA999^^^LLL===BBB888YYY***YYY***ZZZ***WWW*** xxx%%%SSSEEE$$$NNN%%%'''nnn﫫 \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/inactive/03-config.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/03-config.ppm
new file mode 100644
index 00000000..76ee0d07
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/03-config.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+便tttooopppooooooooooooooooooooooooooooooooooooooooooooooooooopppnnnzzzKKK%%% """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!!!'''^^^FFF(((QQQBBB'''^^^{{{(((ZZZBBB(((AAA///---888999:::ppp'''WWW999:::CCC)))NNN999:::LLL&&& """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""")))???999:::𥥥vvvmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnVVV///$$$rrr999:::===+++999:::***QQQ999:::777999999::::::999888===ə```UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU___===888999<<<???"""&&&000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000&&&"""???<<<999999;;;///llllll///;;;999<<<000mmmmmm000<<<;;;222222;;;999::::::999999::::::999999:::000((((((000:::999999:::666IIIIII666:::999999:::OOO111XXXXXX111OOO:::999999:::>>>***)))hhh000NNNNNN000hhh)))***>>>:::999999:::===)))aaa>>>111NNN'''$$$444444$$$'''MMM111>>>aaa)))===:::999999:::???...{{{111&&&WWW䫫WWW&&&111{{{...???:::999999:::000000§000000:::999999:::222******222:::999999:::...555gggLLLLLLggg555///:::999999:::###tttYYY$$$###444444###$$$YYYsss###:::999999:::AAA222KKK%%%UUU߳UUU%%%KKK222AAA:::999999:::dddsssbbb000]]]###bbbbbb###]]]000bbbsssddd:::999999:::MMM((((((***$$$===777777===$$$***((((((MMM:::999999:::XXX444'''bbbbbb'''Ū444XXX:::999999:::VVV111"""pppppp"""111VVV:::999999:::WWW555)))[[[[[[)))癙555WWW:::999999:::QQQ$$$!!!###FFF//////FFF###!!!$$$QQQ:::999999:::Ć}}}333UUU###NNNNNN###UUU333}}}:::999999:::KKK+++ddd###>>>>>>###eee+++KKK:::999999:::&&&```zzz...""""""///{{{```&&&:::999999:::---:::Όpppppp:::---:::999999:::***555555***:::999999:::'''333~~~}}}333''':::999999:::TTT***ddd(((###======###(((ccc+++TTT:::999999:::QQQ&&&KKK444999kkk444"""&&&kkkkkk&&&"""555kkk999444KKK&&&QQQ:::999999:::RRR&&&000؇222RRRRRR222000&&&RRR:::999999:::qqq111WWWWWW111qqq:::999999:::555CCCnnnnnnCCC555:::999999:::;;;+++%%%%%%+++;;;:::999999:::ؿſ:::999888::::::888AAA//////AAA{{{(((ZZZZZZ((({{{FFF(((QQQQQQ(((FFFKKK%%% """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" %%%KKK便tttooopppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopppooottt \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/inactive/04-rootfs.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/04-rootfs.ppm
new file mode 100644
index 00000000..90fc27f2
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/04-rootfs.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+hhh;;;999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999;;;hhh333(((333;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;333(((333333...uuuuuu...333hhh(((vvvvvv(((hhh;;;333ِyyy333;;;999:::555###""""""111:::999999:::555111ooottt444///{{{ۀ{{{:::999999:::###oooyyy###ÚPPP ddd444444ddd :::999999:::yyy"""第%%%kkk777 \\\aaa000$$$+++rrrGGGGGGrrr+++$$$:::999999:::"""ttt~~~###QQQddd555555ddd:::999999:::111444xxx~~~777,,,zzzrrrwww􉉉wwwrrr:::999999:::///###%%%###,,,:::999;;;444ςkkk444;;;___(((~~~~~~(((___///000000///444222666AAABBBAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAABBBAAA666222444444222666AAABBBAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAABBBAAA666222444///000݀000///___(((~~~~~~(((___;;;444ςkkk444;;;999:::///###%%%###,,,:::999999:::111444yyy~~~777,,,zzzrrrwww􉉉wwwrrr:::999999:::"""ttt~~~###QQQddd555555ddd:::999999:::yyy"""第%%%kkk777 \\\aaa000$$$+++rrrGGGGGGrrr+++$$$:::999999:::###oooyyy###ÚPPP ccc444444ccc :::999999:::555111ooottt444///}}}܁}}}:::999999:::555###""""""111:::999===333ِyyy333===hhh'''vvvvvv'''hhh333///ssssss///333333333111777666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777111333333222222>>>HHHFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHHH>>>222222---222銊222---^^^((((((^^^:::555wwwaaattt555:::999:::+++$$$)))%%%(((:::999999:::...777:::***fff]]]bbbwwwwwwbbb]]]:::999999:::"""yyy###}}}RRReee777777eee:::999999:::yyy"""第%%%lll999 !!!]]]```000$$$+++rrrGGGGGGrrr+++$$$:::999999:::###jjjsss###ϧPPP ccc333333ccc :::999999:::999...fffkkk111222ƎΎ:::999999:::;;;### ###777:::999>>>222✜222>>>iii'''oooooo'''iii888---mmmmmm---888444###)))444444444444444444444444444444444444444444444444444444444444444444444555888777222222777888555444444444444444444444444444444444444444444444444444444444444444444444)))###444؁UUUGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHDDD888<<<PPPPPP<<<888DDDHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGUUU---QQQQQQ---,,,RRRRRR,,,,,,QQQQQQ,,,,,,RRRRRR,,,000EEElllmmmEEE000fff444,,,######,,,444fffRRR&&&>>>>>>&&&RRRaaa,,,MMMMMM,,,aaa///,,, """555333333555""" ,,,///<<<==={{{///ZZZYYY///{{{===<<<999:::"""pppppp""":::999<<<;;;Ñ***bbbbbb***ù;;;<<<///333)))&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&&&+++888999999888+++&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&&&)))333///{{{TTT[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]]]FFF---aaaaaa---FFF]]]ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[TTT{{{<<<)))UUU߳TTT)))<<<JJJ((()))999999***(((HHH덍OOO:::999MMM \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/inactive/05-hdd.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/05-hdd.ppm
new file mode 100644
index 00000000..24d95be6
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/05-hdd.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+GGG888:::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::888GGG222000888::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::888000222###rrrrrr###ooo""""""oooppp!!!rrrrrr!!!pppppp!!!666---""""""---666!!!pppppp!!!)))FFF555YYY໻YYY555FFF)))!!!pppppp!!!HHH((('''֐ZZZ<<<...(((&&&%%%%%%&&&(((...:::XXX'''(((HHH!!!pppppp!!!⛛kkk888)))''',,,999GGGUUU\\\]]]VVVHHH888---(((***555ccc!!!pppppp!!!xxx444***---EEEsssШsssBBB...---111mmm!!!pppppp!!!EEE---...NNNȸ⚚III//////<<<!!!pppppp!!!222000999󷷷yyyOOO777,,,"""===눈666333...!!!pppppp!!!---111NNNQQQ*** ,,,AAAWWW\\\GGG444---!!!pppppp!!!///111^^^\\\((('''NNNUUU333,,,!!!pppppp!!!888000\\\:::&&&GGGTTT333111!!!pppppp!!!VVV---KKK000,,,nnnEEE111JJJ!!!pppppp!!!,,,777222---444---!!!pppppp!!!DDD+++AAA***{{{...:::!!!pppppp!!!)))EEEnnn%%%ccc靝AAA+++!!!pppppp!!!RRR'''///;;;񲲲hhhhhhOOO___***EEE!!!pppppp!!!///;;;jjj$$$RRR)))"""&&&&&&""")))RRRaaa***(((TTT777...!!!pppppp!!!###eee===///111***JJJJJJ***111>>>DDD[[[&&&|||!!!pppppp!!!eee###Ͽ777///rrrrrr///666&&&WWW!!!pppppp!!!KKK,,,Īkkk&&&iiiiii&&&kkk,,,@@@!!!pppppp!!!:::888XXX888999888$$$$$$888999888555555!!!pppppp!!!222CCCOOO666&&&]]]GGG...pppppp...GGG]]]&&&>>>///!!!pppppp!!!---HHH>>>+++"""ooo222KKKKKK222ooo%%%"""$$$MMMCCC,,,!!!pppppp!!!000GGG$$$fff;;;999999;;;fff###rrrooopppqqqjjjBBB---!!!pppppp!!!777???000EEE&&&))))))&&&EEE000;;;111!!!pppppp!!!DDD222TTT)))ݑ[[[[[[)))TTT111<<<!!!pppppp!!!]]]&&&***:::젠:::)))׋'''QQQ!!!pppppp!!! |||'''666uuuεvvv666%%%zzzjjjDDDyyy###rrr!!!pppppp!!!(((SSS000$$$000@@@@@@000$$$000ddd+++'''RRRLLL'''!!!pppppp!!!EEE...uuuJJJ999999KKKuuuPPP!!!333---===!!!pppppp!!!"""rrr===uuu퓓ggg&&&ppp!!!pppppp!!!777444hhh999+++222222!!!pppppp!!!~~~$$$bbbddd&&&UUUXXX(((kkk!!!pppppp!!!CCC***999000LLL))),,,;;;!!!pppppp!!!,,,555lll222... DDD333,,,!!!pppppp!!!'''===000???---999)))www!!!pppppp!!!vvv&&&;;;ZZZ222<<<222888)))iii!!!pppppp!!!zzz(((111+++===:::<<<111)))lll!!!pppppp!!!000$$$XXXKKK111nnn===HHHQQQ)))...!!!pppqqq!!!TTT333000YYY)))bbb॥\\\,,,&&&JJJ!!!qqqjjj###===---(((NNNïggg>>>$$$$$$CCC###jjj***777&&&]]]{{{000000""")))------)))"""###666```888***xxx(((BBB777333ggg)))ppp___XXXYYY\\\pppFFF(((ttt[[[(((WWWqqq$$$pppVVV***```(((TTTFFF&&&///<<<EEE777'''???222@@@^^^&&&666GGGCCC000555===)))GGG沲+++\\\;;;777XXX&&&kkkNNN)))鞞###tttbbb'''cccuuu(((DDD&&&UUUꉉ ===)))***111@@@...sss!!!222,,,111444###ddd^^^(((,,,444kkk+++KKK@@@666KKK222www$$$lllmmm111333333@@@>>>777!!!BBB'''(((HHH"""pppnnn)))jjjTTT)))KKK{{{䧧111EEEXXX555FFF)))!!!pppppp!!!WWW***!!!%%%777RRRBBB""""""---666!!!pppppp!!!ŕfff@@@+++000uuurrr!!!pppooo""""""ooo###rrrrrr###222000888::::::::::::::::::::::::::::::::::::999888888:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::888000222GGG888:::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::888GGG \ No newline at end of file
diff --git a/core/modules/splashtool/data/opt/openslx/icons/out/inactive/06-puzzle.ppm b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/06-puzzle.ppm
new file mode 100644
index 00000000..cb49c345
--- /dev/null
+++ b/core/modules/splashtool/data/opt/openslx/icons/out/inactive/06-puzzle.ppm
@@ -0,0 +1,4 @@
+P6
+64 64
+255
+QQQ666:::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::666QQQ666::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::666::::::AAA???::::::999:::BBB@@@:::999999:::BBB@@@:::999999:::BBB@@@:::999999:::BBB@@@:::999999:::BBB@@@:::999999:::BBB@@@:::999999:::ԸBBB@@@:::999999:::SSS..."""###888<<<DDD:::999999:::'''(((QQQqqqjjj???)))999:::999999:::%%%>>>:::999999:::BBB///:::999999:::$$$eee:::999999::::::999999::::::999999:::$$$eee:::999999:::DDD...:::999999:::%%%===退:::999999:::&&&)))QQQqqqjjj???(((999:::999999:::QQQ..."""$$$999<<<DDDᦦ:::999999:::ԸBBB@@@999""""""888:::999999:::BBB@@@qqq$$$333iiiiii333$$$ppp:::999999:::BBB@@@&&&AAAAAA&&&:::999999:::BBB@@@KKK,,,+++MMM:::999999:::BBB@@@,,,OOOOOO---:::999999:::BBB@@@###jjjjjj###:::999999:::BBB@@@&&&``````&&&:::999999:::BBB@@@;;;888888;;;:::999999:::AAA???lll(((gggggg(((kkk:::999999999AAACCCBBBBBBBBBBBBBBBBBBFFF;;;;;;FFFBBBBBBBBBBBBBBBBBBBBBCCCAAA::::::@@@AAAAAAAAAAAAAAAAAA@@@BBB???:::***qqqppp***:::???BBB@@@AAAAAAAAAAAAAAA@@@999999999999===>>>>>>>>>>>>>>>>>>???;;;((((((;;;???>>>>>>>>>>>>>>>>>>>>>>>>::::::<<<=====================<<<===AAA888wwwwww999AAA===<<<==================<<<999999999:::777AAAAAA777???===ݿ999999999:::$$$jjjiii$$$@@@===999999999:::"""pppppp"""???===999999999:::---RRRRRR---???===999999999:::PPP)))***OOO???===999999999:::'''>>>>>>&&&???===999999999:::$$$///gggggg///%%%???===999999999:::@@@######BBB???===999999999:::괴???>>>999999999:::CCC<<<777%%%###...LLL999999999:::888)))???iiipppPPP***(((www999999999:::~~~==='''999999999:::///AAA999999999:::ddd%%%999999999:::999999999:::999999999:::ddd%%%999999999:::///???999999999:::}}}===&&&999999999:::888)))???iiipppPPP)))(((xxx999999999:::CCC<<<777$$$###...NNN999999999:::???>>>999999999:::???===999999999:::???===999999999:::???===999999999:::???===999999999:::???===999999999:::@@@===999999::::::???<<<ո999:::666::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::666QQQ666:::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::666QQQ \ No newline at end of file
diff --git a/core/rootfs/rootfs-stage31/data/inc/activate_sysconfig b/core/rootfs/rootfs-stage31/data/inc/activate_sysconfig
index c93d6e0d..61359374 100644
--- a/core/rootfs/rootfs-stage31/data/inc/activate_sysconfig
+++ b/core/rootfs/rootfs-stage31/data/inc/activate_sysconfig
@@ -47,6 +47,7 @@ SLX_PXE_SERVER_IP='$SERVERIP'
SLX_PXE_GATEWAY='$router'
SLX_PXE_DNS='$dns'
SLX_PXE_MAC='$MAC'
+SLX_SPLASH='$MUTED_OUTPUT'
HEREEND
return 0
}
diff --git a/core/rootfs/rootfs-stage31/data/inc/network.functions b/core/rootfs/rootfs-stage31/data/inc/network.functions
index a9edb5bc..00f27159 100644
--- a/core/rootfs/rootfs-stage31/data/inc/network.functions
+++ b/core/rootfs/rootfs-stage31/data/inc/network.functions
@@ -3,12 +3,18 @@
wait_for_iface() {
local DEVICE=$1
local TIMEOUT=10
- local state laststate current relax
+ local state laststate current relax img in
local want=
local ret=1 # error
[ -n "$2" ] && TIMEOUT="$2"
echo -n "Waiting ${TIMEOUT}s for interface $DEVICE: "
TIMEOUT="$(( TIMEOUT * 2 ))"
+ if [ "$DEVICE" = "br0" ]; then
+ img="??-bridge"
+ else
+ img="??-nic"
+ fi
+ showicon --icon "/opt/openslx/icons/inactive/${img}.ppm"
# Some systems don't have operstate. Seems to be hardware dependent
[ -e "/sys/class/net/${DEVICE}/operstate" ] || sleep 1
[ -e "/sys/class/net/${DEVICE}/operstate" ] && want="up"
@@ -40,6 +46,9 @@ wait_for_iface() {
# else
echo -n "."
usleep 500000
+ in=
+ [ "$(( current % 2 ))" = 0 ] && in="in"
+ showicon --icon "/opt/openslx/icons/${in}active/${img}.ppm" &
done
else
# we really don't have a operstate .. then just wait a sec and hope for the best.
@@ -47,6 +56,11 @@ wait_for_iface() {
echo -n "... no operstate or carrier, let's hope for the best..."
fi
echo
+ if [ "$ret" = 0 ]; then
+ showicon --icon "/opt/openslx/icons/active/${img}.ppm"
+ else
+ showicon --icon "/opt/openslx/icons/inactive/${img}.ppm"
+ fi
return "$ret"
}
true
diff --git a/core/rootfs/rootfs-stage31/data/init b/core/rootfs/rootfs-stage31/data/init
index 7e1bcf21..fa51cc5c 100755
--- a/core/rootfs/rootfs-stage31/data/init
+++ b/core/rootfs/rootfs-stage31/data/init
@@ -17,7 +17,7 @@
#############################################################################
# set PATH correctly
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/openslx/bin
# import common functions
. "/inc/functions"
@@ -94,47 +94,23 @@ modprobe -a -b $(cat /etc/modules) 2>/dev/null
# Load drm gfx drivers, if successful, check if splash screen should be shown, and do so
. "/inc/drm.functions"
SD_CMDLINE=
+showicon() {
+ :
+}
if [ "$SPLASH" -eq 1 ]; then
if setup_gfx; then
echo "1 1 0 1" > /proc/sys/kernel/printk
exec 4>&1 5>&2 > /dev/null 2>&1
- MUTED_OUTPUT=1
clear
echo -e "\033[?25l" >&4
- screen_size="$(fbset | awk '$1 ~ /geometry/ {print $2" "$3}')"
- screen_width="${screen_size%% *}"
- screen_height="${screen_size#* }"
- fbsplash_cfg="/etc/fbsplash.cfg"
- fbsplash_ppm="/etc/splash.ppm.gz"
- if [ -s "$fbsplash_ppm" ]; then
- ppm_size="$(zcat "$fbsplash_ppm" | sed -n 2p)"
+ if splashtool --center "/etc/splash.ppm" -b; then
+ MUTED_OUTPUT=1
+ showicon() {
+ splashtool "$@"
+ }
+ showicon --reset "/opt/openslx/icons"
else
- fbsplash_ppm="/etc/splash.ppm"
- if [ -s "$fbsplash_ppm" ]; then
- ppm_size="$(sed -n 2p "$fbsplash_ppm")"
- else
- echo "Splash screen requested, but not found in initramfs..." >&4
- MUTED_OUTPUT=
- fi
- fi
- ppm_width="${ppm_size%% *}"
- ppm_height="${ppm_size#* }"
- ppm_height="${ppm_height%% *}" # make sure nothing weird is trailing
- img_left="$(( ( screen_width - ppm_width ) / 2 ))"
- img_top="$(( ( screen_height - ppm_height ) / 2 ))"
- # just checking if nothing too weird is set
- if [ -n "$img_left" ] && [ -n "$img_top" ] \
- && [ "$img_left" -ge 0 ] && [ "$img_left" -lt 8096 ] \
- && [ "$img_top" -ge 0 ] && [ "$img_top" -lt 8096 ]; then
- printf "IMG_TOP=%d\nIMG_LEFT=%d\n" \
- "$img_top" "$img_left" \
- > "$fbsplash_cfg"
- fbsplash -b -i "$fbsplash_cfg" -s "$fbsplash_ppm" || MUTED_OUTPUT=
- else
- # otherwise just use top left and be done with it
- fbsplash -b -s "$fbsplash_ppm" || MUTED_OUTPUT=
- fi
- if [ -z "$MUTED_OUTPUT" ]; then
+ MUTED_OUTPUT=
exec 1>&4 2>&5
fi
fi
@@ -163,6 +139,7 @@ bench_event "NETWORK" "Network up and running"
. "/inc/activate_sysconfig" || drop_shell "Could not source /inc/activate_sysconfig"
bench_event "CONFIG" "Downloaded config"
+showicon --icon "/opt/openslx/icons/active/??-config.ppm"
# From here on, we have all the vars from /opt/openslx/config
# Sync time via NTP
@@ -172,6 +149,7 @@ bench_event "CONFIG" "Downloaded config"
. "/inc/setup_stage32" || drop_shell "Problem setting up stage3.2"
bench_event "STAGE32" "Downloaded stage 3.2"
+showicon --icon "/opt/openslx/icons/active/??-rootfs.ppm"
# copy files needed for stage3.2 to FUTURE_ROOT
echo "Copying busybox etc. to stage32..."
@@ -197,9 +175,7 @@ fi
# Exam mode
if [ -n "$SLX_EXAM" ]; then
# Visual: Move splash screen to upper left corner
- if [ -s "$fbsplash_ppm" ]; then
- fbsplash -b -s "$fbsplash_ppm" &
- fi
+ showicon --tl "/etc/splash.ppm"
fi
# Merge freshly generated config to stage32
@@ -224,8 +200,12 @@ bench_event "PRESWITCH" "Switching to stage 3.2"
for mnt in run tmp; do
busybox umount -f -l "/$mnt" 2>/dev/null
done
-mkdir -p /mnt/dev
-busybox mount -o move /dev /mnt/dev
+mkdir -p "${FUTURE_ROOT}/dev"
+busybox mount -o move /dev "${FUTURE_ROOT}/dev"
+
+# Copy splashtool and icons
+cp /opt/openslx/bin/splashtool "${FUTURE_ROOT}/opt/openslx/bin/"
+cp -r /opt/openslx/icons "${FUTURE_ROOT}/opt/openslx/"
echo "Waiting for async processes..."
wait
diff --git a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons
index 0fed8342..73e0efb1 100755
--- a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons
+++ b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-download_slx_addons
@@ -38,10 +38,18 @@ mkdir -p "$DOWNLOAD_DEST" || { echo "Failed to create $DOWNLOAD_DEST"; exit 1; }
# DOWNLOAD ALL ADDONS
#
if [ $# -eq 0 ]; then
- [ -z "${SLX_ADDONS}" ] && { echo "No addons configured. Nothing to do :-)."; exit 0; }
- for ADDON in ${SLX_ADDONS}; do
- systemctl --no-block start "download-slx-addon@$ADDON.service"
- done
+ if [ -z "${SLX_ADDONS}" ]; then
+ echo "No addons configured. Nothing to do :-)."
+ else
+ for ADDON in ${SLX_ADDONS}; do
+ # Use bg not --no-block so we can wait below
+ systemctl start "download-slx-addon@$ADDON.service" &
+ done
+ echo "Waiting for addon downloads to finish"
+ wait
+ fi
+ [ -n "$SLX_SPLASH" ] && splashtool --icon "/opt/openslx/icons/active/??-puzzle.ppm"
+ exit 0
fi
##
# DOWNLOAD SINGLE ADDON
diff --git a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_partitions b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_partitions
index 097c7fcc..fcf41149 100755
--- a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_partitions
+++ b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_partitions
@@ -347,5 +347,6 @@ if [ "$HAVE_SWAP" = "no" ]; then
fi
fi
+[ -n "$SLX_SPLASH" ] && splashtool --icon "/opt/openslx/icons/active/??-hdd.ppm"
exit 0
diff --git a/core/targets/stage31/splashtool b/core/targets/stage31/splashtool
new file mode 120000
index 00000000..c4709bdc
--- /dev/null
+++ b/core/targets/stage31/splashtool
@@ -0,0 +1 @@
+../../modules/splashtool \ No newline at end of file