diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..28cd24c
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "vscodeGoogleTranslate.preferredLanguage": "English"
+}
\ No newline at end of file
diff --git a/autorepack b/autorepack
new file mode 100755
index 0000000..b51a800
--- /dev/null
+++ b/autorepack
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+set -e # exit on error
+set -o pipefail # exit on pipeline error
+set -u # treat unset variable as error
+
+SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
+PARENT_DIR="$(dirname "$SCRIPT_DIR")"
+ISO_DIR="$(dirname "$SCRIPT_DIR")"/iso
+
+set +u
+if [ -z $OUTPUT ]; then
+ . $SCRIPT_DIR/linux-live/buildconfig || exit 1
+fi
+set -u
+. $SCRIPT_DIR/linux-live/minioslib || exit 1
+. $SCRIPT_DIR/linux-live/config || exit 1
+
+# don't change! use ./install instead
+UNATTENDED="1"
+
+CMD=(repack_modules build_iso)
+
+# ============= main ================
+
+BUILD_DIR=""
+
+common_variables
+
+if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
+ new_run
+fi
+
+console_colours
+
+allow_root_only
+
+create_livekitname_install_symlink
+
+create_completion
+
+create_backup
+
+# check number of args
+if [[ $# == 0 || $# > 3 ]]; then help; fi
+
+# loop through args
+dash_flag=false
+start_index=0
+end_index=${#CMD[*]}
+for ii in "$@"; do
+ if [[ $ii == "-" ]]; then
+ dash_flag=true
+ continue
+ fi
+ find_index $ii
+ if [[ $dash_flag == false ]]; then
+ start_index=$index
+ else
+ end_index=$(($index + 1))
+ fi
+done
+if [[ $dash_flag == false ]]; then
+ end_index=$(($start_index + 1))
+fi
+
+#loop through the commands
+for ((ii = $start_index; ii < $end_index; ii++)); do
+ setup_build_dir
+ ${CMD[ii]}
+done
+
+echo -e "${BOLD}${LIGHTYELLOW}$0${ENDCOLOUR} - ${LIGHTGREEN}Command completed successfully!${ENDCOLOUR}"
diff --git a/linux-live/aptsources/bullseye.list b/linux-live/aptsources/bullseye.list
index f7232e8..f645738 100644
--- a/linux-live/aptsources/bullseye.list
+++ b/linux-live/aptsources/bullseye.list
@@ -1,5 +1,5 @@
-deb http://deb.debian.org/debian/ bullseye main
-deb-src http://deb.debian.org/debian/ bullseye main
+deb http://deb.debian.org/debian/ bullseye main contrib non-free
+deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
-deb http://security.debian.org/debian-security bullseye-security main
-deb-src http://security.debian.org/debian-security bullseye-security main
+deb http://security.debian.org/debian-security bullseye-security main contrib non-free
+deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
diff --git a/linux-live/basesystem/01-core/install b/linux-live/basesystem/01-core/install
index 76c6068..cd7177c 100644
--- a/linux-live/basesystem/01-core/install
+++ b/linux-live/basesystem/01-core/install
@@ -10,10 +10,10 @@ $APT_CMD update >>$OUTPUT 2>&1 &&
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 linux-image-$KERNEL_ARCH >>$OUTPUT 2>&1
# install packages
-if [ -f $SCRIPT_DIR/package.list ]; then
+if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
- $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
-fi
+ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
+fi
\ No newline at end of file
diff --git a/linux-live/basesystem/01-core/minimal.list b/linux-live/basesystem/01-core/minimal.list
new file mode 100644
index 0000000..13beb1b
--- /dev/null
+++ b/linux-live/basesystem/01-core/minimal.list
@@ -0,0 +1,41 @@
+mc
+squashfs-tools
+genisoimage
+zip
+unzip
+psmisc
+net-tools
+alsa-utils
+man
+less
+xz-utils
+ca-certificates
+openssl
+acpid
+acpi-support-base
+powermgmt-base
+bzip2
+gpart
+hdparm
+sdparm
+mdadm
+smartmontools
+dosfstools
+lsof
+htop
+gddrescue
+rsync
+netcat
+ssh
+gpm
+wireless-tools
+ntfs-3g
+rfkill
+file
+dnsmasq
+ntpdate
+dvd+rw-tools
+usb-modeswitch
+pm-utils
+wget
+gnupg
\ No newline at end of file
diff --git a/linux-live/basesystem/01-core/postinstall b/linux-live/basesystem/01-core/postinstall
index adb76a5..941dd1c 100644
--- a/linux-live/basesystem/01-core/postinstall
+++ b/linux-live/basesystem/01-core/postinstall
@@ -1,10 +1,15 @@
#!/bin/bash
-apt-get remove --yes vim* grub* debconf-i18n installation-report >>$OUTPUT 2>&1
+apt-get remove --yes vim* grub* debconf-i18n installation-report >>$OUTPUT 2>&1
cd /tmp
apt -y update >>$OUTPUT 2>&1
apt-get download acpi-support >>$OUTPUT 2>&1
dpkg -x acpi-support*.deb /tmp/acpisupport >>$OUTPUT 2>&1
+if [ -L "/lib" ]; then
+ mkdir -p /tmp/acpisupport/usr/lib
+ (cd /tmp/acpisupport/lib && cp --parents -afr * /tmp/acpisupport/usr/lib)
+ rm -rf /tmp/acpisupport/lib
+fi
cd /tmp/acpisupport
-cp -aR * / >>$OUTPUT 2>&1
\ No newline at end of file
+cp -aR * / >>$OUTPUT 2>&1
diff --git a/linux-live/basesystem/01-core/rootcopy/etc/issue b/linux-live/basesystem/01-core/rootcopy/etc/issue
index 05598ec..7eb4851 100644
--- a/linux-live/basesystem/01-core/rootcopy/etc/issue
+++ b/linux-live/basesystem/01-core/rootcopy/etc/issue
@@ -7,7 +7,7 @@
Thank you for using MiniOS.
- Based on Debian GNU/Linux 10.
+ Based on Debian GNU/Linux.
:::: :::: ::::::::::: :::: ::: ::::::::::: :::::::: ::::::::
+:+:+: :+:+:+ :+: :+:+: :+: :+: :+: :+: :+: :+:
diff --git a/linux-live/basesystem/01-core/rootcopy/etc/skel/.bashrc b/linux-live/basesystem/01-core/rootcopy/etc/skel/.bashrc
new file mode 100644
index 0000000..b0879e6
--- /dev/null
+++ b/linux-live/basesystem/01-core/rootcopy/etc/skel/.bashrc
@@ -0,0 +1,140 @@
+# ~/.bashrc: executed by bash(1) for non-login shells.
+# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
+# for examples
+
+# If not running interactively, don't do anything
+case $- in
+ *i*) ;;
+ *) return;;
+esac
+
+# don't put duplicate lines or lines starting with space in the history.
+# See bash(1) for more options
+HISTCONTROL=ignoreboth
+
+# append to the history file, don't overwrite it
+shopt -s histappend
+
+# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
+HISTSIZE=1000
+HISTFILESIZE=2000
+
+# check the window size after each command and, if necessary,
+# update the values of LINES and COLUMNS.
+shopt -s checkwinsize
+
+# If set, the pattern "**" used in a pathname expansion context will
+# match all files and zero or more directories and subdirectories.
+#shopt -s globstar
+
+# make less more friendly for non-text input files, see lesspipe(1)
+[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
+
+# set variable identifying the chroot you work in (used in the prompt below)
+if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
+ debian_chroot=$(cat /etc/debian_chroot)
+fi
+
+# set a fancy prompt (non-color, unless we know we "want" color)
+case "$TERM" in
+ xterm-color|*-256color) color_prompt=yes;;
+esac
+
+# uncomment for a colored prompt, if the terminal has the capability; turned
+# off by default to not distract the user: the focus in a terminal window
+# should be on the output of commands, not on the prompt
+#force_color_prompt=yes
+
+if [ -n "$force_color_prompt" ]; then
+ if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
+ # We have color support; assume it's compliant with Ecma-48
+ # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
+ # a case would tend to support setf rather than setaf.)
+ color_prompt=yes
+ else
+ color_prompt=
+ fi
+fi
+
+if [ "$color_prompt" = yes ]; then
+ PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
+else
+ PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
+fi
+unset color_prompt force_color_prompt
+
+# If this is an xterm set the title to user@host:dir
+case "$TERM" in
+xterm*|rxvt*)
+ PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
+ ;;
+*)
+ ;;
+esac
+
+# enable color support of ls and also add handy aliases
+if [ -x /usr/bin/dircolors ]; then
+ test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
+ alias ls='ls --color=auto'
+ #alias dir='dir --color=auto'
+ #alias vdir='vdir --color=auto'
+
+ alias grep='grep --color=auto'
+ alias fgrep='fgrep --color=auto'
+ alias egrep='egrep --color=auto'
+fi
+
+# colored GCC warnings and errors
+#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
+
+# some more ls aliases
+alias ll='ls -alF'
+alias la='ls -A'
+alias l='ls -CF'
+
+# Add an "alert" alias for long running commands. Use like so:
+# sleep 10; alert
+alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
+
+# Alias definitions.
+# You may want to put all your additions into a separate file like
+# ~/.bash_aliases, instead of adding them here directly.
+# See /usr/share/doc/bash-doc/examples in the bash-doc package.
+
+if [ -f ~/.bash_aliases ]; then
+ . ~/.bash_aliases
+fi
+
+# enable programmable completion features (you don't need to enable
+# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
+# sources /etc/bash.bashrc).
+if ! shopt -oq posix; then
+ if [ -f /usr/share/bash-completion/bash_completion ]; then
+ . /usr/share/bash-completion/bash_completion
+ elif [ -f /etc/bash_completion ]; then
+ . /etc/bash_completion
+ fi
+fi
+
+apt-get()
+{
+ if [ -e /var/cache/apt/pkgcache.bin ]; then
+ /usr/bin/apt-get "$@"
+ else
+ /usr/bin/apt-get update
+ /usr/bin/apt-get "$@"
+ fi
+}
+
+apt()
+{
+ if [ -e /var/cache/apt/pkgcache.bin ]; then
+ /usr/bin/apt "$@"
+ else
+ /usr/bin/apt update
+ /usr/bin/apt "$@"
+ fi
+}
+
+export -f apt-get
+export -f apt
\ No newline at end of file
diff --git a/linux-live/basesystem/01-core/rootcopy/etc/systemd/system/multi-user.target.wants/dhclient.service b/linux-live/basesystem/01-core/rootcopy/etc/systemd/system/multi-user.target.wants/dhclient.service
deleted file mode 120000
index 160b857..0000000
--- a/linux-live/basesystem/01-core/rootcopy/etc/systemd/system/multi-user.target.wants/dhclient.service
+++ /dev/null
@@ -1 +0,0 @@
-/lib/systemd/system/dhclient.service
\ No newline at end of file
diff --git a/linux-live/basesystem/01-core/rootcopy/usr/bin/dir2sb b/linux-live/basesystem/01-core/rootcopy/usr/bin/dir2sb
index 3ddd64d..a702709 100755
--- a/linux-live/basesystem/01-core/rootcopy/usr/bin/dir2sb
+++ b/linux-live/basesystem/01-core/rootcopy/usr/bin/dir2sb
@@ -1,8 +1,12 @@
#!/bin/bash
# Author: Tomas M.
+# Author: crims0n
-usage()
-{
+if [ -f /run/initramfs/lib/config ]; then
+ . /run/initramfs/lib/config || exit 1
+fi
+
+usage() {
echo ""
echo "Convert directory to .sb compressed module"
echo "Usage: $0 [source_directory.sb] [[target_file.sb]]"
@@ -40,11 +44,14 @@ if [ ! -d "$P1" ]; then
exit 2
fi
-
if [ "$P2" = "" ]; then
TARGET="$P1".sb
while [ -e "$TARGET" ]; do TARGET="$TARGET"x; done
- mksquashfs "$P1" "$TARGET" -comp xz -b 1024K -always-use-fragments $KEEP >/dev/null || exit 3
+ if [ $COMP_TYPE = "zstd" ]; then
+ mksquashfs "$P1" "$TARGET" -comp $COMP_TYPE -Xcompression-level 22 -b 1024K -always-use-fragments $KEEP >/dev/null || exit 3
+ else
+ mksquashfs "$P1" "$TARGET" -comp $COMP_TYPE -b 1024K -always-use-fragments $KEEP >/dev/null || exit 3
+ fi
umount "$P1" 2>/dev/null
rm -Rf "$P1"
mv "$TARGET" "$P1"
@@ -54,5 +61,9 @@ else
exit 4
fi
- mksquashfs "$P1" "$P2" -comp xz -b 1024K -always-use-fragments $KEEP >/dev/null
+ if [ $COMP_TYPE = "zstd" ]; then
+ mksquashfs "$P1" "$P2" -comp $COMP_TYPE -Xcompression-level 22 -b 1024K -always-use-fragments $KEEP
+ else
+ mksquashfs "$P1" "$P2" -comp $COMP_TYPE -b 1024K -always-use-fragments $KEEP >/dev/null
+ fi
fi
diff --git a/linux-live/basesystem/01-core/rootcopy/usr/bin/savechanges b/linux-live/basesystem/01-core/rootcopy/usr/bin/savechanges
index 48e9c9e..7c64e42 100755
--- a/linux-live/basesystem/01-core/rootcopy/usr/bin/savechanges
+++ b/linux-live/basesystem/01-core/rootcopy/usr/bin/savechanges
@@ -1,4 +1,10 @@
#!/bin/bash
+# Author: Tomas M.
+# Author: crims0n
+
+if [ -f /run/initramfs/lib/config ]; then
+ . /run/initramfs/lib/config || exit 1
+fi
TMP=/tmp/changes$$
EXCLUDE="^\$|/\$|[.]wh[.][.]wh[.]orph/|^[.]wh[.][.]wh[.]plnk/|^[.]wh[.][.]wh[.]aufs|^var/cache/|^var/backups/|^var/tmp/|^var/log/|^var/lib/apt/|^var/lib/dhcp/|^var/lib/systemd/|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^root/[.]Xauthority|^root/[.]xsession-errors|^root/[.]fehbg|^root/[.]fluxbox/lastwallpaper|^root/[.]fluxbox/menu_resolution|^etc/mtab|^etc/fstab|^boot/|^dev/|^mnt/|^proc/|^run/|^sys/|^tmp/"
@@ -32,15 +38,15 @@ cd $CHANGES || exit
mkdir -p $TMP
mount -t tmpfs tmpfs $TMP
-find \( -type d -printf "%p/\n" , -not -type d -print \) \
- | sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" \
- | while read FILE; do
- cp --parents -afr "$FILE" "$TMP"
-done
+find \( -type d -printf "%p/\n" , -not -type d -print \) |
+ sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" |
+ while read FILE; do
+ cp --parents -afr "$FILE" "$TMP"
+ done
cd $CWD
-mksquashfs $TMP "$1" -comp xz -b 1024K -always-use-fragments -noappend
+mksquashfs $TMP "$1" -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend
umount $TMP
rmdir $TMP
diff --git a/linux-live/basesystem/01-core/rootcopy/usr/bin/sudo b/linux-live/basesystem/01-core/rootcopy/usr/bin/sudo
deleted file mode 100755
index aaff119..0000000
--- a/linux-live/basesystem/01-core/rootcopy/usr/bin/sudo
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-if [ "$#" -lt 1 ]; then
- echo "Usage: sudo [command] [arguments]"
- exit 1
-fi
-
-if [ "$UID" = 0 ]; then
- exec "$@"
-fi
-
-echo "Sudo is not installed. Run the command as root or install sudo."
diff --git a/linux-live/basesystem/01-core/package.list b/linux-live/basesystem/01-core/standard.list
similarity index 75%
rename from linux-live/basesystem/01-core/package.list
rename to linux-live/basesystem/01-core/standard.list
index 13a3146..3510b05 100644
--- a/linux-live/basesystem/01-core/package.list
+++ b/linux-live/basesystem/01-core/standard.list
@@ -1,9 +1,3 @@
-#sudo
-#linux-image-amd64
-#libterm-readline-gnu-perl
-#systemd-sysv
-#dbus
-#debconf-utils
mc
bash-completion
squashfs-tools
@@ -45,8 +39,8 @@ dvd+rw-tools
usb-modeswitch
pm-utils
wget
-curl
gnupg
openssh-server
-#open-vm-tools
-network-manager
\ No newline at end of file
+network-manager
+lz4
+zstd
\ No newline at end of file
diff --git a/linux-live/bootfiles/boot/EFI/Boot/bootia32.efi b/linux-live/bootfiles/boot/EFI/Boot/bootia32.efi
new file mode 100644
index 0000000..a66b3b6
Binary files /dev/null and b/linux-live/bootfiles/boot/EFI/Boot/bootia32.efi differ
diff --git a/linux-live/buildconfig b/linux-live/buildconfig
index e14eb6b..0081111 100644
--- a/linux-live/buildconfig
+++ b/linux-live/buildconfig
@@ -1,5 +1,24 @@
#!/bin/bash
+#
+DISTRIBUTION_TYPE="debian"
+
+#
+DISTRIBUTION="bullseye"
+
+#
+DISTRIBUTION_ARCH="amd64"
+
+# Used when building Ubuntu
+DISTRIBUTION_VARIANT="minbase"
+
+#
+DISTRIBUTION_URL="http://ftp.ru.debian.org/debian/"
+
+#
+PACKAGE_VARIANT="minimal"
+
+#
LOGPATH="/var/log"
# default is output to log. you can use OUTPUT="/dev/stdout" if you want to route events to standard output.
@@ -41,3 +60,9 @@ UNION_BUILD_TYPE="overlayfs"
#UNION_BUILD_TYPE="aufs"
INSTALL_OPTIONAL="1"
+
+# Used when assigned to the ISO name when building Minios-Live
+SYSTEMNAME="MiniOS"
+
+#
+SYSTEMVER="2021"
diff --git a/linux-live/config b/linux-live/config
index bc93df1..8e8d6e7 100644
--- a/linux-live/config
+++ b/linux-live/config
@@ -15,26 +15,7 @@
LIVEKITNAME="minios"
#
-SYSTEMNAME="MiniOS"
-
-#
-SYSTEMVER="2021"
-
-#
-DISTRIBUTION="buster"
-
-#
-DISTRIBUTION_ARCH="amd64"
-
-#
-DISTRIBUTION_VARIANT="minbase"
-#DISTRIBUTION_VARIANT=""
-
-#
-DISTRIBUTION_URL="http://ftp.ru.debian.org/debian/"
-
-#
-COMP_TYPE="xz"
+COMP_TYPE="lz4"
# Kernel file, will be copied to your Live Kit
# Your kernel must support aufs and squashfs. Debian Jessie's kernel is ready
diff --git a/linux-live/livekitlib b/linux-live/livekitlib
index 7d5a7e2..2c4aba7 100644
--- a/linux-live/livekitlib
+++ b/linux-live/livekitlib
@@ -8,8 +8,7 @@
# debug and output functions
# =================================================================
-debug_start()
-{
+debug_start() {
if grep -q debug /proc/cmdline; then
DEBUG_IS_ENABLED=1
set -x
@@ -18,8 +17,7 @@ debug_start()
fi
}
-debug_log()
-{
+debug_log() {
if [ "$DEBUG_IS_ENABLED" ]; then
echo "- debug: $*" >&2
log "- debug: $*"
@@ -29,35 +27,28 @@ debug_log()
# header
# $1 = text to show
#
-header()
-{
+header() {
echo "[0;1m""$@""[0;0m"
}
-
# echo green star
#
-echo_green_star()
-{
+echo_green_star() {
echo -ne "[0;32m""* ""[0;39m"
}
# log - store given text in /var/log/livedbg
-log()
-{
+log() {
echo "$@" 2>/dev/null >>/var/log/livedbg
}
-echolog()
-{
+echolog() {
echo "$@"
log "$@"
}
-
# show information about the debug shell
-show_debug_banner()
-{
+show_debug_banner() {
echo
echo "====="
echo ": Debugging started. Here is the root shell for you."
@@ -65,12 +56,10 @@ show_debug_banner()
echo
}
-
# debug_shell
# executed when debug boot parameter is present
#
-debug_shell()
-{
+debug_shell() {
if [ "$DEBUG_IS_ENABLED" ]; then
show_debug_banner
setsid sh -c 'exec sh < /dev/tty1 >/dev/tty1 2>&1'
@@ -78,8 +67,7 @@ debug_shell()
fi
}
-fatal()
-{
+fatal() {
echolog
header "Fatal error occured - $1"
echolog "Something went wrong and we can't continue. This should never happen."
@@ -88,46 +76,39 @@ fatal()
setsid sh -c 'exec sh < /dev/tty1 >/dev/tty1 2>&1'
}
-
# get value of commandline parameter $1
# $1 = parameter to search for
#
-cmdline_value()
-{
+cmdline_value() {
cat /proc/cmdline | egrep -o "(^|[[:space:]])$1=[^[:space:]]+" | tr -d " " | cut -d "=" -f 2- | tail -n 1
}
-
# test if the script is started by root user. If not, exit
#
-allow_only_root()
-{
- if [ "0$UID" -ne 0 ]; then
- echo "Only root can run $(basename $0)"; exit 1
- fi
+allow_only_root() {
+ if [ "0$UID" -ne 0 ]; then
+ echo "Only root can run $(basename $0)"
+ exit 1
+ fi
}
-
# Create bundle
# call mksquashfs with apropriate arguments
# $1 = directory which will be compressed to squashfs bundle
# $2 = output file
# $3..$9 = optional arguments like -keep-as-directory or -b 123456789
#
-create_bundle()
-{
+create_bundle() {
debug_log "create_module" "$*"
rm -f "$2" # overwrite, never append to existing file
- mksquashfs "$1" "$2" -comp xz -b 1024K -always-use-fragments $3 $4 $5 $6 $7 $8 $9>/dev/null
+ mksquashfs "$1" "$2" -comp xz -b 1024K -always-use-fragments $3 $4 $5 $6 $7 $8 $9 >/dev/null
}
-
# Move entire initramfs tree to tmpfs mount.
# It's a bit tricky but is necessray to enable pivot_root
# even for initramfs boot image
#
-transfer_initramfs()
-{
+transfer_initramfs() {
if [ ! -r /lib/initramfs_escaped ]; then
echo "switch root from initramfs to ramfs"
SWITCH=/m # one letter directory
@@ -135,16 +116,14 @@ transfer_initramfs()
mount -t tmpfs -o size="100%" tmpfs $SWITCH
cp -a /??* $SWITCH 2>/dev/null # only copy two-and-more-letter directories
cd $SWITCH
- echo "This file indicates that we successfully escaped initramfs" > $SWITCH/lib/initramfs_escaped
+ echo "This file indicates that we successfully escaped initramfs" >$SWITCH/lib/initramfs_escaped
exec switch_root -c /dev/console . $0
fi
}
-
# mount virtual filesystems like proc etc
#
-init_proc_sysfs()
-{
+init_proc_sysfs() {
debug_log "init_proc_sysfs" "$*"
mkdir -p /proc /sys /etc $MEMORY
mount -n -t proc proc /proc
@@ -154,13 +133,11 @@ init_proc_sysfs()
ln -sf /proc/mounts /etc/mtab
}
-
# modprobe all modules found in initial ramdisk
# $1 = -e for match, -v for negative match
# $2 = regex pattern
#
-modprobe_everything()
-{
+modprobe_everything() {
debug_log "modprobe_everything" "$*"
echo_green_star >&2
@@ -170,20 +147,16 @@ modprobe_everything()
refresh_devs
}
-
-refresh_devs()
-{
+refresh_devs() {
debug_log "refresh_devs" "$*"
if [ -r /proc/sys/kernel/hotplug ]; then
- echo /sbin/mdev > /proc/sys/kernel/hotplug
+ echo /sbin/mdev >/proc/sys/kernel/hotplug
fi
mdev -s
}
-
# make sure some devices are there
-init_devs()
-{
+init_devs() {
debug_log "init_devs" "$*"
modprobe zram 2>/dev/null
modprobe loop 2>/dev/null
@@ -192,36 +165,30 @@ init_devs()
refresh_devs
}
-
# Activate zram (auto-compression of RAM)
# Compressed RAM consumes 1/2 or even 1/4 of original size
# Setup static size of 500MB
#
-init_zram()
-{
+init_zram() {
debug_log "init_zram" "$*"
echo_green_star
echo "Setting dynamic RAM compression using ZRAM if available"
if [ -r /sys/block/zram0/disksize ]; then
- echo 536870912 > /sys/block/zram0/disksize # 512MB
+ echo 536870912 >/sys/block/zram0/disksize # 512MB
mkswap /dev/zram0 >/dev/null
swapon /dev/zram0
- echo 100 > /proc/sys/vm/swappiness
+ echo 100 >/proc/sys/vm/swappiness
fi
}
-
-aufs_is_supported()
-{
+aufs_is_supported() {
cat /proc/filesystems | grep aufs
}
-
# load the AUFS kernel driver. If not found,
# load overlayfs instead.
#
-init_aufs()
-{
+init_aufs() {
debug_log "init_aufs" "$*"
modprobe aufs 2>/dev/null
if ! aufs_is_supported >/dev/null; then
@@ -230,14 +197,12 @@ init_aufs()
refresh_devs
}
-
# Setup empty aufs union, or create overlayfs union
# $1 = changes directory (ramfs or persistent changes)
# $2 = union directory where to mount the union
# $3 = bundles directory
#
-init_union()
-{
+init_union() {
debug_log "init_union" "$*"
mkdir -p "$1"
mkdir -p "$2"
@@ -255,12 +220,10 @@ init_union()
fi
}
-
# Return device mounted for given directory
# $1 = directory
#
-mounted_device()
-{
+mounted_device() {
debug_log "mounted_device" "$*"
local MNT TARGET
@@ -275,12 +238,10 @@ mounted_device()
done
}
-
# Return mounted dir for given directory
# $1 = directory
#
-mounted_dir()
-{
+mounted_dir() {
debug_log "mounted_dir" "$*"
local MNT
@@ -294,24 +255,20 @@ mounted_dir()
done
}
-
# Get device tag.
# $1 = device
# $2 = tag name, such as TYPE, LABEL, UUID, etc
#
-device_tag()
-{
+device_tag() {
blkid -s $2 "$1" | sed -r "s/^[^=]+=//" | tr -d '"'
}
-
# Make sure to mount FAT12/16/32 using vfat
# in order to support long filenames
# $1 = device
# $2 = prefix to add, like -t
#
-device_bestfs()
-{
+device_bestfs() {
debug_log "device_bestfs" "$*"
local FS
@@ -329,12 +286,10 @@ device_bestfs()
echo "$FS"
}
-
# Filesystem options for initial mount
# $1.. = filesystem
#
-fs_options()
-{
+fs_options() {
debug_log "fs_options" "$*"
if [ "$1" != "ntfs-3g" ]; then
@@ -348,12 +303,10 @@ fs_options()
fi
}
-
# Mount command for given filesystem
# $1.. = filesystem
#
-mount_command()
-{
+mount_command() {
debug_log "mount_command" "$*"
if [ "$1" = "ntfs-3g" ]; then
@@ -363,30 +316,26 @@ mount_command()
fi
}
-
# echo first network device known at the moment of calling, eg. eth0
#
-network_device()
-{
+network_device() {
debug_log "network_device" "$*"
cat /proc/net/dev | grep : | grep -v lo: | cut -d : -f 1 | tr -d " " | head -n 1
}
-
# Modprobe network kernel modules until a working driver is found.
# These drivers are (or used to be) probed in Slackware's initrd.
# The function returns the first device found, yet it doesn't have
# to be a working one, eg. if the computer has two network interfaces
# and ethernet cable is plugged only to one of them.
#
-init_network_dev()
-{
+init_network_dev() {
debug_log "init_network_dev" "$*"
local MODULE ETH
for MODULE in 3c59x acenic e1000 e1000e e100 epic100 hp100 ne2k-pci \
- pcnet32 8139too 8139cp tulip via-rhine r8169 atl1e yellowfin tg3 \
- dl2k ns83820 atl1 b44 bnx2 skge sky2 tulip forcedeth sb1000 sis900; do
+ pcnet32 8139too 8139cp tulip via-rhine r8169 atl1e yellowfin tg3 \
+ dl2k ns83820 atl1 b44 bnx2 skge sky2 tulip forcedeth sb1000 sis900; do
modprobe $MODULE 2>/dev/null
ETH="$(network_device)"
if [ "$ETH" != "" ]; then
@@ -402,12 +351,10 @@ init_network_dev()
echo $(network_device)
}
-
# Initialize network IP address
# either static from ip=bootparameter, or from DHCP
#
-init_network_ip()
-{
+init_network_ip() {
debug_log "init_network_ip" "$*"
local IP ETH SCRIPT CLIENT SERVER GW MASK
@@ -422,8 +369,8 @@ init_network_ip()
echo "$IP" | while IFS=":" read CLIENT SERVER GW MASK; do
ifconfig $ETH "$CLIENT" netmask "$MASK"
route add default gw "$GW"
- echo nameserver "$GW" >> /etc/resolv.conf
- echo nameserver "$SERVER" >> /etc/resolv.conf
+ echo nameserver "$GW" >>/etc/resolv.conf
+ echo nameserver "$SERVER" >>/etc/resolv.conf
done
else
# if client ip is unknown, try to get a DHCP lease
@@ -434,12 +381,10 @@ init_network_ip()
fi
}
-
# Mount data from http using httpfs
# $1 = from URL
# $2 = target
-mount_data_http()
-{
+mount_data_http() {
debug_log "mount_data_http" "$*"
local CACHE
@@ -448,7 +393,7 @@ mount_data_http()
CACHE=$(cmdline_value cache | sed -r "s/[^0-9]//g" | sed -r "s/^0+//g")
if [ "$CACHE" != "" ]; then
- CACHE="-C /tmp/httpfs.cache -S "$(($CACHE*1024*1024))
+ CACHE="-C /tmp/httpfs.cache -S "$(($CACHE * 1024 * 1024))
fi
init_network_ip
@@ -462,25 +407,21 @@ mount_data_http()
fi
}
-
# stdin = files to get
# $1 = server
# $2 = destination directory
#
-tftp_mget()
-{
+tftp_mget() {
while read FNAME; do
echo "* $FNAME ..." >&2
tftp -b 1486 -g -r "$FNAME" -l "$2/$FNAME" "$1"
done
}
-
# Download data from tftp
# $1 = target (store downloaded files there)
#
-download_data_pxe()
-{
+download_data_pxe() {
debug_log "download_data_pxe" "$*"
local IP CMD CLIENT SERVER GW MASK PORT PROTOCOL JOBS
@@ -523,20 +464,19 @@ download_data_pxe()
echo "$1/$LIVEKITNAME"
}
-
# Find LIVEKIT data by mounting all devices
# If found, keep mounted, else unmount
# $1 = data directory target (mount here)
# $2 = data directory which contains compressed bundles
#
-find_data_try()
-{
+find_data_try() {
debug_log "find_data_try" "$*"
local DEVICE FS FROM OPTIONS MOUNT
mkdir -p "$1"
- blkid | sort | cut -d: -f 1 | grep -E -v "/loop|/ram|/zram" | while read DEVICE; do
+ # patch from Jeff Baitis: Problem is that livekitlib's blkid command cannot detect /dev/nvme devices.
+ blkid /dev/* | sort | cut -d: -f 1 | grep -E -v "/loop|/ram|/zram" | while read DEVICE; do
FROM="$2"
FS="$(device_bestfs "$DEVICE")"
OPTIONS="$(fs_options $FS)"
@@ -564,14 +504,12 @@ find_data_try()
done
}
-
# Retry finding LIVEKIT data several times,
# until timeouted or until data is found
# $1 = timeout
# $2 = data directory target (mount here)
#
-find_data()
-{
+find_data() {
debug_log "find_data" "$*"
local DATA FROM
@@ -609,24 +547,20 @@ find_data()
echo "" >&2
}
-
# Check if data is found and exists
# $1 = data directory
#
-check_data_found()
-{
+check_data_found() {
if [ "$1" = "" -o ! -d "$1" ]; then
- fatal "Could not locate $LIVEKITNAME data";
+ fatal "Could not locate $LIVEKITNAME data"
fi
}
-
# Activate persistent changes
# $1 = data directory
# $2 = target changes directory
#
-persistent_changes()
-{
+persistent_changes() {
debug_log "persistent_changes" "$*"
local CHANGES T1 T2 EXISTS
@@ -654,10 +588,10 @@ persistent_changes()
echo_green_star
echo "Testing persistent changes for posix compatibility"
- touch "$T1" && ln -sf "$T1" "$T2" 2>/dev/null && \
- chmod +x "$T1" 2>/dev/null && test -x "$T1" && \
- chmod -x "$T1" 2>/dev/null && test ! -x "$T1" && \
- rm "$T1" "$T2" 2>/dev/null
+ touch "$T1" && ln -sf "$T1" "$T2" 2>/dev/null &&
+ chmod +x "$T1" 2>/dev/null && test -x "$T1" &&
+ chmod -x "$T1" 2>/dev/null && test ! -x "$T1" &&
+ rm "$T1" "$T2" 2>/dev/null
if [ $? -eq 0 ]; then
echo "* Activating native persistent changes"
@@ -684,12 +618,10 @@ persistent_changes()
rmdir "$2/lost+found" 2>/dev/null
}
-
# Copy content of rootcopy directory to union
# $1 = data directory
# $2 = union directory
-copy_rootcopy_content()
-{
+copy_rootcopy_content() {
debug_log "copy_rootcopy_content" "$*"
if [ "$(ls -1 "$1/rootcopy/" 2>/dev/null)" != "" ]; then
@@ -699,13 +631,11 @@ copy_rootcopy_content()
fi
}
-
# Copy data to RAM if requested
# $1 = live data directory
# $2 = changes directory
#
-copy_to_ram()
-{
+copy_to_ram() {
debug_log "copy_to_ram" "$*"
local MDIR MDEV RAM CHANGES
@@ -717,7 +647,7 @@ copy_to_ram()
echo "* Copying $LIVEKITNAME data to RAM..." >&2
RAM="$(dirname "$2")"/toram
- mkdir -p "$RAM"
+ mkdir -p "$RAM"
cp -a "$1"/* "$RAM"
echo "$RAM"
@@ -732,11 +662,9 @@ copy_to_ram()
fi
}
-
# load filter
#
-filter_load()
-{
+filter_load() {
local FILTER
FILTER=$(cmdline_value load)
if [ "$FILTER" = "" ]; then
@@ -746,11 +674,9 @@ filter_load()
fi
}
-
# noload filter
#
-filter_noload()
-{
+filter_noload() {
local FILTER
FILTER=$(cmdline_value noload)
if [ "$FILTER" = "" ]; then
@@ -762,20 +688,21 @@ filter_noload()
# sort modules by number even if they are in subdirectory
#
-sortmod()
-{
+sortmod() {
cat - | sed -r "s,(.*/(.*)),\\2:\\1," | sort -n | cut -d : -f 2-
}
-
# Mount squashfs filesystem bundles
# $1 = directory where to search for bundles
# $2 = directory where to mount bundles
-mount_bundles()
-{
+mount_bundles() {
echo_green_star
echo "Mounting bundles"
- ( ls -1 "$1" | sort -n ; cd "$1" ; find modules/ 2>/dev/null | sortmod | filter_load) | grep '[.]'$BEXT'$' | filter_noload | while read BUNDLE; do
+ (
+ ls -1 "$1" | sort -n
+ cd "$1"
+ find modules/ 2>/dev/null | sortmod | filter_load
+ ) | grep '[.]'$BEXT'$' | filter_noload | while read BUNDLE; do
echo "* $BUNDLE"
BUN="$(basename "$BUNDLE")"
mkdir -p "$2/$BUN"
@@ -783,13 +710,11 @@ mount_bundles()
done
}
-
# Add mounted bundles to aufs union
# $1 = directory where bundles are mounted
# $2 = directory where union is mounted
#
-union_append_bundles()
-{
+union_append_bundles() {
debug_log "union_append_bundles" "$*"
if aufs_is_supported >/dev/null; then
@@ -801,23 +726,21 @@ union_append_bundles()
fi
}
-
# Create empty fstab properly
# $1 = root directory
# $2 = directory where boot disk is mounted
#
-fstab_create()
-{
+fstab_create() {
debug_log "fstab_create" "$*"
local FSTAB DEVICE FS LABEL BOOTDEVICE OPTS
FSTAB="$1/etc/fstab"
- echo aufs / aufs defaults 0 0 > $FSTAB
- echo proc /proc proc defaults 0 0 >> $FSTAB
- echo sysfs /sys sysfs defaults 0 0 >> $FSTAB
- echo devpts /dev/pts devpts gid=5,mode=620 0 0 >> $FSTAB
- echo tmpfs /dev/shm tmpfs defaults 0 0 >> $FSTAB
+ echo aufs / aufs defaults 0 0 >$FSTAB
+ echo proc /proc proc defaults 0 0 >>$FSTAB
+ echo sysfs /sys sysfs defaults 0 0 >>$FSTAB
+ echo devpts /dev/pts devpts gid=5,mode=620 0 0 >>$FSTAB
+ echo tmpfs /dev/shm tmpfs defaults 0 0 >>$FSTAB
if grep -vq automount /proc/cmdline; then
return
@@ -825,26 +748,25 @@ fstab_create()
BOOTDEVICE=$(df "$2" | tail -n 1 | cut -d " " -f 1)
- echo >> $FSTAB
+ echo >>$FSTAB
- blkid | grep -v "^/dev/loop" | grep -v "^/dev/zram" | cut -d: -f 1 | while read DEVICE; do
+ # patch from Jeff Baitis: Problem is that livekitlib's blkid command cannot detect /dev/nvme devices.
+ blkid /dev/* | grep -v "^/dev/loop" | grep -v "^/dev/zram" | cut -d: -f 1 | while read DEVICE; do
FS="$(device_bestfs $DEVICE)"
LABEL="$(basename $DEVICE)"
OPTS="defaults,noatime,nofail,x-systemd.device-timeout=10"
if [ "$FS" != "" -a "$FS" != "swap" -a "$FS" != "squashfs" -a "$DEVICE" != "$BOOTDEVICE" ]; then
mkdir -p "$1/media/$LABEL"
- echo "$DEVICE" "/media/$LABEL" $FS $OPTS 0 0 >> $FSTAB
+ echo "$DEVICE" "/media/$LABEL" $FS $OPTS 0 0 >>$FSTAB
fi
done
}
-
# Change root and execute init
# $1 = where to change root
#
-change_root()
-{
+change_root() {
debug_log "change_root" "$*"
# if we are booting over httpfs, we need to copyup some files so they are
@@ -872,14 +794,14 @@ change_root()
if [ ! -e sbin/fsck.aufs ]; then ln -s /bin/true sbin/fsck.aufs; fi
# find chroot and init
- if [ -x bin/chroot -o -L bin/chroot ]; then CHROOT=bin/chroot; fi
- if [ -x sbin/chroot -o -L sbin/chroot ]; then CHROOT=sbin/chroot; fi
- if [ -x usr/bin/chroot -o -L usr/bin/chroot ]; then CHROOT=usr/bin/chroot; fi
+ if [ -x bin/chroot -o -L bin/chroot ]; then CHROOT=bin/chroot; fi
+ if [ -x sbin/chroot -o -L sbin/chroot ]; then CHROOT=sbin/chroot; fi
+ if [ -x usr/bin/chroot -o -L usr/bin/chroot ]; then CHROOT=usr/bin/chroot; fi
if [ -x usr/sbin/chroot -o -L usr/sbin/chroot ]; then CHROOT=usr/sbin/chroot; fi
if [ "$CHROOT" = "" ]; then fatal "Can't find executable chroot command"; fi
if [ -x bin/init -o -L bin/init ]; then INIT=bin/init; fi
- if [ -x sbin/init -o -L sbin/init ]; then INIT=sbin/init; fi
+ if [ -x sbin/init -o -L sbin/init ]; then INIT=sbin/init; fi
if [ "$INIT" = "" ]; then fatal "Can't find executable init command"; fi
mkdir -p run
@@ -887,5 +809,5 @@ change_root()
mkdir -p run/initramfs
mount -n -o remount,ro aufs .
pivot_root . run/initramfs
- exec $CHROOT . $INIT < dev/console > dev/console 2>&1
+ exec $CHROOT . $INIT dev/console 2>&1
}
diff --git a/linux-live/minioslib b/linux-live/minioslib
index c2c96bb..41d0c6e 100644
--- a/linux-live/minioslib
+++ b/linux-live/minioslib
@@ -19,9 +19,9 @@ function common_variables() {
fi
set -u
: 'if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
- OUTPUT="/dev/stdout"
- #CONTAINER="docker"
- fi'
+ OUTPUT="/dev/stdout"
+ #CONTAINER="docker"
+ fi'
if [ -f /.dockerenv ] || [ "$container" = "podman" ] && [ ! -d /opt/minios-live ] && [ ! -f /.minios-live-container ]; then
CONTAINER_TYPE="1"
fi
@@ -515,12 +515,12 @@ function new_run() {
# =================================================================
# =================================================================
-# Creating a package list from a template
+# Creating a $PACKAGE_VARIANT list from a template
# Создание списка пакетов из шаблона
# =================================================================
function create_apt_list() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
- if [ ! -f $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list ] && [ $DISTRIBUTION != "buster" ]; then
+ if [ ! -f $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list ] && [ $DISTRIBUTION_TYPE != "debian" ]; then
cp -f $SCRIPT_DIR/linux-live/aptsources/sources.list $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list
sed -i "s,distro,$DISTRIBUTION,g" $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list
sed -i "s,http://ru.archive.ubuntu.com/ubuntu,$DISTRIBUTION_URL,g" $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list
@@ -539,7 +539,7 @@ function build_bootstrap() {
setup_host
fi
fi
- if [ $DISTRIBUTION != "buster" ]; then
+ if [ $DISTRIBUTION_TYPE != "debian" ]; then
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
debootstrap --arch=$DISTRIBUTION_ARCH --variant=$DISTRIBUTION_VARIANT $DISTRIBUTION $BUILD_DIR $DISTRIBUTION_URL >>$OUTPUT 2>>$OUTPUT
else
@@ -680,7 +680,7 @@ function build_live() {
mkdir -p $PARENT_DIR/image/$LIVEKITNAME/{boot,changes,modules}
# copy kernel files
- if [ $DISTRIBUTION != "buster" ]; then
+ if [ $DISTRIBUTION_TYPE != "debian" ]; then
cp $BUILD_DIR/boot/vmlinuz-**-**-generic $PARENT_DIR/image/$LIVEKITNAME/boot/vmlinuz
else
cp $BUILD_DIR/boot/vmlinuz-**-**-$KERNEL_ARCH $PARENT_DIR/image/$LIVEKITNAME/boot/vmlinuz
@@ -738,7 +738,7 @@ function build_iso() {
DATE=$(date +%Y%m%d_%H%M)
DIR=$PARENT_DIR/image
- ISO=$ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso
+ ISO=$ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso
B="-b $LIVEKITNAME/boot/isolinux.bin -c $LIVEKITNAME/boot/isolinux.boot"
@@ -756,7 +756,7 @@ function build_iso() {
VER="$SYSTEMNAME"
if [ REMOVE_OLD_ISO = "1" ]; then
- rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-*.iso >>$OUTPUT 2>&1
+ rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-*.iso >>$OUTPUT 2>&1
fi
if
@@ -772,7 +772,7 @@ function build_iso() {
if [ -L $ISO_DIR/$LIVEKITNAME.iso ]; then
rm $ISO_DIR/$LIVEKITNAME.iso
fi
- if ln -s $LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso $ISO_DIR/$LIVEKITNAME.iso; then
+ if ln -s $LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso $ISO_DIR/$LIVEKITNAME.iso; then
echo ">>> $ISO_DIR/$LIVEKITNAME.iso created"
fi
fi
@@ -832,7 +832,7 @@ function chroot_build_cleanup() {
rm -f /install >>$OUTPUT 2>&1
rm -f /install2 >>$OUTPUT 2>&1
rm -f /cleanup >>$OUTPUT 2>&1
- rm -f /package.list >>$OUTPUT 2>&1
+ rm -f /$PACKAGE_VARIANT.list >>$OUTPUT 2>&1
rm -f /postinstall >>$OUTPUT 2>&1
rm -rf /rootcopy >>$OUTPUT 2>&1
rm -rf /patches >>$OUTPUT 2>&1
@@ -957,6 +957,7 @@ function prereq_pkg_list() {
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/prereq.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
+
}
# =================================================================
@@ -975,11 +976,13 @@ function main_pkg_list() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/linux-live/basesystem/01-core/preinstall
fi
: ' if [ "$(ls -A /linux-live/basesystem/01-core/rootcopy)" != "" ]; then
- (cd /linux-live/basesystem/01-core/rootcopy && cp --parents -afr * /)
- fi'
+ (cd /linux-live/basesystem/01-core/rootcopy && cp --parents -afr * /)
+ fi'
if [ -f /linux-live/basesystem/01-core/install ]; then
chmod +x /linux-live/basesystem/01-core/install
/usr/bin/env \
@@ -990,6 +993,9 @@ function main_pkg_list() {
APT_OPTIONS2=$APT_OPTIONS2 \
KERNEL_ARCH=$KERNEL_ARCH \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
+ COMP_TYPE=$COMP_TYPE \
/linux-live/basesystem/01-core/install
fi
if [ -f /linux-live/basesystem/01-core/postinstall ]; then
@@ -1001,6 +1007,8 @@ function main_pkg_list() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/linux-live/basesystem/01-core/postinstall
fi
@@ -1024,8 +1032,8 @@ function chroot_pkg_install() {
}
# =================================================================
-#
-#
+# No longer used, it will be cleaned after successful testing.
+# Больше не используется, будет убрано после успешного тестирования.
# =================================================================
function chroot_configure() {
current_process
@@ -1079,7 +1087,7 @@ EOF
systemctl disable grub-initrd-fallback.service
fi
- if grep openssh-server $SCRIPT_DIR/basesystem/01-core/package.list >>$OUTPUT 2>&1; then
+ if grep openssh-server $SCRIPT_DIR/basesystem/01-core/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then
echo "Enable ssh.service autostart." >>$OUTPUT 2>&1
cat </usr/lib/systemd/system/ssh-keygen.service
[Unit]
@@ -1101,7 +1109,23 @@ EOF
systemctl enable ssh >>$OUTPUT 2>&1
fi
- if [ $DISTRIBUTION = "buster" ]; then
+ if [ ! -f /usr/share/sudo ]; then
+ cat </usr/share/sudo
+#!/bin/bash
+if [ "$#" -lt 1 ]; then
+ echo "Usage: sudo [command] [arguments]"
+ exit 1
+fi
+
+if [ "$UID" = 0 ]; then
+ exec "$@"
+fi
+
+echo "Sudo is not installed. Run the command as root or install sudo."
+EOF
+ fi
+
+ if [ $DISTRIBUTION_TYPE = "debian" ]; then
cat </etc/issue
@@ -1112,7 +1136,7 @@ EOF
Thank you for using MiniOS.
- Based on Debian GNU/Linux 10.
+ Based on Debian GNU/Linux.
Powered by Slax.
:::: :::: ::::::::::: :::: ::: ::::::::::: :::::::: ::::::::
@@ -1406,6 +1430,11 @@ EOF
dpkg-divert --rename --remove /sbin/initctl >>$OUTPUT 2>&1
EOF
fi
+
+ if [ -d $MODULE_UPPER_DIR/home/live ]; then
+ chown 1000:1000 $MODULE_UPPER_DIR/home/live
+ chown -R 1000:1000 $MODULE_UPPER_DIR/home/live
+ fi
}
# =================================================================
@@ -1438,7 +1467,7 @@ function module_chroot_cleanup() {
rm -f $MODULE_UPPER_DIR/install
rm -f $MODULE_UPPER_DIR/install2
rm -f $MODULE_UPPER_DIR/cleanup
- rm -f $MODULE_UPPER_DIR/package.list
+ rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list
rm -f $MODULE_UPPER_DIR/postinstall
rm -rf $MODULE_UPPER_DIR/rootcopy
else
@@ -1464,7 +1493,7 @@ function module_chroot_cleanup() {
rm -f $MODULE_UPPER_DIR/install >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/install2 >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/cleanup >>$OUTPUT 2>&1
- rm -f $MODULE_UPPER_DIR/package.list >>$OUTPUT 2>&1
+ rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/postinstall >>$OUTPUT 2>&1
rm -rf $MODULE_UPPER_DIR/rootcopy >>$OUTPUT 2>&1
fi
@@ -1484,7 +1513,7 @@ function module_build_cleanup() {
rm -f $MODULE_UPPER_DIR/install
rm -f $MODULE_UPPER_DIR/install2
rm -f $MODULE_UPPER_DIR/cleanup
- rm -f $MODULE_UPPER_DIR/package.list
+ rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list
rm -f $MODULE_UPPER_DIR/postinstall
rm -rf $MODULE_UPPER_DIR/rootcopy
rm -rf $MODULE_UPPER_DIR/patches
@@ -1578,7 +1607,7 @@ function module_build_cleanup() {
rm -f $MODULE_UPPER_DIR/install >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/install2 >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/cleanup >>$OUTPUT 2>&1
- rm -f $MODULE_UPPER_DIR/package.list >>$OUTPUT 2>&1
+ rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/postinstall >>$OUTPUT 2>&1
rm -rf $MODULE_UPPER_DIR/rootcopy >>$OUTPUT 2>&1
rm -rf $MODULE_UPPER_DIR/patches >>$OUTPUT 2>&1
@@ -1718,6 +1747,8 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/preinstall >>$OUTPUT 2>&1
fi
@@ -1753,8 +1784,8 @@ function build_modules() {
if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/cleanup ]; then
cp $SCRIPT_DIR/linux-live/modules/$MODULE/cleanup $MODULE_MERGED_DIR/cleanup
fi
- if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/package.list ]; then
- cp $SCRIPT_DIR/linux-live/modules/$MODULE/package.list $MODULE_MERGED_DIR/package.list
+ if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/$PACKAGE_VARIANT.list ]; then
+ cp $SCRIPT_DIR/linux-live/modules/$MODULE/$PACKAGE_VARIANT.list $MODULE_MERGED_DIR/$PACKAGE_VARIANT.list
fi
if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then
chroot $MODULE_MERGED_DIR /usr/bin/env \
@@ -1767,6 +1798,8 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/install
else
chroot $MODULE_MERGED_DIR /usr/bin/env \
@@ -1779,6 +1812,8 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/install >>$OUTPUT 2>&1
fi
fi
@@ -1824,6 +1859,8 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/install2
else
chroot $MODULE_MERGED_DIR /usr/bin/env \
@@ -1836,10 +1873,37 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/install2 >>$OUTPUT 2>&1
fi
fi
+ # copy files
+ if [ ! -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then
+ if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then
+ if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ]; then
+ (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/)
+ fi
+ else
+ if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ] >>$OUTPUT 2>&1; then
+ (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/)
+ fi
+ fi
+ else
+ if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then
+ if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ]; then
+ mkdir $MODULE_MERGED_DIR/rootcopy-postinstall
+ (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/rootcopy-postinstall/)
+ fi
+ else
+ if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ] >>$OUTPUT 2>&1; then
+ mkdir $MODULE_MERGED_DIR/rootcopy-postinstall
+ (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/rootcopy-postinstall/)
+ fi
+ fi
+ fi
+
# run post-install script
if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/postinstall ]; then
cp $SCRIPT_DIR/linux-live/modules/$MODULE/postinstall $MODULE_MERGED_DIR/postinstall
@@ -1855,6 +1919,8 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/postinstall
else
chroot $MODULE_MERGED_DIR /usr/bin/env \
@@ -1867,6 +1933,8 @@ function build_modules() {
APT_OPTIONS=$APT_OPTIONS \
APT_OPTIONS2=$APT_OPTIONS2 \
LIVE_TYPE=$LIVE_TYPE \
+ DISTRIBUTION=$DISTRIBUTION \
+ PACKAGE_VARIANT=$PACKAGE_VARIANT \
/postinstall >>$OUTPUT 2>&1
fi
fi
@@ -1949,3 +2017,35 @@ function build_modules_live() {
fi
done
}
+
+function repack_module() {
+ OLD_MODULE=$MODULE
+ MODULE=${MODULE%"-$OLD_COMP_TYPE.$BEXT"}
+ if [ $COMP_TYPE = $OLD_COMP_TYPE ]; then
+ echo "The module is already in the required compression format." && exit
+ fi
+ unsquashfs $OLD_MODULE
+
+ mksquashfs squashfs-root $MODULE-$COMP_TYPE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit
+
+ rm -rf squashfs-root
+ rm -f $OLD_MODULE
+}
+
+function repack_modules() {
+ current_process
+
+ cd $PARENT_DIR/image/$LIVEKITNAME/
+ for MODULE in *; do
+ if (ls ./*-xz.$BEXT | grep -q $MODULE >>/dev/null 2>&1); then
+ OLD_COMP_TYPE="xz"
+ repack_module
+ elif (ls ./*-lz4.$BEXT | grep -q $MODULE >>/dev/null 2>&1); then
+ OLD_COMP_TYPE="lz4"
+ repack_module
+ elif (ls ./*-zstd.$BEXT | grep -q $MODULE >>/dev/null 2>&1); then
+ OLD_COMP_TYPE="zstd"
+ repack_module
+ fi
+ done
+}
diff --git a/linux-live/modules/01-firmware/install b/linux-live/modules/01-firmware/install
index ba17102..0f7c28b 100644
--- a/linux-live/modules/01-firmware/install
+++ b/linux-live/modules/01-firmware/install
@@ -10,10 +10,10 @@ echo "firmware-ipw2x00 firmware-ipw2x00/license/accepted boolean true" | debconf
echo "b43-fwcutter b43-fwcutter/install-unconditional boolean true" | debconf-set-selections
# install packages
-if [ -f $SCRIPT_DIR/package.list ]; then
+if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
- $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
diff --git a/linux-live/modules/01-firmware/package.list b/linux-live/modules/01-firmware/minimal.list
similarity index 100%
rename from linux-live/modules/01-firmware/package.list
rename to linux-live/modules/01-firmware/minimal.list
diff --git a/linux-live/modules/01-firmware/standard.list b/linux-live/modules/01-firmware/standard.list
new file mode 100644
index 0000000..b8cb39c
--- /dev/null
+++ b/linux-live/modules/01-firmware/standard.list
@@ -0,0 +1,13 @@
+firmware-linux-free
+firmware-linux-nonfree
+firmware-atheros
+firmware-iwlwifi
+firmware-zd1211
+firmware-realtek
+firmware-bnx2
+firmware-brcm80211
+firmware-cavium
+firmware-ipw2x00
+firmware-libertas
+firmware-ti-connectivity
+firmware-b43-installer
\ No newline at end of file
diff --git a/linux-live/modules/02-xorg/install b/linux-live/modules/02-xorg/install
index 531131b..6805c05 100644
--- a/linux-live/modules/02-xorg/install
+++ b/linux-live/modules/02-xorg/install
@@ -9,13 +9,10 @@ SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
echo "keyboard-configuration keyboard-configuration/variant select English (US)" | debconf-set-selections
# install packages
-if [ -f $SCRIPT_DIR/package.list ]; then
+if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
- $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
-
-chown live:live /home/live
-chown -R live:live /home/live
diff --git a/linux-live/modules/02-xorg/minimal.list b/linux-live/modules/02-xorg/minimal.list
new file mode 100644
index 0000000..5b401b4
--- /dev/null
+++ b/linux-live/modules/02-xorg/minimal.list
@@ -0,0 +1,14 @@
+xserver-xorg
+xserver-xorg-video-all
+xserver-xorg-video-intel
+xinit
+xterm
+blackbox
+libxcursor1
+breeze-cursor-theme
+x11-utils
+wmctrl
+xdotool
+libdrm-intel1
+libgl1-mesa-dri
+libglu1-mesa
\ No newline at end of file
diff --git a/linux-live/modules/02-xorg/postinstall b/linux-live/modules/02-xorg/postinstall
index 1989ead..1a1269a 100644
--- a/linux-live/modules/02-xorg/postinstall
+++ b/linux-live/modules/02-xorg/postinstall
@@ -14,6 +14,7 @@ mv /usr/share/icons/Breeze_Snow /usr/share/icons/breeze_cursors >>$OUTPUT 2>&1
# install x11 server utils, apt-get would add cpp dependency, bullshit!
cd /tmp
apt-get download x11-xserver-utils >>$OUTPUT 2>&1
+ls -la
dpkg -x x11-xserver-utils*.deb /tmp/x11utils >>$OUTPUT 2>&1
cd /tmp/x11utils
cp -aR * / >>$OUTPUT 2>&1
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.Xresources b/linux-live/modules/02-xorg/rootcopy/etc/skel/.Xresources
new file mode 100644
index 0000000..2d6d0a3
--- /dev/null
+++ b/linux-live/modules/02-xorg/rootcopy/etc/skel/.Xresources
@@ -0,0 +1,30 @@
+! this are Xresources to make xterm look good
+! put into ~/.Xresources
+! after changing contents, run xrdb -merge .Xresources
+! gentoo has a bug so that it doesnt read it when X starts, so add above
+! command to /etc/xfce4/xinitrc (top) and be happy.
+
+XTerm*foreground: white
+XTerm*background: rgb:22/22/22
+XTerm*cursorColor: rgb:00/ff/00
+XTerm*borderColor: black
+XTerm*scrollColor: black
+XTerm*visualBell: true
+XTerm*saveLines: 50000
+XTerm*allowSendEvents: True
+XTerm*sessionMgt: false
+XTerm*rightScrollBar: true
+XTerm*eightBitInput: false
+XTerm*faceName:fixed:size=11
+XTerm*boldFont:fixed:size=11
+XTerm*activeIcon: true
+XTerm*iconPixmap: /usr/share/icons/locolor/16x16/apps/xterm.xbm
+XTerm*fullscreen: never
+
+Xft.antialias: true
+Xft.hinting: true
+Xft.hintstyle: hintfull
+Xft.lcdfilter: lcdlegacy
+Xft.rgba: rgb
+
+XTerm*selectToClipboard: true
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.blackbox-menu b/linux-live/modules/02-xorg/rootcopy/etc/skel/.blackbox-menu
new file mode 100644
index 0000000..df8a870
--- /dev/null
+++ b/linux-live/modules/02-xorg/rootcopy/etc/skel/.blackbox-menu
@@ -0,0 +1,5 @@
+[begin] ( Menu )
+ [exec] (Terminal) { xterm -ls -title Terminal }
+ [exec] (Web browser) { chromium }
+ [exit] (Exit)
+[end]
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.blackboxrc b/linux-live/modules/02-xorg/rootcopy/etc/skel/.blackboxrc
new file mode 100644
index 0000000..a39f965
--- /dev/null
+++ b/linux-live/modules/02-xorg/rootcopy/etc/skel/.blackboxrc
@@ -0,0 +1,6 @@
+session.screen0.toolbar.widthPercent: 100
+session.screen0.strftimeFormat: %H:%M
+session.edgeSnapThreshold: 10
+session.menuFile: /root/.blackbox-menu
+session.styleFile: /usr/share/blackbox/styles/Slax
+session.changeWorkspaceWithMouseWheel: False
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.xinitrc b/linux-live/modules/02-xorg/rootcopy/etc/skel/.xinitrc
new file mode 100644
index 0000000..edbc039
--- /dev/null
+++ b/linux-live/modules/02-xorg/rootcopy/etc/skel/.xinitrc
@@ -0,0 +1 @@
+blackbox
\ No newline at end of file
diff --git a/linux-live/modules/02-xorg/rootcopy/usr/lib/systemd/system/xorg.service b/linux-live/modules/02-xorg/rootcopy/usr/lib/systemd/system/xorg.service
index 98a2f31..3928ee8 100644
--- a/linux-live/modules/02-xorg/rootcopy/usr/lib/systemd/system/xorg.service
+++ b/linux-live/modules/02-xorg/rootcopy/usr/lib/systemd/system/xorg.service
@@ -4,4 +4,4 @@ ConditionKernelCommandLine=!text
After=systemd-user-sessions.service
[Service]
-ExecStart=/bin/su --login -c "/usr/bin/startx -- :0 vt7 -ac -nolisten tcp"
+ExecStart=/bin/su --login -c "/usr/bin/startx -- :0 vt7 -ac -nolisten tcp" live
diff --git a/linux-live/modules/02-xorg/package.list b/linux-live/modules/02-xorg/standard.list
similarity index 89%
rename from linux-live/modules/02-xorg/package.list
rename to linux-live/modules/02-xorg/standard.list
index e1d8e6a..dcb6662 100644
--- a/linux-live/modules/02-xorg/package.list
+++ b/linux-live/modules/02-xorg/standard.list
@@ -12,4 +12,4 @@ xdotool
libdrm-intel1
libgl1-mesa-dri
libglu1-mesa
-#open-vm-tools-desktop
\ No newline at end of file
+open-vm-tools-desktop
\ No newline at end of file
diff --git a/linux-live/modules/03-xfce-desktop/install b/linux-live/modules/03-xfce-desktop/install
index 948d177..8f29857 100644
--- a/linux-live/modules/03-xfce-desktop/install
+++ b/linux-live/modules/03-xfce-desktop/install
@@ -8,7 +8,7 @@ SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
GTKUI="2"
-if [ $GTKUI = "3" ]; then
+if [ $DISTRIBUTION = "buster" ] && [ $GTKUI = "3" ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
@@ -18,15 +18,213 @@ if [ $GTKUI = "3" ]; then
curl -L https://cyber-x.ru/wp-content/upload/mx19/mx19.gpg | sudo apt-key add -
fi
-# install packages
-if [ -f $SCRIPT_DIR/package.list ]; then
+# install $PACKAGE_VARIANTs
+if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
- $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
-if [ $GTKUI = "3" ]; then
+if [ $DISTRIBUTION = "buster" ] && [ $GTKUI = "3" ]; then
sed -i "s,deb http://mxrepo.com/mx/repo/ temp main,#deb http://mxrepo.com/mx/repo/ temp main,g" /etc/apt/sources.list
fi
+
+if [ $DISTRIBUTION = "bullseye" ]; then
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
+ librsvg2-common >>$OUTPUT 2>&1
+fi
+
+if grep xfce4-whiskermenu-plugin $SCRIPT_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then
+ if [ $DISTRIBUTION = "buster" ]; then
+ echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
+ echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/root/.config/xfce4/panel/whiskermenu-1.rc
+ echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/home/live/.config/xfce4/panel/whiskermenu-1.rc
+ elif [ $DISTRIBUTION = "bullseye" ]; then
+ echo "favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop" >/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
+ echo "favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop" >/root/.config/xfce4/panel/whiskermenu-1.rc
+ echo "favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop" >/home/live/.config/xfce4/panel/whiskermenu-1.rc
+ fi
+ read -r -d WHISKERMENU '' <>/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
+ echo $WHISKERMENU >>/root/.config/xfce4/panel/whiskermenu-1.rc
+ echo $WHISKERMENU >>/home/live/.config/xfce4/panel/whiskermenu-1.rc
+else
+ read -r -d MINIMAL_PANEL '' <
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+EOF
+ echo $MINIMAL_PANEL >>/etc/skel/.config/xfce4/xconf/xfce-perchannel-xml/xfce4-panel.xml
+ echo $MINIMAL_PANEL >>/root/.config/xfce4/xconf/xfce-perchannel-xml/xfce4-panel.xml
+ echo $MINIMAL_PANEL >>/home/live/.config/xfce4/xconf/xfce-perchannel-xml/xfce4-panel.xml
+fi
diff --git a/linux-live/modules/03-xfce-desktop/package.list b/linux-live/modules/03-xfce-desktop/minimal.list
similarity index 61%
rename from linux-live/modules/03-xfce-desktop/package.list
rename to linux-live/modules/03-xfce-desktop/minimal.list
index d3b72e7..b5526f6 100644
--- a/linux-live/modules/03-xfce-desktop/package.list
+++ b/linux-live/modules/03-xfce-desktop/minimal.list
@@ -1,11 +1,7 @@
-#task-xfce-desktop
-#gtk2-engines-xfce
libxfce4ui-utils
-#thunar
pcmanfm
xfce4-appfinder
xfce4-panel
-#xfce4-pulseaudio-plugin
xfce4-session
xfce4-settings
xfconf
@@ -13,5 +9,6 @@ xfdesktop4
xfwm4
elementary-xfce-icon-theme
greybird-gtk-theme
-#pulseaudio
-#pavucontrol
\ No newline at end of file
+volumeicon-alsa
+xfce4-xkb-plugin
+xfce4-battery-plugin
\ No newline at end of file
diff --git a/linux-live/modules/03-xfce-desktop/postinstall b/linux-live/modules/03-xfce-desktop/postinstall
index 9d4bde5..a9334d6 100644
--- a/linux-live/modules/03-xfce-desktop/postinstall
+++ b/linux-live/modules/03-xfce-desktop/postinstall
@@ -8,9 +8,12 @@ for dir in Desktop Documents Downloads Music Pictures Public Templates Videos; d
mkdir -p /root/$dir >>$OUTPUT 2>&1
done
-chown live:live /home/live
-chown -R live:live /home/live
+#if [ $DISTRIBUTION = "bullseye" ]; then
+ rm -f /usr/share/backgrounds/xfce/*
+ ln -s /usr/share/backgrounds/MiniOS-wallpaper.svg /usr/share/backgrounds/xfce/xfce-verticals.png
+ ln -s /usr/share/backgrounds/MiniOS-wallpaper.svg /usr/share/backgrounds/xfce/xfce-teal.jpg
+#fi
rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1
-update-alternatives --set x-terminal-emulator /usr/bin/xterm >>$OUTPUT 2>&1
\ No newline at end of file
+update-alternatives --set x-terminal-emulator /usr/bin/xterm >>$OUTPUT 2>&1
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-ac-adapter.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-ac-adapter.svg
new file mode 100644
index 0000000..f702a54
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-ac-adapter.svg
@@ -0,0 +1,472 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-charging.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-charging.svg
new file mode 100644
index 0000000..4fb1245
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-charging.svg
@@ -0,0 +1,322 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-symbolic.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-symbolic.svg
new file mode 100644
index 0000000..8d60e10
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-symbolic.svg
@@ -0,0 +1,7 @@
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution.svg
new file mode 100644
index 0000000..07cf41e
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution.svg
@@ -0,0 +1,365 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty-charging.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty-charging.svg
new file mode 100644
index 0000000..45ccf8d
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty-charging.svg
@@ -0,0 +1,308 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty.svg
new file mode 100644
index 0000000..80bd5e1
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty.svg
@@ -0,0 +1,451 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charged.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charged.svg
new file mode 100644
index 0000000..bc28a46
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charged.svg
@@ -0,0 +1,255 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charging.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charging.svg
new file mode 100644
index 0000000..f655e9c
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charging.svg
@@ -0,0 +1,263 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full.svg
new file mode 100644
index 0000000..2b093e1
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full.svg
@@ -0,0 +1,255 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good-charging.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good-charging.svg
new file mode 100644
index 0000000..56e0e18
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good-charging.svg
@@ -0,0 +1,314 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good.svg
new file mode 100644
index 0000000..bdf7600
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good.svg
@@ -0,0 +1,371 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-charging.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-charging.svg
new file mode 100644
index 0000000..526baf2
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-charging.svg
@@ -0,0 +1,304 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-symbolic.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-symbolic.svg
new file mode 100644
index 0000000..2214891
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-symbolic.svg
@@ -0,0 +1,6 @@
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low.svg
new file mode 100644
index 0000000..03f2e71
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low.svg
@@ -0,0 +1,337 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-missing.svg b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-missing.svg
new file mode 100644
index 0000000..9b8c436
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-missing.svg
@@ -0,0 +1,371 @@
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla b/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla
new file mode 100644
index 0000000..c468701
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla
@@ -0,0 +1,27 @@
+[Local restart]
+Identity=unix-group:power
+Action=org.freedesktop.consolekit.system.restart
+ResultAny=yes
+ResultInactive=no
+ResultActive=yes
+
+[Local shutdown]
+Identity=unix-group:power
+Action=org.freedesktop.consolekit.system.stop
+ResultAny=yes
+ResultInactive=no
+ResultActive=yes
+
+[Local restart - multiple]
+Identity=unix-group:power
+Action=org.freedesktop.consolekit.system.restart-multiple-users
+ResultAny=yes
+ResultInactive=no
+ResultActive=yes
+
+[Local shutdown - multiple]
+Identity=unix-group:power
+Action=org.freedesktop.consolekit.system.stop-multiple-users
+ResultAny=yes
+ResultInactive=no
+ResultActive=yes
\ No newline at end of file
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla b/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla
new file mode 100644
index 0000000..05d08f1
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla
@@ -0,0 +1,6 @@
+[Local Users]
+Identity=unix-group:power
+Action=org.freedesktop.upower.*
+ResultAny=yes
+ResultInactive=no
+ResultActive=yes
\ No newline at end of file
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xarchiver/xarchiverrc b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xarchiver/xarchiverrc
new file mode 100644
index 0000000..f65e2a5
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xarchiver/xarchiverrc
@@ -0,0 +1,20 @@
+[xarchiver]
+preferred_format=0
+confirm_deletion=true
+sort_filename_content=false
+store_output=false
+icon_size=0
+show_archive_comment=false
+show_sidebar=false
+show_location_bar=false
+preferred_temp_dir=/tmp
+allow_sub_dir=0
+overwrite=false
+full_path=true
+touch=false
+freshen=false
+update=false
+store_path=false
+recurse=true
+solid_archive=false
+remove_files=false
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/helpers.rc b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/helpers.rc
new file mode 100644
index 0000000..121dec8
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/helpers.rc
@@ -0,0 +1,3 @@
+TerminalEmulator=
+FileManager=
+WebBrowser=
\ No newline at end of file
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/battery-7.rc b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/battery-10.rc
similarity index 73%
rename from linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/battery-7.rc
rename to linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/battery-10.rc
index 92a591a..170c036 100644
--- a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/battery-7.rc
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/battery-10.rc
@@ -1,16 +1,16 @@
display_label=false
display_icon=false
display_power=false
-display_percentage=true
+display_percentage=false
display_bar=true
display_time=false
-tooltip_display_percentage=false
-tooltip_display_time=false
+tooltip_display_percentage=true
+tooltip_display_time=true
low_percentage=10
critical_percentage=5
action_on_low=1
action_on_critical=1
-hide_when_full=4
+hide_when_full=-415324144
colorA=rgb(136,136,255)
colorH=rgb(0,255,0)
colorL=rgb(255,255,0)
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-9/16233231141.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-9/16233231141.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-10/16233231142.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/launcher-4/FileManager.desktop
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-10/16233231142.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/launcher-4/FileManager.desktop
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-11/16233231143.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/launcher-5/WebBrowser.desktop
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-11/16233231143.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/launcher-5/WebBrowser.desktop
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/whiskermenu-1.rc b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
new file mode 100644
index 0000000..42f58f7
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
@@ -0,0 +1,80 @@
+favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop
+recent=
+button-icon=/usr/share/pixmaps/MiniOS-white.svg
+button-single-row=false
+show-button-title=false
+show-button-icon=true
+launcher-show-name=true
+launcher-show-description=false
+launcher-show-tooltip=true
+item-icon-size=2
+hover-switch-category=false
+category-show-name=true
+category-icon-size=1
+load-hierarchy=false
+view-as-icons=false
+default-category=0
+recent-items-max=10
+favorites-in-recent=true
+position-search-alternate=true
+position-commands-alternate=false
+position-categories-alternate=true
+stay-on-focus-out=false
+confirm-session-command=true
+menu-width=450
+menu-height=500
+menu-opacity=100
+command-settings=xfce4-settings-manager
+show-command-settings=false
+command-lockscreen=xflock4
+show-command-lockscreen=false
+command-switchuser=dm-tool switch-to-greeter
+show-command-switchuser=false
+command-logoutuser=xfce4-session-logout --logout --fast
+show-command-logoutuser=false
+command-restart=xfce4-session-logout --reboot --fast
+show-command-restart=false
+command-shutdown=xfce4-session-logout --halt --fast
+show-command-shutdown=false
+command-suspend=xfce4-session-logout --suspend
+show-command-suspend=false
+command-hibernate=xfce4-session-logout --hibernate
+show-command-hibernate=false
+command-logout=xfce4-session-logout
+show-command-logout=true
+command-menueditor=menulibre
+show-command-menueditor=true
+command-profile=mugshot
+show-command-profile=true
+search-actions=5
+
+[action0]
+name=Man Pages
+pattern=#
+command=exo-open --launch TerminalEmulator man %s
+regex=false
+
+[action1]
+name=Web Search
+pattern=?
+command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u
+regex=false
+
+[action2]
+name=Wikipedia
+pattern=!w
+command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
+regex=false
+
+[action3]
+name=Run in Terminal
+pattern=!
+command=exo-open --launch TerminalEmulator %s
+regex=false
+
+[action4]
+name=Open URI
+pattern=^(file|http|https):\\/\\/(.*)$
+command=exo-open \\0
+regex=true
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml
new file mode 100644
index 0000000..0559966
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
new file mode 100644
index 0000000..5dd9176
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
rename to linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
similarity index 53%
rename from linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
rename to linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
index a9707d9..f3c9034 100644
--- a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
@@ -9,81 +9,81 @@
+
+
+
+
-
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
new file mode 100644
index 0000000..276b7ec
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml
new file mode 100644
index 0000000..0693440
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
new file mode 100644
index 0000000..a7d7fe7
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
new file mode 100644
index 0000000..4d5554e
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.xinitrc b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.xinitrc
new file mode 100644
index 0000000..73d08eb
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.xinitrc
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# ~/.xinitrc
+#
+# Executed by startx (run your window manager from here)
+
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+ for f in /etc/X11/xinit/xinitrc.d/*; do
+ [ -x "$f" ] && . "$f"
+ done
+ unset f
+fi
+
+exec xfce4-session
\ No newline at end of file
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/helpers.rc b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/helpers.rc
index 89aaa32..121dec8 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/helpers.rc
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/helpers.rc
@@ -1,3 +1,3 @@
-TerminalEmulator=xfce4-terminal
-FileManager=pcmanfm
-
+TerminalEmulator=
+FileManager=
+WebBrowser=
\ No newline at end of file
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/battery-7.rc b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/battery-10.rc
similarity index 73%
rename from linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/battery-7.rc
rename to linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/battery-10.rc
index 92a591a..170c036 100644
--- a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/battery-7.rc
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/battery-10.rc
@@ -1,16 +1,16 @@
display_label=false
display_icon=false
display_power=false
-display_percentage=true
+display_percentage=false
display_bar=true
display_time=false
-tooltip_display_percentage=false
-tooltip_display_time=false
+tooltip_display_percentage=true
+tooltip_display_time=true
low_percentage=10
critical_percentage=5
action_on_low=1
action_on_critical=1
-hide_when_full=4
+hide_when_full=-415324144
colorA=rgb(136,136,255)
colorH=rgb(0,255,0)
colorL=rgb(255,255,0)
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-9/16233477351.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop
similarity index 100%
rename from linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-9/16233477351.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/launcher-10/16233477653.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-4/FileManager.desktop
similarity index 100%
rename from linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/launcher-10/16233477653.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-4/FileManager.desktop
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/launcher-11/16234050651.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-5/WebBrowser.desktop
similarity index 100%
rename from linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/launcher-11/16234050651.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/launcher-5/WebBrowser.desktop
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/whiskermenu-1.rc b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/whiskermenu-1.rc
new file mode 100644
index 0000000..42f58f7
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/panel/whiskermenu-1.rc
@@ -0,0 +1,80 @@
+favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop
+recent=
+button-icon=/usr/share/pixmaps/MiniOS-white.svg
+button-single-row=false
+show-button-title=false
+show-button-icon=true
+launcher-show-name=true
+launcher-show-description=false
+launcher-show-tooltip=true
+item-icon-size=2
+hover-switch-category=false
+category-show-name=true
+category-icon-size=1
+load-hierarchy=false
+view-as-icons=false
+default-category=0
+recent-items-max=10
+favorites-in-recent=true
+position-search-alternate=true
+position-commands-alternate=false
+position-categories-alternate=true
+stay-on-focus-out=false
+confirm-session-command=true
+menu-width=450
+menu-height=500
+menu-opacity=100
+command-settings=xfce4-settings-manager
+show-command-settings=false
+command-lockscreen=xflock4
+show-command-lockscreen=false
+command-switchuser=dm-tool switch-to-greeter
+show-command-switchuser=false
+command-logoutuser=xfce4-session-logout --logout --fast
+show-command-logoutuser=false
+command-restart=xfce4-session-logout --reboot --fast
+show-command-restart=false
+command-shutdown=xfce4-session-logout --halt --fast
+show-command-shutdown=false
+command-suspend=xfce4-session-logout --suspend
+show-command-suspend=false
+command-hibernate=xfce4-session-logout --hibernate
+show-command-hibernate=false
+command-logout=xfce4-session-logout
+show-command-logout=true
+command-menueditor=menulibre
+show-command-menueditor=true
+command-profile=mugshot
+show-command-profile=true
+search-actions=5
+
+[action0]
+name=Man Pages
+pattern=#
+command=exo-open --launch TerminalEmulator man %s
+regex=false
+
+[action1]
+name=Web Search
+pattern=?
+command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u
+regex=false
+
+[action2]
+name=Wikipedia
+pattern=!w
+command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
+regex=false
+
+[action3]
+name=Run in Terminal
+pattern=!
+command=exo-open --launch TerminalEmulator %s
+regex=false
+
+[action4]
+name=Open URI
+pattern=^(file|http|https):\\/\\/(.*)$
+command=exo-open \\0
+regex=true
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
index 1ad0b4d..e7e0bcd 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
@@ -1,14 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
deleted file mode 100644
index c3d5d2a..0000000
--- a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
index 6811d35..5dd9176 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
@@ -3,37 +3,22 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
index 9392c5e..f3c9034 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
@@ -9,81 +9,81 @@
+
+
+
+
-
-
-
-
-
+
-
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
-
-
-
-
+
+
+
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
-
-
-
+
+
+
+
+
-
-
-
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/helpers.rc b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/helpers.rc
index 89aaa32..121dec8 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/helpers.rc
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/helpers.rc
@@ -1,3 +1,3 @@
-TerminalEmulator=xfce4-terminal
-FileManager=pcmanfm
-
+TerminalEmulator=
+FileManager=
+WebBrowser=
\ No newline at end of file
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/battery-10.rc b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/battery-10.rc
new file mode 100644
index 0000000..170c036
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/battery-10.rc
@@ -0,0 +1,20 @@
+display_label=false
+display_icon=false
+display_power=false
+display_percentage=false
+display_bar=true
+display_time=false
+tooltip_display_percentage=true
+tooltip_display_time=true
+low_percentage=10
+critical_percentage=5
+action_on_low=1
+action_on_critical=1
+hide_when_full=-415324144
+colorA=rgb(136,136,255)
+colorH=rgb(0,255,0)
+colorL=rgb(255,255,0)
+colorC=rgb(255,0,0)
+command_on_low=
+command_on_critical=
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-9/16233477351.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop
similarity index 100%
rename from linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-9/16233477351.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-10/16233477653.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-4/FileManager.desktop
similarity index 100%
rename from linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-10/16233477653.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-4/FileManager.desktop
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-11/16234050651.desktop b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-5/WebBrowser.desktop
similarity index 100%
rename from linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-11/16234050651.desktop
rename to linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/launcher-5/WebBrowser.desktop
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/whiskermenu-1.rc b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/whiskermenu-1.rc
new file mode 100644
index 0000000..42f58f7
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/panel/whiskermenu-1.rc
@@ -0,0 +1,80 @@
+favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop
+recent=
+button-icon=/usr/share/pixmaps/MiniOS-white.svg
+button-single-row=false
+show-button-title=false
+show-button-icon=true
+launcher-show-name=true
+launcher-show-description=false
+launcher-show-tooltip=true
+item-icon-size=2
+hover-switch-category=false
+category-show-name=true
+category-icon-size=1
+load-hierarchy=false
+view-as-icons=false
+default-category=0
+recent-items-max=10
+favorites-in-recent=true
+position-search-alternate=true
+position-commands-alternate=false
+position-categories-alternate=true
+stay-on-focus-out=false
+confirm-session-command=true
+menu-width=450
+menu-height=500
+menu-opacity=100
+command-settings=xfce4-settings-manager
+show-command-settings=false
+command-lockscreen=xflock4
+show-command-lockscreen=false
+command-switchuser=dm-tool switch-to-greeter
+show-command-switchuser=false
+command-logoutuser=xfce4-session-logout --logout --fast
+show-command-logoutuser=false
+command-restart=xfce4-session-logout --reboot --fast
+show-command-restart=false
+command-shutdown=xfce4-session-logout --halt --fast
+show-command-shutdown=false
+command-suspend=xfce4-session-logout --suspend
+show-command-suspend=false
+command-hibernate=xfce4-session-logout --hibernate
+show-command-hibernate=false
+command-logout=xfce4-session-logout
+show-command-logout=true
+command-menueditor=menulibre
+show-command-menueditor=true
+command-profile=mugshot
+show-command-profile=true
+search-actions=5
+
+[action0]
+name=Man Pages
+pattern=#
+command=exo-open --launch TerminalEmulator man %s
+regex=false
+
+[action1]
+name=Web Search
+pattern=?
+command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u
+regex=false
+
+[action2]
+name=Wikipedia
+pattern=!w
+command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
+regex=false
+
+[action3]
+name=Run in Terminal
+pattern=!
+command=exo-open --launch TerminalEmulator %s
+regex=false
+
+[action4]
+name=Open URI
+pattern=^(file|http|https):\\/\\/(.*)$
+command=exo-open \\0
+regex=true
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
deleted file mode 100644
index 1ad0b4d..0000000
--- a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
deleted file mode 100644
index c3d5d2a..0000000
--- a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
index 6811d35..5dd9176 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
@@ -3,37 +3,22 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
index 9392c5e..f3c9034 100644
--- a/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
@@ -9,81 +9,81 @@
+
+
+
+
-
-
-
-
-
+
-
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
-
-
-
-
+
+
+
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
-
-
-
+
+
+
+
+
-
-
-
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/backgrounds/MiniOS-wallpaper.svg b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/backgrounds/MiniOS-wallpaper.svg
new file mode 100644
index 0000000..9c8639a
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/backgrounds/MiniOS-wallpaper.svg
@@ -0,0 +1,40 @@
+
+
+
+
diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/wallpapers/minios_wallpaper.jpg b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/wallpapers/minios_wallpaper.jpg
deleted file mode 100755
index 727e2a7..0000000
Binary files a/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/wallpapers/minios_wallpaper.jpg and /dev/null differ
diff --git a/linux-live/modules/03-xfce-desktop/standard.list b/linux-live/modules/03-xfce-desktop/standard.list
new file mode 100644
index 0000000..a446dab
--- /dev/null
+++ b/linux-live/modules/03-xfce-desktop/standard.list
@@ -0,0 +1,19 @@
+libxfce4ui-utils
+thunar
+gvfs
+xfce4-appfinder
+xfce4-panel
+xfce4-session
+xfce4-settings
+xfconf
+xfdesktop4
+xfwm4
+elementary-xfce-icon-theme
+greybird-gtk-theme
+xfce4-pulseaudio-plugin
+pulseaudio
+pavucontrol
+xfce4-xkb-plugin
+xfce4-battery-plugin
+xfce4-whiskermenu-plugin
+network-manager-gnome
\ No newline at end of file
diff --git a/linux-live/modules/04-xfce-apps/install b/linux-live/modules/04-xfce-apps/install
index b04f48d..ebebf42 100644
--- a/linux-live/modules/04-xfce-apps/install
+++ b/linux-live/modules/04-xfce-apps/install
@@ -7,10 +7,10 @@ set -u # treat unset variable as error
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
# install packages
-if [ -f $SCRIPT_DIR/package.list ]; then
+if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
- $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
diff --git a/linux-live/modules/04-xfce-apps/minimal.list b/linux-live/modules/04-xfce-apps/minimal.list
new file mode 100644
index 0000000..86b6ab7
--- /dev/null
+++ b/linux-live/modules/04-xfce-apps/minimal.list
@@ -0,0 +1,4 @@
+mousepad
+xarchiver
+ristretto
+xfce4-terminal
\ No newline at end of file
diff --git a/linux-live/modules/04-xfce-apps/package.list b/linux-live/modules/04-xfce-apps/package.list
deleted file mode 100644
index 38a5ef4..0000000
--- a/linux-live/modules/04-xfce-apps/package.list
+++ /dev/null
@@ -1,8 +0,0 @@
-mousepad
-xarchiver
-xfce4-terminal
-xfce4-xkb-plugin
-xfce4-battery-plugin
-ristretto
-volumeicon-alsa
-network-manager-gnome
\ No newline at end of file
diff --git a/linux-live/modules/04-xfce-apps/postinstall b/linux-live/modules/04-xfce-apps/postinstall
index 7192049..cb46633 100644
--- a/linux-live/modules/04-xfce-apps/postinstall
+++ b/linux-live/modules/04-xfce-apps/postinstall
@@ -2,9 +2,6 @@
(cd /rootcopy && cp --parents -afr * /)
-chown live:live /home/live
-chown -R live:live /home/live
-
sed -i 's,create=xarchiver --add-to,create=xarchiver --compress,g' /usr/share/libfm/archivers.list
rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/autostart/volumeicon.desktop b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/autostart/volumeicon.desktop
new file mode 100644
index 0000000..79c425b
--- /dev/null
+++ b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/autostart/volumeicon.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=0.9.4
+Type=Application
+Name=volumeicon
+Comment=
+Exec=volumeicon
+OnlyShowIn=XFCE;
+StartupNotify=false
+Terminal=false
+Hidden=false
+
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/volumeicon/volumeicon b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/volumeicon/volumeicon
new file mode 100644
index 0000000..32df349
--- /dev/null
+++ b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/volumeicon/volumeicon
@@ -0,0 +1,27 @@
+[Alsa]
+card=default
+logarithmic_scale=false
+
+[Notification]
+show_notification=true
+notification_type=0
+
+[StatusIcon]
+stepsize=5
+onclick=xterm -e 'alsamixer'
+theme=White Gnome
+use_panel_specific_icons=false
+reverse_scroll_direction=false
+lmb_slider=false
+mmb_mute=false
+use_horizontal_slider=false
+show_sound_level=false
+use_transparent_background=false
+
+[Hotkeys]
+up_enabled=false
+down_enabled=false
+mute_enabled=false
+up=XF86AudioRaiseVolume
+down=XF86AudioLowerVolume
+mute=XF86AudioMute
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/xfce4/terminal/accels.scm b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/xfce4/terminal/accels.scm
new file mode 100644
index 0000000..43521c9
--- /dev/null
+++ b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/xfce4/terminal/accels.scm
@@ -0,0 +1,56 @@
+; xfce4-terminal GtkAccelMap rc-file -*- scheme -*-
+; this file is an automated accelerator map dump
+;
+(gtk_accel_path "/terminal-window/goto-tab-1" "1")
+(gtk_accel_path "/terminal-window/goto-tab-3" "3")
+; (gtk_accel_path "/terminal-window/file-menu" "")
+; (gtk_accel_path "/terminal-window/close-other-tabs" "")
+; (gtk_accel_path "/terminal-window/search" "f")
+; (gtk_accel_path "/terminal-window/next-tab" "Page_Down")
+; (gtk_accel_path "/terminal-window/copy-html" "")
+; (gtk_accel_path "/terminal-window/show-menubar" "")
+; (gtk_accel_path "/terminal-window/zoom-reset" "0")
+; (gtk_accel_path "/terminal-window/close-window" "q")
+; (gtk_accel_path "/terminal-window/save-contents" "")
+; (gtk_accel_path "/terminal-window/close-tab" "w")
+; (gtk_accel_path "/terminal-window/view-menu" "")
+; (gtk_accel_path "/terminal-window/new-tab" "t")
+; (gtk_accel_path "/terminal-window/show-toolbar" "")
+; (gtk_accel_path "/terminal-window/copy-input" "")
+; (gtk_accel_path "/terminal-window/paste" "v")
+; (gtk_accel_path "/terminal-window/copy" "c")
+; (gtk_accel_path "/terminal-window/edit-menu" "")
+; (gtk_accel_path "/terminal-window/fullscreen" "F11")
+(gtk_accel_path "/terminal-window/goto-tab-6" "6")
+; (gtk_accel_path "/terminal-window/read-only" "")
+; (gtk_accel_path "/terminal-window/detach-tab" "d")
+(gtk_accel_path "/terminal-window/goto-tab-8" "8")
+(gtk_accel_path "/terminal-window/goto-tab-2" "2")
+; (gtk_accel_path "/terminal-window/scroll-on-output" "")
+(gtk_accel_path "/terminal-window/goto-tab-5" "5")
+; (gtk_accel_path "/terminal-window/prev-tab" "Page_Up")
+; (gtk_accel_path "/terminal-window/move-tab-left" "Page_Up")
+; (gtk_accel_path "/terminal-window/zoom-in" "plus")
+; (gtk_accel_path "/terminal-window/search-prev" "")
+; (gtk_accel_path "/terminal-window/reset-and-clear" "")
+; (gtk_accel_path "/terminal-window/about" "")
+; (gtk_accel_path "/terminal-window/search-next" "")
+(gtk_accel_path "/terminal-window/toggle-menubar" "F10")
+(gtk_accel_path "/terminal-window/goto-tab-7" "7")
+; (gtk_accel_path "/terminal-window/select-all" "a")
+; (gtk_accel_path "/terminal-window/help-menu" "")
+(gtk_accel_path "/terminal-window/goto-tab-9" "9")
+; (gtk_accel_path "/terminal-window/show-borders" "")
+; (gtk_accel_path "/terminal-window/new-window" "n")
+(gtk_accel_path "/terminal-window/goto-tab-4" "4")
+; (gtk_accel_path "/terminal-window/contents" "F1")
+; (gtk_accel_path "/terminal-window/preferences" "")
+; (gtk_accel_path "/terminal-window/move-tab-right" "Page_Down")
+; (gtk_accel_path "/terminal-window/zoom-out" "minus")
+; (gtk_accel_path "/terminal-window/set-title" "s")
+; (gtk_accel_path "/terminal-window/paste-selection" "")
+; (gtk_accel_path "/terminal-window/undo-close-tab" "")
+; (gtk_accel_path "/terminal-window/tabs-menu" "")
+; (gtk_accel_path "/terminal-window/zoom-menu" "")
+; (gtk_accel_path "/terminal-window/reset" "")
+; (gtk_accel_path "/terminal-window/terminal-menu" "")
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/xfce4/terminal/terminalrc b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/xfce4/terminal/terminalrc
new file mode 100644
index 0000000..04abf43
--- /dev/null
+++ b/linux-live/modules/04-xfce-apps/rootcopy/etc/skel/.config/xfce4/terminal/terminalrc
@@ -0,0 +1,30 @@
+[Configuration]
+FontName=Monospace 10
+MiscAlwaysShowTabs=FALSE
+MiscBell=FALSE
+MiscBellUrgent=FALSE
+MiscBordersDefault=TRUE
+MiscCursorBlinks=FALSE
+MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
+MiscDefaultGeometry=80x24
+MiscInheritGeometry=FALSE
+MiscMenubarDefault=TRUE
+MiscMouseAutohide=FALSE
+MiscMouseWheelZoom=TRUE
+MiscToolbarDefault=FALSE
+MiscConfirmClose=TRUE
+MiscCycleTabs=TRUE
+MiscTabCloseButtons=TRUE
+MiscTabCloseMiddleClick=TRUE
+MiscTabPosition=GTK_POS_TOP
+MiscHighlightUrls=TRUE
+MiscMiddleClickOpensUri=FALSE
+MiscCopyOnSelect=FALSE
+MiscShowRelaunchDialog=TRUE
+MiscRewrapOnResize=TRUE
+MiscUseShiftArrowsToScroll=FALSE
+MiscSlimTabs=FALSE
+MiscNewTabAdjacent=FALSE
+BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
+BackgroundDarkness=0.800000
+
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/helpers.rc b/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/helpers.rc
deleted file mode 100644
index 7a13989..0000000
--- a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/helpers.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-FileManager=pcmanfm
-TerminalEmulator=xfce4-terminal
-WebBrowser=firefox
-
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.qalculate/qalculate-gtk.cfg b/linux-live/modules/04-xfce-apps/rootcopy/home/live/.qalculate/qalculate-gtk.cfg
deleted file mode 100644
index cc01904..0000000
--- a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.qalculate/qalculate-gtk.cfg
+++ /dev/null
@@ -1,127 +0,0 @@
-
-[General]
-version=0.9.7
-width=450
-height=400
-save_mode_on_exit=1
-save_definitions_on_exit=1
-load_global_definitions=1
-fetch_exchange_rates_at_startup=0
-wget_args=--quiet --tries=1
-show_keypad=1
-show_history=0
-show_stack=1
-rpn_keypad_only=1
-display_expression_status=1
-enable_completion=1
-use_unicode_signs=1
-lower_case_numbers=0
-lower_case_e=1
-base_display=1
-spell_out_logical_operators=1
-dot_as_separator=0
-use_custom_result_font=0
-use_custom_expression_font=0
-use_custom_status_font=0
-custom_result_font=Sans 10
-custom_expression_font=Sans 10
-custom_status_font=Sans 10
-multiplication_sign=0
-division_sign=1
-expression_history=10*20
-expression_history=d*d
-expression_history=5+2/200000000000
-expression_history=5+2/200000
-expression_history=5+2/2
-expression_history=5+2/3
-history_expression=10*20
-history_parse=10 * 20
-history_result=200
-history_expression=d*d
-history_parse=day * day
-history_result=1 d^2
-history_expression=5+2/200000000000
-history_parse=5 + (2 ∕ 2E11)
-history_result_approximate=5
-history_result_approximate=5
-history_expression=5+2/200000000000
-history_parse=5 + (2 ∕ 2E11)
-history_result_approximate=5
-history_result_approximate=5
-history_result_approximate=5
-history_expression=5+2/200000000000
-history_parse=5 + (2 ∕ 2E11)
-history_result_approximate=5
-history_expression=5+2/200000
-history_parse=5 + (2 ∕ 200000)
-history_result=5.00001
-history_expression=5+2/2
-history_parse=5 + (2 ∕ 2)
-history_result=6
-history_expression=5+2/3
-history_parse=5 + (2 ∕ 3)
-history_result_approximate=5.6666667
-recent_functions=
-recent_variables=
-recent_units=
-
-[Mode]
-min_deci=0
-use_min_deci=0
-max_deci=2
-use_max_deci=0
-precision=8
-min_exp=-1
-negative_exponents=0
-sort_minus_last=1
-number_fraction_format=0
-use_prefixes=1
-abbreviate_names=1
-all_prefixes_enabled=0
-denominator_prefix_enabled=1
-place_units_separately=1
-auto_post_conversion=0
-number_base=10
-number_base_expression=10
-read_precision=0
-assume_denominators_nonzero=1
-warn_about_denominators_assumed_nonzero=1
-structuring=1
-angle_unit=1
-functions_enabled=1
-variables_enabled=1
-calculate_functions=1
-calculate_variables=1
-sync_units=1
-unknownvariables_enabled=0
-units_enabled=1
-allow_complex=1
-allow_infinite=1
-indicate_infinite_series=0
-show_ending_zeroes=0
-round_halfway_to_even=0
-approximation=1
-in_rpn_mode=0
-rpn_syntax=0
-limit_implicit_multiplication=0
-spacious=1
-excessive_parenthesis=0
-short_multiplication=1
-default_assumption_type=4
-default_assumption_sign=0
-
-[Plotting]
-plot_legend_placement=2
-plot_style=0
-plot_smoothing=0
-plot_display_grid=1
-plot_full_border=0
-plot_min=0
-plot_max=10
-plot_step=1
-plot_sampling_rate=100
-plot_use_sampling_rate=1
-plot_variable=x
-plot_rows=0
-plot_type=0
-plot_color=1
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/helpers.rc b/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/helpers.rc
deleted file mode 100644
index 7a13989..0000000
--- a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/helpers.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-FileManager=pcmanfm
-TerminalEmulator=xfce4-terminal
-WebBrowser=firefox
-
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-9/16233477351.desktop b/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-9/16233477351.desktop
deleted file mode 100644
index e51e56e..0000000
--- a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/panel/launcher-9/16233477351.desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Type=Application
-Exec=exo-open --launch TerminalEmulator
-Icon=utilities-terminal
-StartupNotify=true
-Terminal=false
-Categories=Utility;X-XFCE;X-Xfce-Toplevel;
-OnlyShowIn=XFCE;
-X-AppStream-Ignore=True
-Name=Terminal Emulator
-Comment=Use the command line
-X-XFCE-Source=file:///usr/share/applications/exo-terminal-emulator.desktop
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
deleted file mode 100644
index a9707d9..0000000
--- a/linux-live/modules/04-xfce-apps/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/root/.qalculate/qalculate-gtk.cfg b/linux-live/modules/04-xfce-apps/rootcopy/root/.qalculate/qalculate-gtk.cfg
deleted file mode 100644
index cc01904..0000000
--- a/linux-live/modules/04-xfce-apps/rootcopy/root/.qalculate/qalculate-gtk.cfg
+++ /dev/null
@@ -1,127 +0,0 @@
-
-[General]
-version=0.9.7
-width=450
-height=400
-save_mode_on_exit=1
-save_definitions_on_exit=1
-load_global_definitions=1
-fetch_exchange_rates_at_startup=0
-wget_args=--quiet --tries=1
-show_keypad=1
-show_history=0
-show_stack=1
-rpn_keypad_only=1
-display_expression_status=1
-enable_completion=1
-use_unicode_signs=1
-lower_case_numbers=0
-lower_case_e=1
-base_display=1
-spell_out_logical_operators=1
-dot_as_separator=0
-use_custom_result_font=0
-use_custom_expression_font=0
-use_custom_status_font=0
-custom_result_font=Sans 10
-custom_expression_font=Sans 10
-custom_status_font=Sans 10
-multiplication_sign=0
-division_sign=1
-expression_history=10*20
-expression_history=d*d
-expression_history=5+2/200000000000
-expression_history=5+2/200000
-expression_history=5+2/2
-expression_history=5+2/3
-history_expression=10*20
-history_parse=10 * 20
-history_result=200
-history_expression=d*d
-history_parse=day * day
-history_result=1 d^2
-history_expression=5+2/200000000000
-history_parse=5 + (2 ∕ 2E11)
-history_result_approximate=5
-history_result_approximate=5
-history_expression=5+2/200000000000
-history_parse=5 + (2 ∕ 2E11)
-history_result_approximate=5
-history_result_approximate=5
-history_result_approximate=5
-history_expression=5+2/200000000000
-history_parse=5 + (2 ∕ 2E11)
-history_result_approximate=5
-history_expression=5+2/200000
-history_parse=5 + (2 ∕ 200000)
-history_result=5.00001
-history_expression=5+2/2
-history_parse=5 + (2 ∕ 2)
-history_result=6
-history_expression=5+2/3
-history_parse=5 + (2 ∕ 3)
-history_result_approximate=5.6666667
-recent_functions=
-recent_variables=
-recent_units=
-
-[Mode]
-min_deci=0
-use_min_deci=0
-max_deci=2
-use_max_deci=0
-precision=8
-min_exp=-1
-negative_exponents=0
-sort_minus_last=1
-number_fraction_format=0
-use_prefixes=1
-abbreviate_names=1
-all_prefixes_enabled=0
-denominator_prefix_enabled=1
-place_units_separately=1
-auto_post_conversion=0
-number_base=10
-number_base_expression=10
-read_precision=0
-assume_denominators_nonzero=1
-warn_about_denominators_assumed_nonzero=1
-structuring=1
-angle_unit=1
-functions_enabled=1
-variables_enabled=1
-calculate_functions=1
-calculate_variables=1
-sync_units=1
-unknownvariables_enabled=0
-units_enabled=1
-allow_complex=1
-allow_infinite=1
-indicate_infinite_series=0
-show_ending_zeroes=0
-round_halfway_to_even=0
-approximation=1
-in_rpn_mode=0
-rpn_syntax=0
-limit_implicit_multiplication=0
-spacious=1
-excessive_parenthesis=0
-short_multiplication=1
-default_assumption_type=4
-default_assumption_sign=0
-
-[Plotting]
-plot_legend_placement=2
-plot_style=0
-plot_smoothing=0
-plot_display_grid=1
-plot_full_border=0
-plot_min=0
-plot_max=10
-plot_step=1
-plot_sampling_rate=100
-plot_use_sampling_rate=1
-plot_variable=x
-plot_rows=0
-plot_type=0
-plot_color=1
diff --git a/linux-live/modules/04-xfce-apps/standard.list b/linux-live/modules/04-xfce-apps/standard.list
new file mode 100644
index 0000000..1cf5a92
--- /dev/null
+++ b/linux-live/modules/04-xfce-apps/standard.list
@@ -0,0 +1,7 @@
+mousepad
+engrampa
+thunar-archive-plugin
+ristretto
+xfce4-terminal
+xfce4-taskmanager
+xfce4-screenshooter
\ No newline at end of file
diff --git a/linux-live/modules/05-firefox-esr/install b/linux-live/modules/05-firefox-esr/install
index b04f48d..ebebf42 100644
--- a/linux-live/modules/05-firefox-esr/install
+++ b/linux-live/modules/05-firefox-esr/install
@@ -7,10 +7,10 @@ set -u # treat unset variable as error
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
# install packages
-if [ -f $SCRIPT_DIR/package.list ]; then
+if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
#sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
- $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
diff --git a/linux-live/modules/05-firefox-esr/package.list b/linux-live/modules/05-firefox-esr/minimal.list
similarity index 100%
rename from linux-live/modules/05-firefox-esr/package.list
rename to linux-live/modules/05-firefox-esr/minimal.list
diff --git a/linux-live/modules/05-firefox-esr/postinstall b/linux-live/modules/05-firefox-esr/postinstall
new file mode 100644
index 0000000..06707c1
--- /dev/null
+++ b/linux-live/modules/05-firefox-esr/postinstall
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+$APT_CMD autoremove $APT_OPTIONS $APT_OPTIONS2 \
+ software-properties-common >>$OUTPUT 2>&1
+
+rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1
diff --git a/linux-live/modules/05-firefox-esr/standard.list b/linux-live/modules/05-firefox-esr/standard.list
new file mode 100644
index 0000000..e7b065e
--- /dev/null
+++ b/linux-live/modules/05-firefox-esr/standard.list
@@ -0,0 +1 @@
+firefox-esr
\ No newline at end of file
diff --git a/linux-live/pkglists/hostreq.list b/linux-live/pkglists/hostreq.list
index fcb86d6..896e241 100644
--- a/linux-live/pkglists/hostreq.list
+++ b/linux-live/pkglists/hostreq.list
@@ -1,3 +1,4 @@
+# Applications required by the host system to build.
# Приложения, необходимые хостовой системе для сборки.
sudo
binutils
diff --git a/linux-live/pkglists/prereq.list b/linux-live/pkglists/prereq.list
index cff925c..15a0992 100644
--- a/linux-live/pkglists/prereq.list
+++ b/linux-live/pkglists/prereq.list
@@ -1,5 +1,5 @@
+# Applications without which installation is impossible.
# Приложения, без которых невозможна установка.
sudo
-#libterm-readline-gnu-perl
systemd-sysv
dbus
\ No newline at end of file
diff --git a/linux-live/unusedmodules/05-clonezilla/install b/linux-live/unusedmodules/05-clonezilla/install
new file mode 100644
index 0000000..b383c59
--- /dev/null
+++ b/linux-live/unusedmodules/05-clonezilla/install
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e # exit on error
+set -o pipefail # exit on pipeline error
+set -u # treat unset variable as error
+
+SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
+
+wget -q http://drbl.sourceforge.net/GPG-KEY-DRBL -O- | apt-key add -
+echo "deb http://drbl.sourceforge.net/drbl-core drbl stable" >/etc/apt/sources.list.d/drbl.list
+
+# install packages
+if [ -f $SCRIPT_DIR/package.list ]; then
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD update >>$OUTPUT 2>&1 &&
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
+ $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+fi
+
+drbl4imp -b
\ No newline at end of file
diff --git a/linux-live/unusedmodules/05-clonezilla/package.list b/linux-live/unusedmodules/05-clonezilla/package.list
new file mode 100644
index 0000000..ae00e09
--- /dev/null
+++ b/linux-live/unusedmodules/05-clonezilla/package.list
@@ -0,0 +1 @@
+drbl
\ No newline at end of file
diff --git a/linux-live/unusedmodules/05-onlyoffice/install b/linux-live/unusedmodules/05-onlyoffice/install
new file mode 100644
index 0000000..4829ba5
--- /dev/null
+++ b/linux-live/unusedmodules/05-onlyoffice/install
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e # exit on error
+set -o pipefail # exit on pipeline error
+set -u # treat unset variable as error
+
+SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
+
+$APT_CMD update >>$OUTPUT 2>&1 &&
+ $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
+ software-properties-common >>$OUTPUT 2>&1
+
+apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
+add-apt-repository 'deb https://download.onlyoffice.com/repo/debian squeeze main'
+
+$APT_CMD autoremove $APT_OPTIONS $APT_OPTIONS2 \
+ software-properties-common >>$OUTPUT 2>&1
+
+# install packages
+if [ -f $SCRIPT_DIR/package.list ]; then
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD update >>$OUTPUT 2>&1 &&
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
+ $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+fi
diff --git a/linux-live/unusedmodules/05-onlyoffice/package.list b/linux-live/unusedmodules/05-onlyoffice/package.list
new file mode 100644
index 0000000..1fe9203
--- /dev/null
+++ b/linux-live/unusedmodules/05-onlyoffice/package.list
@@ -0,0 +1,3 @@
+libpulse0
+libnss3
+onlyoffice-desktopeditors
\ No newline at end of file
diff --git a/linux-live/unusedmodules/05-onlyoffice/postinstall b/linux-live/unusedmodules/05-onlyoffice/postinstall
new file mode 100644
index 0000000..5f6f824
--- /dev/null
+++ b/linux-live/unusedmodules/05-onlyoffice/postinstall
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+#chown live:live /home/live
+#chown -R live:live /home/live
+
+rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1
+rm -Rf /usr/share/icons/Adwaita/256x256 >>$OUTPUT 2>&1
+rm -Rf /usr/share/icons/Adwaita/512x512 >>$OUTPUT 2>&1
diff --git a/linux-live/unusedmodules/05-palemoon/postinstall b/linux-live/unusedmodules/05-palemoon/postinstall
index af89ee3..c143148 100644
--- a/linux-live/unusedmodules/05-palemoon/postinstall
+++ b/linux-live/unusedmodules/05-palemoon/postinstall
@@ -1,4 +1,3 @@
#!/bin/bash
-chown live:live /home/live
-chown -R live:live /home/live
\ No newline at end of file
+chown live:live /home/live/.config/xfce4/helpers.rc
\ No newline at end of file
diff --git a/linux-live/unusedmodules/05-vscode/install b/linux-live/unusedmodules/05-vscode/install
new file mode 100644
index 0000000..528092e
--- /dev/null
+++ b/linux-live/unusedmodules/05-vscode/install
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e # exit on error
+set -o pipefail # exit on pipeline error
+set -u # treat unset variable as error
+
+SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
+
+wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor >packages.microsoft.gpg
+install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
+sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" >/etc/apt/sources.list.d/vscode.list'
+rm -f packages.microsoft.gpg
+
+# install packages
+if [ -f $SCRIPT_DIR/package.list ]; then
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD update >>$OUTPUT 2>&1 &&
+ #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
+ $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \
+ $(grep -vE "^\s*#" $SCRIPT_DIR/package.list | tr "\n" " ") >>$OUTPUT 2>&1
+fi
diff --git a/linux-live/unusedmodules/05-vscode/package.list b/linux-live/unusedmodules/05-vscode/package.list
new file mode 100644
index 0000000..0469830
--- /dev/null
+++ b/linux-live/unusedmodules/05-vscode/package.list
@@ -0,0 +1 @@
+code
\ No newline at end of file
diff --git a/linux-live/unusedmodules/05-vscode/postinstall b/linux-live/unusedmodules/05-vscode/postinstall
new file mode 100644
index 0000000..06707c1
--- /dev/null
+++ b/linux-live/unusedmodules/05-vscode/postinstall
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+$APT_CMD autoremove $APT_OPTIONS $APT_OPTIONS2 \
+ software-properties-common >>$OUTPUT 2>&1
+
+rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/desktop/icons.screen0-784x504.rc b/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x504.rc
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/desktop/icons.screen0-784x504.rc
rename to linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x504.rc
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/desktop/icons.screen0-784x584.rc b/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x584.rc
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/desktop/icons.screen0-784x584.rc
rename to linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x584.rc
diff --git a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-10/16233231142.desktop b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-10/16233231142.desktop
new file mode 100644
index 0000000..598b0c9
--- /dev/null
+++ b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-10/16233231142.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Exec=exo-open --launch FileManager %u
+Icon=system-file-manager
+StartupNotify=true
+Terminal=false
+Categories=Utility;X-XFCE;X-Xfce-Toplevel;
+OnlyShowIn=XFCE;
+X-XFCE-MimeType=inode/directory;x-scheme-handler/trash;
+X-AppStream-Ignore=True
+Name=File Manager
+Comment=Browse the file system
+X-XFCE-Source=file:///usr/share/applications/exo-file-manager.desktop
diff --git a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-11/16233231143.desktop b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-11/16233231143.desktop
new file mode 100644
index 0000000..4662377
--- /dev/null
+++ b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-11/16233231143.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Exec=exo-open --launch WebBrowser %u
+Icon=web-browser
+StartupNotify=true
+Terminal=false
+Categories=Network;X-XFCE;X-Xfce-Toplevel;
+OnlyShowIn=XFCE;
+X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https;
+X-AppStream-Ignore=True
+Name=Web Browser
+Comment=Browse the web
+X-XFCE-Source=file:///usr/share/applications/exo-web-browser.desktop
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-12/16233231144.desktop b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-12/16233231144.desktop
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/panel/launcher-12/16233231144.desktop
rename to linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-12/16233231144.desktop
diff --git a/linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/launcher-9/16233477351.desktop b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-9/16233231141.desktop
similarity index 100%
rename from linux-live/modules/04-xfce-apps/rootcopy/home/live/.config/xfce4/panel/launcher-9/16233477351.desktop
rename to linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-9/16233231141.desktop
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
new file mode 100644
index 0000000..ab0d597
--- /dev/null
+++ b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
diff --git a/linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
similarity index 100%
rename from linux-live/modules/02-xorg/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
rename to linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
diff --git a/linux-live/basesystem/01-core/rootcopy/etc/apt/sources.list b/linux-live/unusedmodules/sources.list
similarity index 100%
rename from linux-live/basesystem/01-core/rootcopy/etc/apt/sources.list
rename to linux-live/unusedmodules/sources.list
diff --git a/repack b/repack
new file mode 100755
index 0000000..cc1a103
--- /dev/null
+++ b/repack
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+set -e # exit on error
+set -o pipefail # exit on pipeline error
+set -u # treat unset variable as error
+
+SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
+PARENT_DIR="$(dirname "$SCRIPT_DIR")"
+ISO_DIR="$(dirname "$SCRIPT_DIR")"/iso
+
+set +u
+if [ -z $OUTPUT ]; then
+ . $SCRIPT_DIR/linux-live/buildconfig || exit 1
+fi
+set -u
+. $SCRIPT_DIR/linux-live/minioslib || exit 1
+. $SCRIPT_DIR/linux-live/config || exit 1
+
+# don't change! use ./autoinstall instead
+UNATTENDED="0"
+
+CMD=(repack_modules build_iso)
+
+# ============= main ================
+
+BUILD_DIR=""
+
+common_variables
+
+if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
+ new_run
+fi
+
+console_colours
+
+allow_root_only
+
+create_livekitname_install_symlink
+
+create_completion
+
+create_backup
+
+# check number of args
+if [[ $# == 0 || $# > 3 ]]; then help; fi
+
+# loop through args
+dash_flag=false
+start_index=0
+end_index=${#CMD[*]}
+for ii in "$@"; do
+ if [[ $ii == "-" ]]; then
+ dash_flag=true
+ continue
+ fi
+ find_index $ii
+ if [[ $dash_flag == false ]]; then
+ start_index=$index
+ else
+ end_index=$(($index + 1))
+ fi
+done
+if [[ $dash_flag == false ]]; then
+ end_index=$(($start_index + 1))
+fi
+
+#loop through the commands
+for ((ii = $start_index; ii < $end_index; ii++)); do
+ setup_build_dir
+ ${CMD[ii]}
+done
+
+echo -e "${BOLD}${LIGHTYELLOW}$0${ENDCOLOUR} - ${LIGHTGREEN}Command completed successfully!${ENDCOLOUR}"