Browse Source

build livekit modules

master
crims0n 5 years ago
parent
commit
37262cc58a
  1. 73
      add_pkg
  2. 1
      add_pkg.list
  3. 73
      build_modules
  4. BIN
      linux-live/bootfiles/boot/grub/bootlogo.png
  5. BIN
      linux-live/bootfiles/boot/grub/bootlogo960.png
  6. 48
      linux-live/bootfiles/boot/grub/grub.cfg
  7. 32
      linux-live/bootfiles/boot/syslinux/syslinux.cfg
  8. 3
      linux-live/buildconfig
  9. 33
      linux-live/initramfs/initramfs_create
  10. 17
      linux-live/initrfs
  11. 634
      linux-live/minioslib
  12. 15
      linux-live/modules/02-xorg/build
  13. 17
      linux-live/modules/02-xubuntu
  14. 3
      linux-live/modules/03-apps
  15. 1
      linux-live/modules/03-desktop/install
  16. 2
      linux-live/pkglists/main.list
  17. 0
      linux-live/rootcopy-casper/etc/casper.conf
  18. 0
      linux-live/rootcopy-casper/etc/issue
  19. 0
      linux-live/rootcopy-casper/etc/issue.net
  20. 0
      linux-live/rootcopy-casper/etc/skel/.config/xfce4/helpers.rc
  21. 0
      linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/launcher-19/16093657651.desktop
  22. 0
      linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/launcher-23/16093659533.desktop
  23. 0
      linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/launcher-24/16093659584.desktop
  24. 0
      linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
  25. 0
      linux-live/rootcopy-casper/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
  26. 0
      linux-live/rootcopy-casper/etc/ssh/sshd_config
  27. 0
      linux-live/rootcopy-casper/etc/timezone
  28. 0
      linux-live/rootcopy-casper/root/.bashrc
  29. 0
      linux-live/rootcopy-casper/root/.i18n
  30. 0
      linux-live/rootcopy-casper/usr/share/backgrounds/MiniOS.png
  31. 0
      linux-live/rootcopy-casper/usr/share/pixmaps/MiniOS-white.svg
  32. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/default.plymouth
  33. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/details/details.plymouth
  34. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/fsck-fade.png
  35. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/fsck-fade_16bit.png
  36. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/logo.png
  37. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/logo_16bit.png
  38. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth
  39. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/minios-logo.script
  40. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/passw-dialog.png
  41. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-fade.png
  42. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-fade_16bit.png
  43. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-meter.png
  44. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-meter_16bit.png
  45. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/spinner.png
  46. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/test.png
  47. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/wallpaper.png
  48. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-text/minios-text.plymouth
  49. 0
      linux-live/rootcopy-casper/usr/share/plymouth/themes/text.plymouth
  50. 0
      linux-live/rootcopy-livekit/etc/hostname
  51. 0
      linux-live/rootcopy-livekit/etc/hosts
  52. 0
      linux-live/rootcopy-livekit/etc/issue
  53. 0
      linux-live/rootcopy-livekit/etc/issue.net
  54. 0
      linux-live/rootcopy-livekit/etc/localtime
  55. 0
      linux-live/rootcopy-livekit/etc/ssh/sshd_config
  56. 0
      linux-live/rootcopy-livekit/etc/timezone
  57. 0
      linux-live/rootcopy-livekit/root/.bashrc
  58. 0
      linux-live/rootcopy-livekit/usr/bin/dir2sb
  59. 0
      linux-live/rootcopy-livekit/usr/bin/genminiosiso
  60. 0
      linux-live/rootcopy-livekit/usr/bin/pxe
  61. 0
      linux-live/rootcopy-livekit/usr/bin/rmsbdir
  62. 0
      linux-live/rootcopy-livekit/usr/bin/savechanges
  63. 0
      linux-live/rootcopy-livekit/usr/bin/sb
  64. 0
      linux-live/rootcopy-livekit/usr/bin/sb2dir
  65. 0
      linux-live/rootcopy-livekit/usr/bin/slax
  66. 0
      linux-live/rootcopy-livekit/usr/lib/systemd/system/apparmor.service
  67. 0
      linux-live/rootcopy-livekit/usr/lib/systemd/system/dhclient.service
  68. 0
      linux-live/rootcopy-livekit/usr/lib/systemd/system/getty@.service
  69. 0
      linux-live/rootcopy-livekit/usr/lib/udev/rules.d/90-slax-automount.rules
  70. 0
      linux-live/rootcopy-livekit/usr/sbin/gtk-bookmarks-update
  71. 0
      linux-live/rootcopy-livekit/usr/sbin/slax-automount
  72. 1
      linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/helpers.rc
  73. 15
      linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/launcher-19/16093657651.desktop
  74. 16
      linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/launcher-23/16093659533.desktop
  75. 14
      linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/launcher-24/16093659584.desktop
  76. 68
      linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/whiskermenu-1.rc
  77. 123
      linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
  78. 124
      linux-live/rootcopy-modules/02-xubuntu/etc/ssh/sshd_config
  79. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/backgrounds/MiniOS.png
  80. 149
      linux-live/rootcopy-modules/02-xubuntu/usr/share/pixmaps/MiniOS-white.svg
  81. 1
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/default.plymouth
  82. 4
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/details/details.plymouth
  83. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/fsck-fade.png
  84. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/fsck-fade_16bit.png
  85. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/logo.png
  86. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/logo_16bit.png
  87. 8
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth
  88. 512
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/minios-logo.script
  89. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/passw-dialog.png
  90. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-fade.png
  91. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-fade_16bit.png
  92. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-meter.png
  93. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-meter_16bit.png
  94. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/spinner.png
  95. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/test.png
  96. BIN
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/wallpaper.png
  97. 11
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-text/minios-text.plymouth
  98. 1
      linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/text.plymouth
  99. 1376
      md5sum.txt

73
add_pkg

@ -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=(add_package)
# ============= 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}"

1
add_pkg.list

@ -0,0 +1 @@
xubuntu-core^

73
build_modules

@ -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=(build_modules)
# ============= 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}"

BIN
linux-live/bootfiles/boot/grub/bootlogo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 171 KiB

BIN
linux-live/bootfiles/boot/grub/bootlogo960.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

48
linux-live/bootfiles/boot/grub/grub.cfg

@ -1,48 +0,0 @@
set default="0"
set timeout="10"
set hidden_timeout_quiet=false
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
set color_normal=black/black
set color_highlight=black/white
loadfont /boot/grub/unicode.pf2
background_image /boot/grub/bootlogo.png
set default_settings="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 apparmor=0 net.ifnames=0 biosdevname=0"
set perch_settings="slax.flags=perch,automount"
set live_settings="slax.flags=automount"
set ram_settings="slax.flags=toram"
set debug_settings="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 debug net.ifnames=0 biosdevname=0"
set linux_64="/minios/boot/vmlinuz"
set initrd_img="/minios/boot/initrfs.img"
set default=0
set message="Загружаем ядро и рамдиск... Подождите..."
menuentry "Запуск MiniOS с сохранением изменений"{
echo $message
search --set -f $linux_64
linux $linux_64 $default_settings $perch_settings
initrd $initrd_img
}
menuentry "Запуск MiniOS в чистом режиме"{
echo $message
search --set -f $linux_64
linux $linux_64 $default_settings $live_settings
initrd $initrd_img
}
menuentry "Запуск MiniOS с загрузкой в RAM"{
echo $message
search --set -f $linux_64
linux $linux_64 $default_settings $ram_settings
initrd $initrd_img
}
menuentry "Запуск MiniOS в режиме отладки"{
echo $message
search --set -f $linux_64
linux $linux_64 $debug_settings
initrd $initrd_img
}

32
linux-live/bootfiles/boot/syslinux/syslinux.cfg

@ -1,32 +0,0 @@
FONT 866_8x16.psf
DEFAULT vesamenu.c32
PROMPT 0
TIMEOUT 90
ALLOWOPTIONS 0
ONTIMEOUT default
MENU BACKGROUND bootlogo.png
MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #901E1E1E #00000000 std
MENU COLOR sel 7;37;40 #ff1E1E1E #99006693 all
MENU COLOR hotsel 1;7;37;40 #55555555 #99006693 all
LABEL default
MENU LABEL ‡ ¯ã᪠MiniOS á á®åà ­¥­¨¥¬ ¨§¬¥­¥­¨©
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=perch,automount apparmor=0 net.ifnames=0 biosdevname=0
LABEL live
MENU LABEL ‡ ¯ã᪠MiniOS ¢ ç¨á⮬ ०¨¬¥
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=automount apparmor=0 net.ifnames=0 biosdevname=0
LABEL toram
MENU LABEL ‡ ¯ã᪠MiniOS á § £à㧪®© ¢ RAM
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=toram apparmor=0 net.ifnames=0 biosdevname=0
LABEL debug
MENU LABEL ‡ ¯ã᪠MiniOS ¢ ०¨¬¥ ®â« ¤ª¨
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 debug net.ifnames=0 biosdevname=0

3
linux-live/buildconfig

@ -28,4 +28,5 @@ APT_CMD="apt-get"
APT_OPTIONS="-y" #--no-install-recommends" APT_OPTIONS="-y" #--no-install-recommends"
LIVE_TYPE="ubuntu" #LIVE_TYPE="casper"
LIVE_TYPE="livekit"

33
linux-live/initramfs/initramfs_create

@ -10,8 +10,7 @@ INITRAMFS=/tmp/$LIVEKITNAME-initramfs-$$
# copy file to initramfs tree, including # copy file to initramfs tree, including
# all library dependencies (as shown by ldd) # all library dependencies (as shown by ldd)
# $1 = file to copy (full path) # $1 = file to copy (full path)
copy_including_deps() copy_including_deps() {
{
# if source doesn't exist or target exists, do nothing # if source doesn't exist or target exists, do nothing
if [ ! -e "$1" -o -e "$INITRAMFS"/"$1" ]; then if [ ! -e "$1" -o -e "$INITRAMFS"/"$1" ]; then
return return
@ -21,13 +20,16 @@ copy_including_deps()
if [ -L "$1" ]; then if [ -L "$1" ]; then
DIR="$(dirname "$1")" DIR="$(dirname "$1")"
LNK="$(readlink "$1")" LNK="$(readlink "$1")"
copy_including_deps "$(cd "$DIR"; realpath -s "$LNK")" copy_including_deps "$(
cd "$DIR"
realpath -s "$LNK"
)"
fi fi
ldd "$1" 2>/dev/null | sed -r "s/.*=>|[(].*//g" | sed -r "s/^\\s+|\\s+\$//" \ ldd "$1" 2>/dev/null | sed -r "s/.*=>|[(].*//g" | sed -r "s/^\\s+|\\s+\$//" |
| while read LIB; do while read LIB; do
copy_including_deps "$LIB" copy_including_deps "$LIB"
done done
for MOD in $(find "$1" -type f | grep .ko); do for MOD in $(find "$1" -type f | grep .ko); do
for DEP in $(cat /$LMK/modules.dep | fgrep /$(basename $MOD):); do for DEP in $(cat /$LMK/modules.dep | fgrep /$(basename $MOD):); do
@ -37,7 +39,7 @@ copy_including_deps()
shift shift
if [ "$1" != "" ]; then if [ "$1" != "" ]; then
copy_including_deps "$@" copy_including_deps "$@"
fi fi
} }
@ -125,12 +127,14 @@ copy_including_deps /$LMK/updates
copy_including_deps /$LMK/modules.* copy_including_deps /$LMK/modules.*
find $INITRAMFS -name "*.ko.gz" -exec gunzip {} \; find $INITRAMFS -name "*.ko.gz" -exec gunzip {} \;
# trim modules.order file. Perhaps we could remove it entirely # trim modules.order file. Perhaps we could remove it entirely
MODULEORDER="$(cd "$INITRAMFS/$LMK/"; find -name "*.ko" | sed -r "s:^./::g" | tr "\n" "|" | sed -r "s:[.]:.:g")" MODULEORDER="$(
cat $INITRAMFS/$LMK/modules.order | sed -r "s/.ko.gz\$/.ko/" | grep -E "$MODULEORDER"/foo/bar > $INITRAMFS/$LMK/_ cd "$INITRAMFS/$LMK/"
find -name "*.ko" | sed -r "s:^./::g" | tr "\n" "|" | sed -r "s:[.]:.:g"
)"
cat $INITRAMFS/$LMK/modules.order | sed -r "s/.ko.gz\$/.ko/" | grep -E "$MODULEORDER"/foo/bar >$INITRAMFS/$LMK/_
mv $INITRAMFS/$LMK/_ $INITRAMFS/$LMK/modules.order mv $INITRAMFS/$LMK/_ $INITRAMFS/$LMK/modules.order
depmod -b $INITRAMFS $KERNEL depmod -b $INITRAMFS $KERNEL
@ -148,6 +152,13 @@ cp ../config $INITRAMFS/lib/
cd $INITRAMFS cd $INITRAMFS
find . -print | cpio -o -H newc 2>/dev/null | xz -f --extreme --check=crc32 >$INITRAMFS.img find . -print | cpio -o -H newc 2>/dev/null | xz -f --extreme --check=crc32 >$INITRAMFS.img
: 'if [ $COMP_TYPE = "xz" ]; then
find . -print | cpio -o -H newc 2>/dev/null | xz -f --extreme --check=crc32 >$INITRAMFS.img
elif [ $COMP_TYPE = "lz4" ]; then
find . -print | cpio -o -H newc 2>/dev/null | lz4 -9 >$INITRAMFS.img
fi'
echo $INITRAMFS.img echo $INITRAMFS.img
cd .. cd ..

17
linux-live/initrfs

@ -0,0 +1,17 @@
#!/bin/bash
export PATH=.:./tools:../tools:/usr/sbin:/usr/bin:/sbin:/bin:/
. /linux-live/config || exit 1
. /linux-live/livekitlib || exit 1
. /linux-live/buildconfig || exit 1
# build initramfs image
echo "Building intramfs image..."
cd /linux-live/initramfs
chmod 755 ./initramfs_create
INITRAMFS=$(./initramfs_create)
if [ "$INITRAMFS" != "" ]; then
mv "$INITRAMFS" /boot/initrfs.img
fi

634
linux-live/minioslib

@ -609,6 +609,61 @@ function build_chroot() {
fi fi
} }
function add_package() {
current_process
if [ $CONTAINER_TYPE = "1" ]; then
if [ ! -f /.minios-live ]; then
setup_host
fi
fi
chroot_mount_fs
#copy_build_scripts
if [ -d /opt/minios-live ] || [ -f /.minios-live-container ]; then
chroot $BUILD_DIR /usr/bin/env \
OUTPUT=$OUTPUT \
LOGPATH=$LOGPATH \
BUILD_TEST_ISO=$BUILD_TEST_ISO \
CREATE_BACKUP=$CREATE_BACKUP \
DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \
APT_CMD=$APT_CMD \
APT_OPTIONS=$APT_OPTIONS \
LIVE_TYPE=$LIVE_TYPE \
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
chroot $BUILD_DIR /usr/bin/env \
OUTPUT=$OUTPUT \
LOGPATH=$LOGPATH \
BUILD_TEST_ISO=$BUILD_TEST_ISO \
CREATE_BACKUP=$CREATE_BACKUP \
DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \
APT_CMD=$APT_CMD \
APT_OPTIONS=$APT_OPTIONS \
LIVE_TYPE=$LIVE_TYPE \
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/add_pkg.list | tr "\n" " ") >>$OUTPUT 2>&1
else
chroot $BUILD_DIR sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
chroot $BUILD_DIR sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/add_pkg.list | tr "\n" " ") >>$OUTPUT 2>&1
fi
chroot_umount_fs
rm -f $BUILD_DIR/var/lib/apt/extended_states >>$OUTPUT 2>&1
rm -f $BUILD_DIR/var/lib/apt/lists/*Packages >>$OUTPUT 2>&1
rm -f $BUILD_DIR/var/lib/apt/lists/*Translation* >>$OUTPUT 2>&1
rm -f $BUILD_DIR/var/lib/apt/lists/*InRelease >>$OUTPUT 2>&1
rm -f $BUILD_DIR/var/lib/apt/lists/deb.* >>$OUTPUT 2>&1
rm -f $BUILD_DIR/var/lib/dpkg/*-old >>$OUTPUT 2>&1
}
function build_initrd() { function build_initrd() {
current_process current_process
@ -618,7 +673,7 @@ function build_initrd() {
fi fi
fi fi
(cd $SCRIPT_DIR/linux-live/rootcopy-ubuntu && cp --parents -afr * $BUILD_DIR/) (cd $SCRIPT_DIR/linux-live/rootcopy-casper && cp --parents -afr * $BUILD_DIR/)
chroot_mount_fs chroot_mount_fs
@ -650,45 +705,215 @@ function build_live() {
remove_log_file remove_log_file
if [ $LIVE_TYPE = "linux-live" ]; then rm -rf $BUILD_DIR/tmp/* >>$OUTPUT 2>&1
rm -f $BUILD_DIR/root/.bash_history >>$OUTPUT 2>&1
rm -rf $BUILD_DIR/root/.cache >>$OUTPUT 2>&1
rm -rf $BUILD_DIR/root/.config >>$OUTPUT 2>&1
if [ $LIVE_TYPE = "livekit" ]; then
copy_build_scripts copy_build_scripts
check_build_dir check_build_dir
chroot $BUILD_DIR mount none -t proc /proc #(cd /linux-live/rootcopy && cp --parents -afr * /)
: 'chroot $BUILD_DIR /bin/bash -x <<EOF
cd /linux-live echo "Set up password for user 'root'" >>$OUTPUT 2>&1
./build echo root:toor | chroot $BUILD_DIR chpasswd >>$OUTPUT 2>&1
EOF'
if [ -d /opt/minios-live ] || [ -f /.minios-live-container ]; then if ! cat $BUILD_DIR/etc/passwd | grep /home/live; then
chroot $BUILD_DIR /usr/bin/env \ echo "Set up user 'live'" >>$OUTPUT 2>&1
OUTPUT=$OUTPUT \ chroot $BUILD_DIR adduser --gecos '' live --disabled-password >>$OUTPUT 2>&1
LOGPATH=$LOGPATH \ fi
BUILD_TEST_ISO=$BUILD_TEST_ISO \ echo "Set up password for user 'live'" >>$OUTPUT 2>&1
CREATE_BACKUP=$CREATE_BACKUP \ echo live:evil | chroot $BUILD_DIR chpasswd >>$OUTPUT 2>&1
DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ chroot $BUILD_DIR addgroup live adm >>$OUTPUT 2>&1
APT_CMD=$APT_CMD \ chroot $BUILD_DIR addgroup live sudo >>$OUTPUT 2>&1
APT_OPTIONS=$APT_OPTIONS \
LIVE_TYPE=$LIVE_TYPE /linux-live/build cat <<EOF >$BUILD_DIR/etc/sudoers.d/90-minios
else # live user is default user in minios.
chroot $BUILD_DIR /linux-live/build # It needs passwordless sudo functionality.
live ALL=(ALL) NOPASSWD:ALL
EOF
if [ -d $BUILD_DIR/etc/lightdm ]; then
cat <<EOF >$BUILD_DIR/etc/lightdm/lightdm.conf
[Seat:*]
autologin-session=xubuntu
autologin-user=live
autologin-user-timeout=0
EOF
fi fi
if [ ! -d $BUILD_DIR/etc/NetworkManager ]; then
echo "Enable dhclient.service autostart." >>$OUTPUT 2>&1
chroot $BUILD_DIR cat <<EOF >/lib/systemd/system/dhclient.service
[Unit]
Description=DHCP Client
Documentation=man:dhclient(8)
Wants=network.target
After=network-pre.target systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
ConditionPathExists=!/run/initramfs/net.up.flag
[Service]
Type=forking
ExecStart=-/bin/sh -c 'udevadm settle && dhclient -nw'
PIDFile=/run/dhclient.pid
[Install]
WantedBy=multi-user.target
WantedBy=network-online.target
EOF
chroot $BUILD_DIR systemctl enable dhclient >>$OUTPUT 2>&1
fi
chroot $BUILD_DIR /bin/bash -x <<EOF
if [ -f /etc/systemd/system/multi-user.target.wants/grub-initrd-fallback.service ]; then
echo "Disable grub-initrd-fallback.service autostart."
systemctl disable grub-initrd-fallback.service
fi
EOF
chroot $BUILD_DIR mount none -t proc /proc
chroot $BUILD_DIR /linux-live/initrfs
chroot $BUILD_DIR umount /proc chroot $BUILD_DIR umount /proc
elif [ $LIVE_TYPE = "ubuntu" ]; then
rm -rf $PARENT_DIR/image
mkdir -p $PARENT_DIR/image/$LIVEKITNAME/{boot,changes,modules}
# kernel files
cp $BUILD_DIR/boot/vmlinuz-**-**-generic $PARENT_DIR/image/$LIVEKITNAME/boot/vmlinuz
mv $BUILD_DIR/boot/initrfs.img $PARENT_DIR/image/$LIVEKITNAME/boot/initrfs.img
cp -r $SCRIPT_DIR/linux-live/bootfiles/* $PARENT_DIR/image/
cat <<'EOF' >$PARENT_DIR/image/boot/grub/grub.cfg
set default="0"
set timeout="10"
set hidden_timeout_quiet=false
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
set color_normal=black/black
set color_highlight=black/white
loadfont /boot/grub/unicode.pf2
background_image /boot/grub/bootlogo.png
set default_settings="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 apparmor=0 net.ifnames=0 biosdevname=0"
set perch_settings="slax.flags=perch,automount"
set live_settings="slax.flags=automount"
set ram_settings="slax.flags=toram"
set debug_settings="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 debug net.ifnames=0 biosdevname=0"
set linux_64="/minios/boot/vmlinuz"
set initrd_img="/minios/boot/initrfs.img"
set default=0
set message="Загружаем ядро и рамдиск... Подождите..."
menuentry "Запуск MiniOS с сохранением изменений"{
echo $message
search --set -f $linux_64
linux $linux_64 $default_settings $perch_settings
initrd $initrd_img
}
menuentry "Запуск MiniOS в чистом режиме"{
echo $message
search --set -f $linux_64
linux $linux_64 $default_settings $live_settings
initrd $initrd_img
}
menuentry "Запуск MiniOS с загрузкой в RAM"{
echo $message
search --set -f $linux_64
linux $linux_64 $default_settings $ram_settings
initrd $initrd_img
}
menuentry "Запуск MiniOS в режиме отладки"{
echo $message
search --set -f $linux_64
linux $linux_64 $debug_settings
initrd $initrd_img
}
EOF
cat <<'EOF' | iconv -f 'UTF-8' -t "CP866//TRANSLIT" >$PARENT_DIR/image/boot/syslinux/syslinux.cfg
FONT 866_8x16.psf
DEFAULT vesamenu.c32
PROMPT 0
TIMEOUT 90
ALLOWOPTIONS 0
ONTIMEOUT default
MENU BACKGROUND bootlogo.png
MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #901E1E1E #00000000 std
MENU COLOR sel 7;37;40 #ff1E1E1E #99006693 all
MENU COLOR hotsel 1;7;37;40 #55555555 #99006693 all
LABEL default
MENU LABEL Запуск MiniOS с сохранением изменений
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=perch,automount apparmor=0 net.ifnames=0 biosdevname=0
LABEL live
MENU LABEL Запуск MiniOS в чистом режиме
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=automount apparmor=0 net.ifnames=0 biosdevname=0
LABEL toram
MENU LABEL Запуск MiniOS с загрузкой в RAM
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=toram apparmor=0 net.ifnames=0 biosdevname=0
LABEL debug
MENU LABEL Запуск MiniOS в режиме отладки
KERNEL /minios/boot/vmlinuz
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 debug net.ifnames=0 biosdevname=0
EOF
# create compressed 01-core.sb
cd $BUILD_DIR
COREFS=""
for i in $MKMOD; do
if [ -d /$i ]; then
COREFS="$COREFS $i"
fi
done
mksquashfs $COREFS $PARENT_DIR/image/$LIVEKITNAME/01-core.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -keep-as-directory -noappend || exit
build_modules
elif [ $LIVE_TYPE = "casper" ]; then
chroot $BUILD_DIR passwd -l root
if cat $BUILD_DIR/etc/passwd | grep /home/live; then
chroot $BUILD_DIR userdel live
fi
chroot $BUILD_DIR /bin/bash -x <<EOF
if [ -f /etc/systemd/system/multi-user.target.wants/grub-initrd-fallback.service ]; then
echo "Enable grub-initrd-fallback.service autostart."
systemctl enable grub-initrd-fallback.service
fi
EOF
rm -rf $BUILD_DIR/linux-live rm -rf $BUILD_DIR/linux-live
rm -rf $PARENT_DIR/image rm -rf $PARENT_DIR/image
mkdir -p $PARENT_DIR/image/casper mkdir -p $PARENT_DIR/image/casper
# copy kernel files # copy kernel files
sudo cp $BUILD_DIR/boot/vmlinuz-**-**-generic $PARENT_DIR/image/casper/vmlinuz cp $BUILD_DIR/boot/vmlinuz-**-**-generic $PARENT_DIR/image/casper/vmlinuz
sudo cp $BUILD_DIR/boot/initrd.img-**-**-generic $PARENT_DIR/image/casper/initrd cp $BUILD_DIR/boot/initrd.img-**-**-generic $PARENT_DIR/image/casper/initrd
cp -r $SCRIPT_DIR/linux-live/bootfiles-ubuntu/* $PARENT_DIR/image/ cp -r $SCRIPT_DIR/linux-live/bootfiles/* $PARENT_DIR/image/
cat <<'EOF' >$PARENT_DIR/image/boot/grub/grub.cfg cat <<'EOF' >$PARENT_DIR/image/boot/grub/grub.cfg
set default="0" set default="0"
set timeout="10" set timeout="10"
set gfxmode=auto set gfxmode=auto
insmod efi_gop insmod efi_gop
insmod efi_uga insmod efi_uga
@ -794,7 +1019,7 @@ APPEND vga=normal initrd=/casper/initrd boot=casper quiet splash net.ifnames=0 b
EOF EOF
# generate manifest # generate manifest
chroot $BUILD_DIR dpkg-query -W --showformat='${Package} ${Version}\n' | tee $PARENT_DIR/image/casper/filesystem.manifest chroot $BUILD_DIR dpkg-query -W --showformat='${Package} ${Version}\n' | tee $PARENT_DIR/image/casper/filesystem.manifest >>$OUTPUT 2>&1
cp -v $PARENT_DIR/image/casper/filesystem.manifest $PARENT_DIR/image/casper/filesystem.manifest-desktop cp -v $PARENT_DIR/image/casper/filesystem.manifest $PARENT_DIR/image/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' $PARENT_DIR/image/casper/filesystem.manifest-desktop sed -i '/ubiquity/d' $PARENT_DIR/image/casper/filesystem.manifest-desktop
sed -i '/casper/d' $PARENT_DIR/image/casper/filesystem.manifest-desktop sed -i '/casper/d' $PARENT_DIR/image/casper/filesystem.manifest-desktop
@ -803,7 +1028,7 @@ EOF
sed -i '/os-prober/d' $PARENT_DIR/image/casper/filesystem.manifest-desktop sed -i '/os-prober/d' $PARENT_DIR/image/casper/filesystem.manifest-desktop
# compress rootfs # compress rootfs
mksquashfs $BUILD_DIR $PARENT_DIR/image/casper/filesystem.squashfs -noappend -comp $COMP_TYPE -b 1048576 mksquashfs $BUILD_DIR $PARENT_DIR/image/casper/filesystem.squashfs -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit
printf $(sudo du -sx --block-size=1 $BUILD_DIR | cut -f1) >$PARENT_DIR/image/casper/filesystem.size printf $(sudo du -sx --block-size=1 $BUILD_DIR | cut -f1) >$PARENT_DIR/image/casper/filesystem.size
# create diskdefines # create diskdefines
@ -839,10 +1064,6 @@ function build_iso() {
check_build_dir check_build_dir
if [ $LIVE_TYPE = "linux-live" ]; then
copy_build_scripts
fi
if [ "$UNATTENDED" = "1" ]; then if [ "$UNATTENDED" = "1" ]; then
BUILD_DIR="/build/$DISTRIBUTION" BUILD_DIR="/build/$DISTRIBUTION"
fi fi
@ -850,14 +1071,8 @@ function build_iso() {
LAST_BUILD_DIR=$(cat "$SCRIPT_DIR/.build_dir") >>$OUTPUT 2>&1 LAST_BUILD_DIR=$(cat "$SCRIPT_DIR/.build_dir") >>$OUTPUT 2>&1
BUILD_DIR=$LAST_BUILD_DIR BUILD_DIR=$LAST_BUILD_DIR
fi fi
if [ $LIVE_TYPE = "linux-live" ]; then
LIVEKITDATA=$(cat $BUILD_DIR/tmp/livekitdata)
IMAGE_DIR=$BUILD_DIR$LIVEKITDATA
elif [ $LIVE_TYPE = "ubuntu" ]; then
IMAGE_DIR="$PARENT_DIR/image"
fi
cd $IMAGE_DIR cd $PARENT_DIR/image
if [ ! -d $ISO_DIR ]; then if [ ! -d $ISO_DIR ]; then
mkdir -p $ISO_DIR mkdir -p $ISO_DIR
fi fi
@ -866,8 +1081,8 @@ function build_iso() {
VER=$SYSTEMVER VER=$SYSTEMVER
DATE=$(date +%Y%m%d_%H%M) DATE=$(date +%Y%m%d_%H%M)
DIR=$IMAGE_DIR DIR=$PARENT_DIR/image
ISO=$ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$DATE.iso ISO=$ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso
B="-b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat" B="-b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat"
C="-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot" C="-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot"
@ -889,7 +1104,7 @@ function build_iso() {
VER="$SYSTEMNAME $VER" VER="$SYSTEMNAME $VER"
if [ REMOVE_OLD_ISO = "1" ]; then if [ REMOVE_OLD_ISO = "1" ]; then
rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-*.iso >>$OUTPUT 2>&1 rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-*.iso >>$OUTPUT 2>&1
fi fi
if if
@ -911,7 +1126,10 @@ function build_iso() {
fi fi
fi fi
if [ $BUILD_TEST_ISO = "1" ]; then if [ $BUILD_TEST_ISO = "1" ]; then
if ln -s $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$DISTRIBUTION_ARCH-$COMP_TYPE-$DATE.iso $ISO_DIR/$LIVEKITNAME.iso; then if [ -f $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
echo ">>> $ISO_DIR/$LIVEKITNAME.iso created" echo ">>> $ISO_DIR/$LIVEKITNAME.iso created"
fi fi
fi fi
@ -1012,7 +1230,7 @@ function main_pkg_list() {
$APT_CMD install $APT_OPTIONS \ $APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/main.list | tr "\n" " ") >>$OUTPUT 2>&1 $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/main.list | tr "\n" " ") >>$OUTPUT 2>&1
fi fi
if [ $LIVE_TYPE = "ubuntu" ]; then if [ $LIVE_TYPE = "casper" ]; then
if [ -f $SCRIPT_DIR/pkglists/ubuntu-main.list ]; then if [ -f $SCRIPT_DIR/pkglists/ubuntu-main.list ]; then
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \ $APT_CMD install $APT_OPTIONS \
@ -1035,7 +1253,7 @@ function main_pkg_list() {
function other_pkg_list() { function other_pkg_list() {
echo -e "${YELLOW}=====> installing other packages for chroot system ...${ENDCOLOUR}" echo -e "${YELLOW}=====> installing other packages for chroot system ...${ENDCOLOUR}"
if [ $LIVE_TYPE = "ubuntu" ]; then if [ $LIVE_TYPE = "casper" ]; then
if [ -f $SCRIPT_DIR/pkglists/ubuntu-other.list ]; then if [ -f $SCRIPT_DIR/pkglists/ubuntu-other.list ]; then
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD update >>$OUTPUT 2>&1 &&
@ -1060,11 +1278,11 @@ function chroot_pkg_install() {
other_pkg_list other_pkg_list
if [ $LIVE_TYPE = "linux-live" ]; then if [ $LIVE_TYPE = "livekit" ]; then
(cd /linux-live/rootcopy && cp --parents -afr * /) (cd /linux-live/rootcopy-livekit && cp --parents -afr * /)
elif [ $LIVE_TYPE = "ubuntu" ]; then elif [ $LIVE_TYPE = "casper" ]; then
#echo "" #echo ""
(cd /linux-live/rootcopy-ubuntu && cp --parents -afr * /) (cd /linux-live/rootcopy-casper && cp --parents -afr * /)
fi fi
if [ $DEBIAN_FRONTEND_TYPE = "noninteractive" ]; then if [ $DEBIAN_FRONTEND_TYPE = "noninteractive" ]; then
@ -1134,7 +1352,7 @@ EOF
echo "resolvconf resolvconf/linkify-resolvconf boolean true" | debconf-set-selections echo "resolvconf resolvconf/linkify-resolvconf boolean true" | debconf-set-selections
dpkg-reconfigure resolvconf >>$OUTPUT 2>&1 dpkg-reconfigure resolvconf >>$OUTPUT 2>&1
fi fi
if [ $LIVE_TYPE = "ubuntu" ]; then if [ $LIVE_TYPE = "casper" ]; then
# network manager # network manager
cat <<EOF >/etc/NetworkManager/NetworkManager.conf cat <<EOF >/etc/NetworkManager/NetworkManager.conf
[main] [main]
@ -1160,7 +1378,7 @@ EOF
if grep resolvconf $SCRIPT_DIR/pkglists/main.list >>$OUTPUT 2>&1 || grep resolvconf $SCRIPT_DIR/pkglists/other.list || [ $DISTRIBUTION != "xenial" ] >>$OUTPUT 2>&1; then if grep resolvconf $SCRIPT_DIR/pkglists/main.list >>$OUTPUT 2>&1 || grep resolvconf $SCRIPT_DIR/pkglists/other.list || [ $DISTRIBUTION != "xenial" ] >>$OUTPUT 2>&1; then
dpkg-reconfigure resolvconf dpkg-reconfigure resolvconf
fi fi
if [ $LIVE_TYPE = "ubuntu" ]; then if [ $LIVE_TYPE = "casper" ]; then
# network manager # network manager
cat <<EOF >/etc/NetworkManager/NetworkManager.conf cat <<EOF >/etc/NetworkManager/NetworkManager.conf
[main] [main]
@ -1183,51 +1401,8 @@ EOF
function chroot_configure() { function chroot_configure() {
current_process current_process
if [ $LIVE_TYPE = "linux-live" ]; then
#(cd /linux-live/rootcopy && cp --parents -afr * /)
echo "Set up password for user 'root'" >>$OUTPUT 2>&1
echo root:toor | chpasswd >>$OUTPUT 2>&1
echo "Set up user 'live'" >>$OUTPUT 2>&1
adduser --gecos '' live --disabled-password >>$OUTPUT 2>&1
echo "Set up password for user 'live'" >>$OUTPUT 2>&1
echo live:evil | chpasswd >>$OUTPUT 2>&1
addgroup live adm >>$OUTPUT 2>&1
addgroup live sudo >>$OUTPUT 2>&1
cat <<EOF >/etc/sudoerd.d/90-minios
# live user is default user in minios.
# It needs passwordless sudo functionality.
live ALL=(ALL) NOPASSWD:ALL
EOF
echo "Enable dhclient.service autostart." >>$OUTPUT 2>&1
cat <<EOF >/lib/systemd/system/dhclient.service
[Unit]
Description=DHCP Client
Documentation=man:dhclient(8)
Wants=network.target
After=network-pre.target systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
ConditionPathExists=!/run/initramfs/net.up.flag
[Service]
Type=forking
ExecStart=-/bin/sh -c 'udevadm settle && dhclient -nw'
PIDFile=/run/dhclient.pid
[Install]
WantedBy=multi-user.target
WantedBy=network-online.target
EOF
systemctl enable dhclient >>$OUTPUT 2>&1
if [ -f /etc/systemd/system/multi-user.target.wants/grub-initrd-fallback.service ]; then if [ $LIVE_TYPE = "casper" ]; then
echo "Disable grub-initrd-fallback.service autostart." >>$OUTPUT 2>&1
systemctl disable grub-initrd-fallback.service >>$OUTPUT 2>&1
fi
elif [ $LIVE_TYPE = "ubuntu" ]; then
update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/minios-logo/minios-logo.plymouth 200 update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/minios-logo/minios-logo.plymouth 200
update-alternatives --install /usr/share/plymouth/themes/text.plymouth text.plymouth /usr/share/plymouth/themes/minios-text/minios-text.plymouth 200 update-alternatives --install /usr/share/plymouth/themes/text.plymouth text.plymouth /usr/share/plymouth/themes/minios-text/minios-text.plymouth 200
update-alternatives --config default.plymouth --skip-auto update-alternatives --config default.plymouth --skip-auto
@ -1283,6 +1458,7 @@ function chroot_finish_up() {
# clean up useless stuff # clean up useless stuff
rm -rf /tmp/* ~/.bash_history >>$OUTPUT 2>&1 rm -rf /tmp/* ~/.bash_history >>$OUTPUT 2>&1
rm -rf ~/.cache
find /var/log/ -type f | xargs rm -f >>$OUTPUT 2>&1 find /var/log/ -type f | xargs rm -f >>$OUTPUT 2>&1
rm -f /etc/ssh/ssh_host* rm -f /etc/ssh/ssh_host*
rm -f /var/backups/* >>$OUTPUT 2>&1 rm -f /var/backups/* >>$OUTPUT 2>&1
@ -1299,3 +1475,275 @@ function chroot_finish_up() {
rm -f /var/lib/apt/lists/deb.* >>$OUTPUT 2>&1 rm -f /var/lib/apt/lists/deb.* >>$OUTPUT 2>&1
rm -f /var/lib/dpkg/*-old >>$OUTPUT 2>&1 rm -f /var/lib/dpkg/*-old >>$OUTPUT 2>&1
} }
# =================================================================
# =================================================================
# ======================= MODULE FUNCTIONS ========================
# =================================================================
# =================================================================
function module_check_mounted() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
if grep -qs "$MODULE_MERGED_DIR/dev" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/run" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/proc" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/sys" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/dev/pts" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/tmp" /proc/mounts; then
echo -e "${BOLD}${LIGHTYELLOW}Сhroot contains mounted filesystems.${ENDCOLOUR}"
if [ "$UNATTENDED" = "1" ]; then
module_chroot_umount_fs
else
read -r -p "$(echo -e ""Do you want to ${GREEN}unmount them${ENDCOLOUR}? [${BOLD}${GREEN}Y${ENDCOLOUR}/n])" response
response=${response,,}
if [[ "$response" =~ ^(no|n)$ ]]; then
exit 1
else
module_chroot_umount_fs
fi
fi
fi
}
function module_check_build_dir() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
if [ "$UNATTENDED" = "1" ]; then
#echo -e "${RED}!!!Unattended installation!!!${ENDCOLOUR}"
echo -e "The working directory is ${MAGENTA}$MODULE_UPPER_DIR{ENDCOLOUR}."
if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then
module_cleanup
module_check_mounted
fi
else
# ▼ должно быть только перенаправление ошибки!
if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then
echo -e "${MAGENTA}$MODULE_UPPER_DIR{ENDCOLOUR} is not empty."
module_cleanup
module_check_mounted
echo -e "The working directory is ${MAGENTA}$MODULE_MERGED_DIR${ENDCOLOUR}."
else
module_check_mounted
echo -e "The working directory is ${MAGENTA}$MODULE_MERGED_DIR${ENDCOLOUR}."
fi
fi
}
function module_chroot_mount_fs() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
#if [ ! -d $MODULE_MERGED_DIR/dev ]; then
# mkdir $MODULE_MERGED_DIR/dev
#fi
module_check_mounted
mkdir -p $MODULE_UPPER_DIR $MODULE_WORK_DIR $MODULE_MERGED_DIR
mount -t overlay overlay -o lowerdir=$BUILD_DIR,upperdir=$MODULE_UPPER_DIR,workdir=$MODULE_WORK_DIR $MODULE_MERGED_DIR
: 'if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
ln -s /dev $MODULE_MERGED_DIR/dev
ln -s /run $MODULE_MERGED_DIR/run
ln -s /proc $MODULE_MERGED_DIR/proc
ln -s /sys $MODULE_MERGED_DIR/sys
ln -s /tmp $MODULE_MERGED_DIR/tmp
else'
mount --bind /dev $MODULE_MERGED_DIR/dev
mount --bind /run $MODULE_MERGED_DIR/run
mount none -t proc $MODULE_MERGED_DIR/proc
mount none -t sysfs $MODULE_MERGED_DIR/sys
mount none -t devpts $MODULE_MERGED_DIR/dev/pts
mount none -t tmpfs $MODULE_MERGED_DIR/tmp
#fi
}
function module_chroot_umount_fs() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
: 'if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then
set +e
rm -f $MODULE_MERGED_DIR/dev >>$OUTPUT 2>&1
rm -f $MODULE_MERGED_DIR/run >>$OUTPUT 2>&1
rm -f $MODULE_MERGED_DIR/proc >>$OUTPUT 2>&1
rm -f $MODULE_MERGED_DIR/sys >>$OUTPUT 2>&1
rm -f $MODULE_MERGED_DIR/tmp >>$OUTPUT 2>&1
set -e
else'
set +e
umount $MODULE_MERGED_DIR/proc >>$OUTPUT 2>&1
umount $MODULE_MERGED_DIR/sys >>$OUTPUT 2>&1
umount $MODULE_MERGED_DIR/dev/pts >>$OUTPUT 2>&1
umount $MODULE_MERGED_DIR/tmp >>$OUTPUT 2>&1
umount $MODULE_MERGED_DIR/dev >>$OUTPUT 2>&1
umount $MODULE_MERGED_DIR/run >>$OUTPUT 2>&1
umount $MODULE_MERGED_DIR >>$OUTPUT 2>&1
set -e
#fi
module_check_mounted
}
function module_cleanup() {
echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..."
if [ "$UNATTENDED" = "1" ]; then
module_check_mounted
rm -rf $MODULE_UPPER_DIR
if [ -d "$MODULE_UPPER_DIR" ]; then
module_cleanup
fi
else
read -r -p "$(echo -e ""Do you want to ${BOLD}${RED}completely remove content${ENDCOLOUR} of ${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR}? [y/${BOLD}${GREEN}N${ENDCOLOUR}])" response
response=${response,,}
if [[ "$response" =~ ^(yes|y)$ ]]; then
module_check_mounted
rm -rf $MODULE_UPPER_DIR
if [ -d "$MODULE_UPPER_DIR" ]; then
module_cleanup
fi
else
echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} should be empty to continue."
exit 1
fi
fi
}
function module_chroot_finish_up() {
current_process
# truncate machine id (why??)
chroot $MODULE_MERGED_DIR /bin/bash -x <<EOF
truncate -s 0 /etc/machine-id
EOF
# remove diversion (why??)
chroot $MODULE_MERGED_DIR /bin/bash -x <<EOF
rm /sbin/initctl >>$OUTPUT 2>&1
dpkg-divert --rename --remove /sbin/initctl >>$OUTPUT 2>&1
EOF
# clean up useless stuff
rm -rf $MODULE_UPPER_DIR/boot
rm -rf $MODULE_UPPER_DIR/tmp/* $MODULE_UPPER_DIR/root/.bash_history >>$OUTPUT 2>&1
rm -rf $MODULE_UPPER_DIR/.cache
find $MODULE_UPPER_DIR/var/log/ -type f | xargs rm -f >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/etc/ssh/ssh_host*
rm -f $MODULE_UPPER_DIR/var/backups/* >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/cache/ldconfig/* >>$OUTPUT 2>&1
#rm -f $MODULE_UPPER_DIR/var/cache/debconf/* >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/cache/fontconfig/* >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/cache/apt/archives/*.deb >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/cache/apt/*.bin >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/cache/debconf/*-old >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/lib/apt/extended_states >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*Packages >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*Translation* >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*InRelease >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/deb.* >>$OUTPUT 2>&1
rm -f $MODULE_UPPER_DIR/var/lib/dpkg/*-old >>$OUTPUT 2>&1
}
function build_modules() {
current_process
MODULES_DIR=$PARENT_DIR/modules
cd $SCRIPT_DIR/linux-live/modules
for LIST in *; do
MODULE_UPPER_DIR="$MODULES_DIR/$LIST-upper"
MODULE_WORK_DIR="$MODULES_DIR/$LIST-work"
MODULE_MERGED_DIR="$MODULES_DIR/$LIST-merged"
module_check_build_dir
module_chroot_mount_fs
if [ -d /opt/minios-live ] || [ -f /.minios-live-container ]; then
chroot $MODULE_MERGED_DIR /usr/bin/env \
OUTPUT=$OUTPUT \
LOGPATH=$LOGPATH \
BUILD_TEST_ISO=$BUILD_TEST_ISO \
CREATE_BACKUP=$CREATE_BACKUP \
DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \
APT_CMD=$APT_CMD \
APT_OPTIONS=$APT_OPTIONS \
LIVE_TYPE=$LIVE_TYPE \
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
chroot $MODULE_MERGED_DIR /usr/bin/env \
OUTPUT=$OUTPUT \
LOGPATH=$LOGPATH \
BUILD_TEST_ISO=$BUILD_TEST_ISO \
CREATE_BACKUP=$CREATE_BACKUP \
DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \
APT_CMD=$APT_CMD \
APT_OPTIONS=$APT_OPTIONS \
LIVE_TYPE=$LIVE_TYPE \
sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/modules/$LIST | tr "\n" " ") >>$OUTPUT 2>&1
else
chroot $MODULE_MERGED_DIR sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD update >>$OUTPUT 2>&1 &&
chroot $MODULE_MERGED_DIR sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \
$APT_CMD install $APT_OPTIONS \
$(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/modules/$LIST | tr "\n" " ") >>$OUTPUT 2>&1
fi
module_chroot_finish_up
if [ $LIST = "02-xubuntu" ]; then
(cd $SCRIPT_DIR/linux-live/rootcopy-modules/02-xubuntu && cp --parents -afr * $MODULE_MERGED_DIR/)
if cat $MODULE_MERGED_DIR/etc/passwd | grep /home/live; then
chroot $MODULE_MERGED_DIR userdel live >>$OUTPUT 2>&1
rm -rf $MODULE_MERGED_DIR/home/live >>$OUTPUT 2>&1
fi
if ! cat $MODULE_MERGED_DIR/etc/passwd | grep /home/live; then
echo "Set up user 'live'" >>$OUTPUT 2>&1
chroot $MODULE_MERGED_DIR adduser --gecos '' live --disabled-password >>$OUTPUT 2>&1
fi
echo "Set up password for user 'live'" >>$OUTPUT 2>&1
echo live:evil | chroot $MODULE_MERGED_DIR chpasswd >>$OUTPUT 2>&1
chroot $MODULE_MERGED_DIR addgroup live adm >>$OUTPUT 2>&1
chroot $MODULE_MERGED_DIR addgroup live sudo >>$OUTPUT 2>&1
chroot $MODULE_MERGED_DIR /bin/bash -x <<EOF
if [ -f /usr/share/xfce4/backdrops/xubuntu-wallpaper.png ]; then
rm /usr/share/xfce4/backdrops/xubuntu-wallpaper.png
fi
if [ ! -d /usr/share/xfce4/backdrops ]; then
mkdir -p /usr/share/xfce4/backdrops
fi
ln -s /usr/share/backgrounds/MiniOS.png /usr/share/xfce4/backdrops/xubuntu-wallpaper.png
EOF
if [ -d $BUILD_DIR/etc/lightdm ]; then
cat <<EOF >$MODULE_MERGED_DIR/etc/lightdm/lightdm.conf
[Seat:*]
autologin-session=xubuntu
autologin-user=live
autologin-user-timeout=0
EOF
fi
if [ -d $BUILD_DIR/etc/NetworkManager ]; then
echo "Disable dhclient.service autostart." >>$OUTPUT 2>&1
chroot $BUILD_DIR systemctl disable dhclient >>$OUTPUT 2>&1
fi
fi
module_chroot_umount_fs
# create compressed 01-core.sb
: 'cd $MODULE_UPPER_DIR
COREFS=""
for i in $MKMOD; do
if [ -d /$i ]; then
COREFS="$COREFS $i"
fi
done
mksquashfs $COREFS $PARENT_DIR/image/$LIVEKITNAME/$LIST.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -keep-as-directory -noappend || exit'
mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$LIST.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit
done
}

15
linux-live/modules/02-xorg/build

@ -1,15 +0,0 @@
#!/bin/bash
apt-get update
apt-get install -y \
xorg \
xterm \
blackbox \
nodm
sed -i "s,NODM_USER=root,NODM_USER=live,g" /run/initramfs/memory/changes/etc/default/nodm
rm -rf /run/initramfs/memory/changes/etc/ssh
rm -f /run/initramfs/memory/changes/etc/machine-id
rm -rf /run/initramfs/memory/changes/root
savechanges /02-xorg.sb

17
linux-live/modules/02-xubuntu

@ -0,0 +1,17 @@
xubuntu-core^
discover
laptop-detect
os-prober
network-manager
net-tools
wireless-tools
mousepad
blueman
ristretto
onboard
gigolo
gparted
gsmartcontrol
xfce4-taskmanager
xfce4-xkb-plugin
language-pack-gnome-ru

3
linux-live/modules/03-apps

@ -0,0 +1,3 @@
open-vm-tools-desktop
firefox
firefox-locale-ru

1
linux-live/modules/03-desktop/install

@ -1 +0,0 @@
catfish engrampa mousepad blueman ristretto onboard gigolo gparted xfce4-taskmanager language-pack-gnome-en language-pack-gnome-ru

2
linux-live/pkglists/main.list

@ -3,6 +3,8 @@
ubuntu-minimal ubuntu-minimal
resolvconf resolvconf
xz-utils xz-utils
xorriso
squashfs-tools
bash-completion bash-completion
# имя этого ▼ пакета нужно задавать в зависимости от необходимого типа ядра # имя этого ▼ пакета нужно задавать в зависимости от необходимого типа ядра
#linux-image-generic-hwe-18.04 #linux-image-generic-hwe-18.04

0
linux-live/rootcopy-ubuntu/etc/casper.conf → linux-live/rootcopy-casper/etc/casper.conf

0
linux-live/rootcopy-ubuntu/etc/issue → linux-live/rootcopy-casper/etc/issue

0
linux-live/rootcopy-ubuntu/etc/issue.net → linux-live/rootcopy-casper/etc/issue.net

0
linux-live/rootcopy-ubuntu/etc/skel/.config/xfce4/helpers.rc → linux-live/rootcopy-casper/etc/skel/.config/xfce4/helpers.rc

0
linux-live/rootcopy-ubuntu/etc/skel/.config/xfce4/panel/launcher-19/16093657651.desktop → linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/launcher-19/16093657651.desktop

0
linux-live/rootcopy-ubuntu/etc/skel/.config/xfce4/panel/launcher-23/16093659533.desktop → linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/launcher-23/16093659533.desktop

0
linux-live/rootcopy-ubuntu/etc/skel/.config/xfce4/panel/launcher-24/16093659584.desktop → linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/launcher-24/16093659584.desktop

0
linux-live/rootcopy-ubuntu/etc/skel/.config/xfce4/panel/whiskermenu-1.rc → linux-live/rootcopy-casper/etc/skel/.config/xfce4/panel/whiskermenu-1.rc

0
linux-live/rootcopy-ubuntu/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml → linux-live/rootcopy-casper/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml

0
linux-live/rootcopy-ubuntu/etc/ssh/sshd_config → linux-live/rootcopy-casper/etc/ssh/sshd_config

0
linux-live/rootcopy-ubuntu/etc/timezone → linux-live/rootcopy-casper/etc/timezone

0
linux-live/rootcopy-ubuntu/root/.bashrc → linux-live/rootcopy-casper/root/.bashrc

0
linux-live/rootcopy-ubuntu/root/.i18n → linux-live/rootcopy-casper/root/.i18n

0
linux-live/rootcopy-ubuntu/usr/share/backgrounds/MiniOS.png → linux-live/rootcopy-casper/usr/share/backgrounds/MiniOS.png

Before

Width:  |  Height:  |  Size: 681 KiB

After

Width:  |  Height:  |  Size: 681 KiB

0
linux-live/rootcopy-ubuntu/usr/share/pixmaps/MiniOS-white.svg → linux-live/rootcopy-casper/usr/share/pixmaps/MiniOS-white.svg

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/default.plymouth → linux-live/rootcopy-casper/usr/share/plymouth/themes/default.plymouth

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/details/details.plymouth → linux-live/rootcopy-casper/usr/share/plymouth/themes/details/details.plymouth

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/fsck-fade.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/fsck-fade.png

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 326 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/fsck-fade_16bit.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/fsck-fade_16bit.png

Before

Width:  |  Height:  |  Size: 98 B

After

Width:  |  Height:  |  Size: 98 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/logo.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/logo.png

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/logo_16bit.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/logo_16bit.png

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/minios-logo.script → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/minios-logo.script

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/passw-dialog.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/passw-dialog.png

Before

Width:  |  Height:  |  Size: 101 B

After

Width:  |  Height:  |  Size: 101 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/progress-fade.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-fade.png

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 267 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/progress-fade_16bit.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-fade_16bit.png

Before

Width:  |  Height:  |  Size: 88 B

After

Width:  |  Height:  |  Size: 88 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/progress-meter.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-meter.png

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 236 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/progress-meter_16bit.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/progress-meter_16bit.png

Before

Width:  |  Height:  |  Size: 88 B

After

Width:  |  Height:  |  Size: 88 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/spinner.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/spinner.png

Before

Width:  |  Height:  |  Size: 981 B

After

Width:  |  Height:  |  Size: 981 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/test.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/test.png

Before

Width:  |  Height:  |  Size: 136 B

After

Width:  |  Height:  |  Size: 136 B

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-logo/wallpaper.png → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-logo/wallpaper.png

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/minios-text/minios-text.plymouth → linux-live/rootcopy-casper/usr/share/plymouth/themes/minios-text/minios-text.plymouth

0
linux-live/rootcopy-ubuntu/usr/share/plymouth/themes/text.plymouth → linux-live/rootcopy-casper/usr/share/plymouth/themes/text.plymouth

0
linux-live/rootcopy/etc/hostname → linux-live/rootcopy-livekit/etc/hostname

0
linux-live/rootcopy/etc/hosts → linux-live/rootcopy-livekit/etc/hosts

0
linux-live/rootcopy/etc/issue → linux-live/rootcopy-livekit/etc/issue

0
linux-live/rootcopy/etc/issue.net → linux-live/rootcopy-livekit/etc/issue.net

0
linux-live/rootcopy/etc/localtime → linux-live/rootcopy-livekit/etc/localtime

0
linux-live/rootcopy/etc/ssh/sshd_config → linux-live/rootcopy-livekit/etc/ssh/sshd_config

0
linux-live/rootcopy/etc/timezone → linux-live/rootcopy-livekit/etc/timezone

0
linux-live/rootcopy/root/.bashrc → linux-live/rootcopy-livekit/root/.bashrc

0
linux-live/rootcopy/usr/bin/dir2sb → linux-live/rootcopy-livekit/usr/bin/dir2sb

0
linux-live/rootcopy/usr/bin/genminiosiso → linux-live/rootcopy-livekit/usr/bin/genminiosiso

0
linux-live/rootcopy/usr/bin/pxe → linux-live/rootcopy-livekit/usr/bin/pxe

0
linux-live/rootcopy/usr/bin/rmsbdir → linux-live/rootcopy-livekit/usr/bin/rmsbdir

0
linux-live/rootcopy/usr/bin/savechanges → linux-live/rootcopy-livekit/usr/bin/savechanges

0
linux-live/rootcopy/usr/bin/sb → linux-live/rootcopy-livekit/usr/bin/sb

0
linux-live/rootcopy/usr/bin/sb2dir → linux-live/rootcopy-livekit/usr/bin/sb2dir

0
linux-live/rootcopy/usr/bin/slax → linux-live/rootcopy-livekit/usr/bin/slax

0
linux-live/rootcopy/usr/lib/systemd/system/apparmor.service → linux-live/rootcopy-livekit/usr/lib/systemd/system/apparmor.service

0
linux-live/rootcopy/usr/lib/systemd/system/dhclient.service → linux-live/rootcopy-livekit/usr/lib/systemd/system/dhclient.service

0
linux-live/rootcopy/usr/lib/systemd/system/getty@.service → linux-live/rootcopy-livekit/usr/lib/systemd/system/getty@.service

0
linux-live/rootcopy/usr/lib/udev/rules.d/90-slax-automount.rules → linux-live/rootcopy-livekit/usr/lib/udev/rules.d/90-slax-automount.rules

0
linux-live/rootcopy/usr/sbin/gtk-bookmarks-update → linux-live/rootcopy-livekit/usr/sbin/gtk-bookmarks-update

0
linux-live/rootcopy/usr/sbin/slax-automount → linux-live/rootcopy-livekit/usr/sbin/slax-automount

1
linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/helpers.rc

@ -0,0 +1 @@
WebBrowser=google-chrome

15
linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/launcher-19/16093657651.desktop

@ -0,0 +1,15 @@
[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;
Name=File Manager
Name[ru]=Файловый менеджер
Comment=Browse the file system
Comment[ru]=Просмотреть файловую систему
X-XFCE-Source=file:///usr/share/applications/exo-file-manager.desktop

16
linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/launcher-23/16093659533.desktop

@ -0,0 +1,16 @@
[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;
Name=Web Browser
Name[ru]=Веб-браузер
Comment=Browse the web
Comment[ru]=Смотреть в Интернете
X-XFCE-Source=file:///usr/share/applications/exo-web-browser.desktop
Path=

14
linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/launcher-24/16093659584.desktop

@ -0,0 +1,14 @@
[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;
Name=Terminal Emulator
Name[ru]=Эмулятор терминала
Comment=Use the command line
Comment[ru]=Использовать командную строку
X-XFCE-Source=file:///usr/share/applications/exo-terminal-emulator.desktop

68
linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/panel/whiskermenu-1.rc

@ -0,0 +1,68 @@
favorites=RDWebAccess.desktop,RDWebClient.desktop,org.remmina.Remmina.desktop,ctsg.desktop,ctskeyimportg.desktop,ubiquity.desktop
recent=
button-title=Applications Menu
button-icon=MiniOS-white
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=true
recent-items-max=10
favorites-in-recent=true
display-recent-default=false
position-search-alternate=true
position-commands-alternate=false
position-categories-alternate=false
menu-width=400
menu-height=500
menu-opacity=100
command-settings=xfce4-settings-manager
show-command-settings=true
command-lockscreen=xflock4
show-command-lockscreen=true
command-switchuser=dm-tool switch-to-greeter
show-command-switchuser=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-страницы
pattern=#
command=exo-open --launch TerminalEmulator man %s
regex=false
[action1]
name=Web-поиск
pattern=?
command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u
regex=false
[action2]
name=Википедия
pattern=!w
command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
regex=false
[action3]
name=Выполнить в терминале
pattern=!
command=exo-open --launch TerminalEmulator %s
regex=false
[action4]
name=Открыть URI
pattern=^(file|http|https):\\/\\/(.*)$
command=exo-open \\0
regex=true

123
linux-live/rootcopy-modules/02-xubuntu/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-panel" version="1.0">
<property name="panels" type="uint" value="1">
<property name="panel-0" type="empty">
<property name="position" type="string" value="p=8;x=1109;y=1275"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="plugin-ids" type="array">
<value type="int" value="1"/>
<value type="int" value="21"/>
<value type="int" value="23"/>
<value type="int" value="19"/>
<value type="int" value="24"/>
<value type="int" value="22"/>
<value type="int" value="2"/>
<value type="int" value="3"/>
<value type="int" value="5"/>
<value type="int" value="4"/>
<value type="int" value="7"/>
<value type="int" value="6"/>
<value type="int" value="9"/>
<value type="int" value="10"/>
<value type="int" value="11"/>
<value type="int" value="12"/>
</property>
<property name="background-style" type="uint" value="0"/>
<property name="background-alpha" type="uint" value="60"/>
<property name="size" type="uint" value="32"/>
<property name="length-adjust" type="bool" value="true"/>
<property name="span-monitors" type="bool" value="false"/>
<property name="enter-opacity" type="uint" value="100"/>
<property name="leave-opacity" type="uint" value="100"/>
<property name="mode" type="uint" value="0"/>
<property name="autohide-behavior" type="uint" value="0"/>
<property name="nrows" type="uint" value="1"/>
</property>
</property>
<property name="plugins" type="empty">
<property name="plugin-1" type="string" value="whiskermenu"/>
<property name="plugin-2" type="string" value="tasklist">
<property name="flat-buttons" type="bool" value="true"/>
<property name="show-handle" type="bool" value="false"/>
<property name="show-labels" type="bool" value="false"/>
</property>
<property name="plugin-3" type="string" value="separator">
<property name="style" type="uint" value="0"/>
<property name="expand" type="bool" value="true"/>
</property>
<property name="plugin-4" type="string" value="systray">
<property name="show-frame" type="bool" value="false"/>
<property name="size-max" type="uint" value="22"/>
<property name="names-visible" type="array">
<value type="string" value="thunar"/>
<value type="string" value="ctsg"/>
</property>
<property name="names-hidden" type="array">
<value type="string" value="network"/>
<value type="string" value="xfce4-power-manager"/>
<value type="string" value="сеть"/>
<value type="string" value="апплет networkmanager"/>
<value type="string" value="networkmanager applet"/>
<value type="string" value="remmina"/>
</property>
</property>
<property name="plugin-9" type="string" value="pulseaudio">
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
<property name="enable-mpris" type="bool" value="true"/>
<property name="mixer-command" type="string" value="pavucontrol"/>
<property name="mpris-players" type="string" value="parole"/>
<property name="show-notifications" type="bool" value="true"/>
</property>
<property name="plugin-10" type="string" value="separator">
<property name="style" type="uint" value="0"/>
<property name="expand" type="bool" value="false"/>
</property>
<property name="plugin-11" type="string" value="clock">
<property name="digital-format" type="string" value="%d %b, %H:%M"/>
</property>
<property name="plugin-12" type="string" value="showdesktop"/>
<property name="plugin-19" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="16093657651.desktop"/>
</property>
</property>
<property name="plugin-21" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-22" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-23" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="16093659533.desktop"/>
</property>
<property name="show-label" type="bool" value="false"/>
<property name="disable-tooltips" type="bool" value="false"/>
</property>
<property name="plugin-24" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="16093659584.desktop"/>
</property>
</property>
<property name="plugin-5" type="string" value="xkb">
<property name="display-scale" type="uint" value="50"/>
<property name="display-tooltip-icon" type="bool" value="true"/>
<property name="group-policy" type="uint" value="0"/>
<property name="display-type" type="uint" value="2"/>
<property name="display-name" type="uint" value="1"/>
</property>
<property name="plugin-7" type="string" value="statusnotifier">
<property name="known-items" type="array">
<value type="string" value="ctsg"/>
<value type="string" value="remmina-icon"/>
<value type="string" value="nm-applet"/>
</property>
<property name="hidden-items" type="array">
</property>
</property>
<property name="plugin-6" type="string" value="power-manager-plugin"/>
</property>
<property name="configver" type="int" value="2"/>
</channel>

124
linux-live/rootcopy-modules/02-xubuntu/etc/ssh/sshd_config

@ -0,0 +1,124 @@
# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
AllowGroups admin

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/backgrounds/MiniOS.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 KiB

149
linux-live/rootcopy-modules/02-xubuntu/usr/share/pixmaps/MiniOS-white.svg

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xml:space="preserve"
width="256"
height="256"
version="1.1"
style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"
viewBox="0 0 256 256"
id="svg345"
sodipodi:docname="MiniOS-wis.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)"><metadata
id="metadata349"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1241"
inkscape:window-height="523"
id="namedview347"
showgrid="false"
inkscape:snap-global="false"
inkscape:zoom="0.984375"
inkscape:cx="235.54225"
inkscape:cy="107.04132"
inkscape:window-x="919"
inkscape:window-y="246"
inkscape:window-maximized="0"
inkscape:current-layer="Слой_x0020_1" />
<defs
id="defs292">
<font
id="FontID0"
horiz-adv-x="606"
font-variant="normal"
style="fill-rule:nonzero"
font-weight="700"
horiz-origin-x="0"
horiz-origin-y="0"
vert-origin-x="512"
vert-origin-y="768"
vert-adv-y="1024">
<font-face
font-family="Calibri"
id="font-face273">
<font-face-src>
<font-face-name
name="Calibri Bold" />
</font-face-src>
</font-face>
<missing-glyph
id="missing-glyph277"><path
d="M0 0z"
id="path275" /></missing-glyph>
<glyph
unicode="M"
horiz-adv-x="874"
d="M805.029 17.4996c0,-3.16292 -0.828384,-6.16581 -2.66401,-8.82982 -1.83562,-2.50398 -5.16799,-4.66907 -9.83706,-6.33525 -4.66907,-1.49674 -10.9949,-2.83345 -18.8363,-3.83128 -7.83199,-1.00724 -17.8291,-1.50615 -29.8312,-1.50615 -11.8327,0 -21.6698,0.498913 -29.5018,1.50615 -7.83199,0.997826 -13.9978,2.33454 -18.6669,3.83128 -4.49963,1.66618 -7.83199,3.83128 -9.66762,6.33525 -1.99565,2.66401 -2.99348,5.6669 -2.99348,8.82982l0 514.521 -1.00724 0 -182.508 -514.022c-1.3273,-4.16075 -3.33236,-7.66255 -6.32584,-10.496 -3.00289,-2.83345 -6.83417,-4.99854 -12.0022,-6.66472 -4.99854,-1.50615 -11.5032,-2.67342 -19.1658,-3.17233 -7.84141,-0.498913 -17.3396,-0.668355 -28.3345,-0.668355 -11.1738,0 -20.5025,0.338884 -28.3345,1.16727 -7.84141,0.837797 -14.3367,2.16509 -19.3352,4.00072 -4.99854,1.83562 -8.99926,4.00072 -12.0022,6.5047 -2.83345,2.66401 -4.83852,5.82693 -5.83634,9.32873l-176.173 514.022 -0.997826 0 0 -514.521c0,-3.16292 -0.837797,-6.16581 -2.66401,-8.82982 -1.83562,-2.50398 -5.16799,-4.66907 -10.0065,-6.33525 -4.99854,-1.49674 -11.3338,-2.83345 -18.9963,-3.83128 -7.67196,-1.00724 -17.4996,-1.50615 -29.5018,-1.50615 -11.8327,0 -21.6698,0.498913 -29.5018,1.50615 -7.83199,0.997826 -14.1672,2.33454 -18.8363,3.83128 -4.66907,1.66618 -8.00144,3.83128 -9.82765,6.33525 -1.83562,2.66401 -2.67342,5.6669 -2.67342,8.82982l0 563.188c0,16.6712 4.3396,29.3323 13.1694,38.1716 8.82982,8.82982 20.5025,13.1694 35.3381,13.1694l83.9962 0c15.005,0 28.005,-1.16727 38.6705,-3.67125 10.8349,-2.50398 20.173,-6.5047 28.005,-12.1716 7.66255,-5.6669 14.3273,-13.16 19.4953,-22.4982 5.16799,-9.32873 9.83706,-20.832 13.6683,-34.5003l136.175 -376.51 1.99565 0 141.004 375.682c4.17016,13.6589 8.83923,25.1622 13.8378,34.6603 5.16799,9.33815 11.0043,17.0007 17.6691,22.837 6.66472,5.83634 14.6662,9.99709 23.6654,12.5011 9.1687,2.50398 19.8341,3.67125 31.8363,3.67125l86.6697 0c8.82982,0 16.3323,-1.16727 22.6676,-3.5018 6.33525,-2.16509 11.6633,-5.50687 15.664,-10.0065 4.17016,-4.33019 7.17305,-9.66762 9.33815,-15.9935 2.16509,-6.33525 3.16292,-13.6683 3.16292,-21.8392l0 -563.188z"
id="glyph279" />
<glyph
unicode="O"
horiz-adv-x="676"
d="M637.027 323.343c0,-52.3294 -6.5047,-99.1707 -19.5047,-140.505 -13,-41.3345 -32.3352,-76.5031 -58.1657,-105.167 -25.6705,-28.8334 -57.5068,-50.8326 -95.3395,-66.0071 -38.0021,-15.1651 -81.8406,-22.6676 -131.675,-22.6676 -49.1665,0 -91.9977,6.5047 -128.503,19.3352 -36.6654,12.84 -67.165,32.3352 -91.6682,58.8341 -24.3338,26.3388 -42.6712,59.8413 -54.8334,100.507 -12.1716,40.6661 -18.3374,88.8348 -18.3374,144.506 0,51.0021 6.5047,97.0056 19.5047,137.841 13,40.8356 32.3352,75.4959 58.1657,104.169 25.6705,28.664 57.5068,50.6632 95.3395,65.8377 38.0021,15.3345 82.0006,22.9971 132.174,22.9971 47.8298,0 90.002,-6.33525 126.667,-18.9963 36.5054,-12.6705 67.165,-32.1752 91.6682,-58.6741 24.6727,-26.3294 43.1701,-59.5024 55.6712,-99.6696 12.5011,-40.3366 18.8363,-87.6675 18.8363,-142.341zm-135.008 -6.49528c0,33.1636 -2.66401,63.3337 -7.83199,90.5009 -5.16799,27.1672 -13.9978,50.5032 -26.4989,69.8384 -12.5011,19.3352 -29.1723,34.3309 -50.0043,44.9963 -20.832,10.5054 -46.8413,15.8334 -78.0093,15.8334 -31.4974,0 -57.8268,-5.99637 -78.8283,-17.8291 -21.1709,-11.8327 -38.341,-27.8356 -51.341,-47.6697 -13,-19.8341 -22.1687,-43.0007 -27.4967,-69.4995 -5.33743,-26.6683 -8.00144,-54.6733 -8.00144,-84.3351 0,-34.5097 2.66401,-65.5082 7.83199,-93.0049 5.16799,-27.5061 13.9978,-51.0021 26.3388,-70.6762 12.3316,-19.4953 28.8334,-34.3309 49.6654,-44.6668 20.832,-10.1665 47.0014,-15.3345 78.4988,-15.3345 31.5068,0 57.8363,5.83634 78.8377,17.6691 21.1709,11.6727 38.341,27.6661 51.341,47.8392 13,20.1636 22.1687,43.669 27.4967,70.4974 5.33743,26.8378 8.00144,55.5017 8.00144,85.8413z"
id="glyph281" />
<glyph
unicode="S"
horiz-adv-x="472"
d="M444.014 189.672c0,-33.333 -6.16581,-62.3359 -18.4974,-87.498 -12.5011,-25.0021 -29.1723,-45.8341 -50.3337,-62.6748 -21.3403,-16.6618 -46.0035,-29.3323 -74.338,-37.8327 -28.3345,-8.50035 -58.6646,-12.6705 -90.9999,-12.6705 -21.8392,0 -42.0028,1.83562 -60.8391,5.50687 -18.6669,3.66183 -35.1687,8.00144 -49.5054,13.16 -14.3273,5.00796 -26.3294,10.336 -35.997,16.0029 -9.66762,5.6669 -16.5018,10.6654 -20.832,14.8356 -4.17016,4.33019 -7.17305,10.5054 -8.99926,18.4974 -1.83562,8.00144 -2.67342,19.3352 -2.67342,34.3403 0,10.1665 0.338884,18.4974 1.00724,25.3316 0.658942,6.83417 1.66618,12.3316 3.16292,16.6712 1.49674,4.16075 3.5018,7.16364 5.83634,8.99926 2.49457,1.83562 5.32801,2.66401 8.66038,2.66401 4.49963,0 11.0043,-2.66401 19.3352,-8.17088 8.34032,-5.32801 19.0058,-11.3338 32.0057,-17.8291 13,-6.5047 28.664,-12.5011 46.8319,-17.8385 17.9985,-5.49746 38.9999,-8.16146 62.8348,-8.16146 15.6734,0 29.6712,1.83562 42.0028,5.49746 12.5011,3.83128 22.9971,8.99926 31.6669,15.8334 8.66979,6.83417 15.1651,15.1651 19.8341,25.1716 4.49963,9.99709 6.83417,21.1614 6.83417,33.5025 0,14.3273 -3.83128,26.6683 -11.6633,36.8348 -7.83199,10.3266 -18.0079,19.3352 -30.669,27.3273 -12.5011,8.00144 -26.8378,15.504 -42.8406,22.5076 -15.8334,6.9942 -32.3352,14.3273 -49.3359,22.1687 -17.0007,7.83199 -33.4931,16.6618 -49.3265,26.6589 -16.0029,9.83706 -30.3396,21.6698 -42.8406,35.5075 -12.6611,13.8284 -22.837,30.1701 -30.669,49.1665 -7.83199,18.8363 -11.6633,41.5039 -11.6633,67.8333 0,30.1701 5.6669,56.8384 16.8313,79.8355 11.1644,22.837 26.3388,41.8428 45.3352,57.0079 19.1658,15.1651 41.5039,26.4989 67.3344,34.0014 25.8399,7.50252 53.3366,11.1644 82.3395,11.1644 14.8356,0 29.8312,-1.16727 44.8363,-3.5018 14.9956,-2.16509 29.0028,-5.32801 42.0028,-9.1687 13,-3.9913 24.4938,-8.33091 34.6697,-13.16 9.99709,-4.99854 16.6618,-8.99926 19.9942,-12.341 3.17233,-3.16292 5.33743,-5.99637 6.5047,-8.16146 1.16727,-2.33454 2.16509,-5.33743 2.99348,-9.1687 0.837797,-3.66183 1.33671,-8.33091 1.67559,-14.1672 0.329471,-5.6669 0.498913,-12.6705 0.498913,-21.1709 0,-9.32873 -0.169442,-17.3302 -0.668355,-23.8349 -0.498913,-6.49528 -1.33671,-11.8327 -2.50398,-16.1629 -1.16727,-4.17016 -2.83345,-7.33308 -4.8291,-9.1687 -2.16509,-1.99565 -4.99854,-2.99348 -8.66979,-2.99348 -3.5018,0 -9.1687,2.32512 -17.0007,6.82475 -7.83199,4.49963 -17.4996,9.50759 -28.8334,15.005 -11.5032,5.33743 -24.6727,10.1665 -39.6683,14.4967 -15.005,4.49963 -31.3374,6.67414 -49.3359,6.67414 -13.9978,0 -26.1694,-1.66618 -36.6654,-5.16799 -10.336,-3.33236 -19.0058,-8.17088 -26,-14.1672 -7.00361,-6.00578 -12.341,-13.1694 -15.6734,-21.6698 -3.5018,-8.50035 -5.16799,-17.4996 -5.16799,-26.8378 0,-13.9978 3.84069,-26.16 11.5032,-36.3359 7.67196,-10.3266 17.9985,-19.4953 30.8385,-27.4967 12.8305,-7.83199 27.4967,-15.3345 43.829,-22.3381 16.1723,-6.9942 32.8341,-14.4967 49.8348,-22.1593 17.0007,-7.84141 33.6719,-16.6712 49.8348,-26.6683 16.3418,-10.0065 30.8385,-21.8392 43.669,-35.6676 12.6705,-13.8378 23.0065,-30.0007 30.8385,-48.837 7.83199,-18.6669 11.6633,-40.6661 11.6633,-66.0071z"
id="glyph283" />
<glyph
unicode="i"
horiz-adv-x="245"
d="M185.003 16.5018c0,-3.17233 -0.997826,-6.00578 -2.99348,-8.50035 -1.83562,-2.50398 -5.16799,-4.49963 -10.0065,-6.16581 -4.65966,-1.50615 -10.9949,-2.83345 -18.6669,-3.67125 -7.83199,-0.828384 -17.8291,-1.16727 -29.8312,-1.16727 -12.0022,0 -21.9992,0.338884 -29.8312,1.16727 -7.67196,0.837797 -14.0072,2.16509 -18.6669,3.67125 -4.83852,1.66618 -8.17088,3.66183 -10.0065,6.16581 -1.99565,2.49457 -2.99348,5.32801 -2.99348,8.50035l0 435.015c0,3.17233 0.997826,6.00578 2.99348,8.50035 1.83562,2.50398 5.16799,4.66907 10.0065,6.33525 4.65966,1.83562 10.9949,3.16292 18.6669,4.17016 7.83199,0.997826 17.8291,1.49674 29.8312,1.49674 12.0022,0 21.9992,-0.498913 29.8312,-1.49674 7.67196,-1.00724 14.0072,-2.33454 18.6669,-4.17016 4.83852,-1.66618 8.17088,-3.83128 10.0065,-6.33525 1.99565,-2.49457 2.99348,-5.32801 2.99348,-8.50035l0 -435.015zm10.0065 584.02c0,-24.8327 -4.99854,-41.8334 -15.1651,-51.3316 -10.1665,-9.50759 -28.8428,-14.1672 -56.3395,-14.1672 -27.6661,0 -46.5025,4.49963 -56.0006,13.6683 -9.66762,9.15929 -14.5061,25.6611 -14.5061,49.3359 0,24.8327 5.00796,41.9934 15.005,51.661 9.83706,9.50759 28.664,14.3367 56.4995,14.3367 27.3367,0 46.0035,-4.66907 55.8406,-13.9978 9.82765,-9.1687 14.6662,-25.6705 14.6662,-49.5054z"
id="glyph285" />
<glyph
unicode="n"
horiz-adv-x="536"
d="M478.015 16.5018c0,-3.17233 -0.997826,-6.00578 -2.99348,-8.50035 -1.83562,-2.50398 -5.16799,-4.49963 -9.66762,-6.16581 -4.66907,-1.50615 -11.0043,-2.83345 -19.0058,-3.67125 -8.00144,-0.828384 -17.8291,-1.16727 -29.5018,-1.16727 -12.1622,0 -22.1687,0.338884 -30.1607,1.16727 -8.00144,0.837797 -14.3367,2.16509 -19.0058,3.67125 -4.49963,1.66618 -7.83199,3.66183 -9.66762,6.16581 -1.99565,2.49457 -3.00289,5.32801 -3.00289,8.50035l0 248.506c0,21.1709 -1.49674,37.8421 -4.65966,49.8348 -3.00289,12.1716 -7.50252,22.5076 -13.3389,31.0079 -5.83634,8.66038 -13.4989,15.3345 -22.6676,20.1636 -9.32873,4.66907 -19.9942,7.00361 -32.3352,7.00361 -15.664,0 -31.328,-5.6669 -47.3308,-17.1701 -15.8334,-11.3338 -32.5047,-28.005 -49.6748,-49.6654l0 -289.68c0,-3.17233 -0.997826,-6.00578 -2.99348,-8.50035 -1.83562,-2.50398 -5.16799,-4.49963 -10.0065,-6.16581 -4.65966,-1.50615 -10.9949,-2.83345 -18.6669,-3.67125 -7.83199,-0.828384 -17.8291,-1.16727 -29.8312,-1.16727 -12.0022,0 -21.9992,0.338884 -29.8312,1.16727 -7.67196,0.837797 -14.0072,2.16509 -18.6669,3.67125 -4.83852,1.66618 -8.17088,3.66183 -10.0065,6.16581 -1.99565,2.49457 -2.99348,5.32801 -2.99348,8.50035l0 436.012c0,3.17233 0.828384,6.00578 2.49457,8.50035 1.50615,2.50398 4.49963,4.49963 8.66979,6.16581 4.33019,1.50615 9.66762,2.83345 16.3323,3.67125 6.66472,0.837797 15.1651,1.16727 25.1716,1.16727 10.496,0 18.9963,-0.329471 25.8305,-1.16727 6.83417,-0.837797 12.1716,-2.16509 16.0029,-3.67125 3.66183,-1.66618 6.33525,-3.66183 8.00144,-6.16581 1.66618,-2.49457 2.49457,-5.32801 2.49457,-8.50035l0 -50.3337c24.0043,26 48.5075,45.3352 73.5097,58.3352 24.8327,13 50.8326,19.5047 77.8304,19.5047 29.6712,0 54.6733,-4.83852 75.0064,-14.6662 20.3331,-9.66762 36.6654,-23.0065 49.3359,-39.8377 12.5011,-16.6712 21.5003,-36.3359 26.9978,-58.8341 5.49746,-22.4982 8.33091,-49.5054 8.33091,-81.0028l0 -269.178z"
id="glyph287" />
</font>
<style
type="text/css"
id="style290">
<![CDATA[
@font-face { font-family:"Calibri";font-variant:normal;font-weight:bold;src:url("#FontID0") format(svg)}
.fil7 {fill:#FEFEFE}
.fil5 {fill:#C5C6C6}
.fil3 {fill:#5B5B5B}
.fil1 {fill:#F05A28}
.fil0 {fill:#FF3C00}
.fil8 {fill:#FEFEFE;fill-rule:nonzero}
.fil6 {fill:#D9DADA;fill-rule:nonzero}
.fil4 {fill:#5B5B5B;fill-rule:nonzero}
.fil2 {fill:#231F20;fill-rule:nonzero}
.fnt0 {font-weight:bold;font-size:125.47px;font-family:'Calibri'}
]]>
</style>
</defs>
<g
id="Слой_x0020_1">
<metadata
id="CorelCorpID_0Corel-Layer" />
<g
id="g302"
transform="matrix(2.370917,0,0,2.370917,-47.920959,-93.188184)">
<path
class="fil1"
d="M 71.78,95.93 V 49.5 c 25.64,0 46.43,20.79 46.43,46.43 z"
id="path299"
style="fill:#ff3c00;fill-opacity:1" />
<path
id="1"
class="fil2"
d="M 79.31,49.5 V 95.93 H 64.25 V 49.5 l 7.53,-7.53 z m -15.06,0 c 0,-4.16 3.37,-7.53 7.53,-7.53 4.16,0 7.53,3.37 7.53,7.53 z m 53.96,53.95 V 88.4 l -7.53,7.53 -0.05,-2.01 -0.15,-1.98 -0.25,-1.95 -0.34,-1.91 -0.44,-1.88 -0.52,-1.85 -0.61,-1.8 -0.7,-1.76 -0.77,-1.73 -0.86,-1.67 -0.94,-1.63 -1.01,-1.58 -1.09,-1.52 -1.15,-1.47 -1.23,-1.42 -1.29,-1.35 -1.35,-1.29 -1.41,-1.22 -1.47,-1.16 -1.53,-1.08 -1.58,-1.02 -1.63,-0.93 -1.67,-0.86 -1.72,-0.78 -1.77,-0.7 -1.8,-0.61 -1.84,-0.52 -1.88,-0.43 -1.92,-0.35 -1.94,-0.24 -1.98,-0.15 -2.01,-0.05 V 41.97 l 2.77,0.07 2.73,0.21 2.7,0.34 2.66,0.48 2.61,0.6 2.57,0.73 2.51,0.84 2.45,0.97 2.39,1.08 2.33,1.2 2.26,1.3 2.19,1.4 2.11,1.5 2.04,1.6 1.96,1.7 1.87,1.78 1.79,1.88 1.69,1.95 1.6,2.04 1.51,2.11 1.4,2.19 1.3,2.26 1.19,2.33 1.08,2.39 0.97,2.46 0.85,2.51 0.73,2.56 0.6,2.61 0.47,2.66 0.35,2.7 0.2,2.74 0.07,2.77 z m 7.52,-7.52 c 0,4.15 -3.37,7.52 -7.52,7.52 -4.16,0 -7.53,-3.37 -7.53,-7.52 z M 71.78,88.4 h 46.43 v 15.05 H 71.78 l -7.53,-7.52 z m 0,15.05 c -4.16,0 -7.53,-3.37 -7.53,-7.52 0,-4.16 3.37,-7.53 7.53,-7.53 z"
style="fill:#f9f9f9" />
</g>
<g
id="g306"
transform="matrix(2.370917,0,0,2.370917,-47.920959,-93.188184)">
<path
class="fil2"
d="M 112.56,103.46 H 71.78 V 88.39 h 40.78 l 7.53,7.53 z m 0,-15.07 c 4.16,0 7.53,3.38 7.53,7.53 0,4.16 -3.37,7.54 -7.53,7.54 z m -40.78,55.85 v -15.06 0 l 1.72,-0.04 1.69,-0.13 1.66,-0.21 1.64,-0.29 1.61,-0.37 1.57,-0.45 1.54,-0.52 1.51,-0.6 1.47,-0.66 1.43,-0.74 1.4,-0.8 1.35,-0.86 1.3,-0.93 1.26,-0.99 1.21,-1.05 1.15,-1.1 1.1,-1.15 1.05,-1.21 0.99,-1.26 0.93,-1.3 0.86,-1.35 0.8,-1.4 0.74,-1.43 0.66,-1.47 0.59,-1.51 0.53,-1.54 0.44,-1.58 0.38,-1.6 0.29,-1.64 0.21,-1.66 0.13,-1.7 0.04,-1.72 h 15.06 l -0.06,2.48 -0.19,2.45 -0.31,2.42 -0.42,2.38 -0.54,2.34 -0.65,2.3 -0.76,2.25 -0.87,2.2 -0.97,2.14 -1.07,2.08 -1.16,2.03 -1.26,1.96 -1.34,1.89 -1.44,1.82 -1.51,1.75 -1.6,1.68 -1.68,1.6 -1.75,1.52 -1.82,1.43 -1.9,1.35 -1.96,1.25 -2.02,1.17 -2.08,1.07 -2.15,0.96 -2.19,0.87 -2.25,0.76 -2.29,0.65 -2.35,0.54 -2.37,0.43 -2.42,0.31 -2.45,0.18 z M 23.47,95.92 h 15.06 v 0 l 0.04,1.72 0.13,1.7 0.21,1.66 0.29,1.64 0.38,1.6 0.44,1.58 0.53,1.54 0.59,1.51 0.66,1.47 0.74,1.44 0.8,1.39 0.86,1.35 0.93,1.3 0.99,1.26 1.05,1.21 1.1,1.15 1.15,1.1 1.21,1.05 1.26,0.99 1.3,0.93 1.35,0.86 1.39,0.8 1.44,0.74 1.47,0.66 1.51,0.6 1.54,0.52 1.57,0.45 1.61,0.37 1.64,0.29 1.66,0.21 1.69,0.13 1.72,0.04 v 15.06 l -2.48,-0.06 -2.45,-0.18 -2.42,-0.31 -2.38,-0.43 -2.34,-0.54 -2.29,-0.65 -2.25,-0.76 -2.2,-0.87 -2.14,-0.96 -2.08,-1.07 -2.03,-1.17 -1.95,-1.25 -1.9,-1.35 -1.82,-1.43 -1.75,-1.52 -1.68,-1.6 -1.6,-1.68 -1.51,-1.75 -1.44,-1.82 -1.34,-1.89 -1.26,-1.96 -1.16,-2.03 -1.07,-2.08 -0.97,-2.14 -0.87,-2.2 -0.76,-2.25 -0.65,-2.3 -0.54,-2.34 -0.42,-2.38 -0.31,-2.42 -0.19,-2.45 z M 79.31,55.14 H 64.25 l 7.53,7.53 -1.72,0.04 -1.69,0.13 -1.66,0.21 -1.64,0.29 -1.61,0.37 -1.57,0.45 -1.54,0.52 -1.51,0.6 -1.47,0.66 -1.44,0.74 -1.39,0.8 -1.35,0.86 -1.3,0.93 -1.26,0.99 -1.21,1.05 -1.15,1.1 -1.1,1.15 -1.05,1.21 -0.99,1.26 -0.93,1.31 -0.86,1.35 -0.8,1.39 -0.73,1.43 -0.67,1.47 -0.59,1.51 -0.53,1.54 -0.44,1.58 -0.38,1.6 -0.29,1.64 -0.21,1.66 -0.13,1.7 -0.04,1.71 H 23.47 l 0.06,-2.47 0.19,-2.46 0.31,-2.41 0.42,-2.38 0.54,-2.34 0.65,-2.3 0.76,-2.25 0.87,-2.2 0.97,-2.14 1.07,-2.08 1.16,-2.03 1.26,-1.96 1.34,-1.89 1.43,-1.82 1.52,-1.76 1.6,-1.67 1.68,-1.6 1.75,-1.52 1.82,-1.43 1.9,-1.35 1.95,-1.25 2.03,-1.17 2.08,-1.07 2.14,-0.96 2.2,-0.87 2.25,-0.76 2.29,-0.65 2.34,-0.54 2.38,-0.43 2.42,-0.31 2.45,-0.18 2.48,-0.06 z m -7.53,-7.53 c 4.16,0 7.53,3.37 7.53,7.53 0,4.16 -3.37,7.53 -7.53,7.53 z M 64.25,95.92 V 55.14 h 15.06 v 40.78 l -7.53,7.54 z m 15.06,0 c 0,4.16 -3.37,7.54 -7.53,7.54 -4.16,0 -7.53,-3.38 -7.53,-7.54 z"
id="path304"
style="fill:#f9f9f9" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

1
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/default.plymouth

@ -0,0 +1 @@
/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth

4
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/details/details.plymouth

@ -0,0 +1,4 @@
[Plymouth Theme]
Name=Details
Description=Verbose fallback theme
ModuleName=details

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/fsck-fade.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/fsck-fade_16bit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/logo_16bit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

8
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth

@ -0,0 +1,8 @@
[Plymouth Theme]
Name=MiniOS Logo
Description=A theme that features a background with a logo.
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/minios-logo
ScriptFile=/usr/share/plymouth/themes/minios-logo/minios-logo.script

512
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/minios-logo.script

@ -0,0 +1,512 @@
/**************************************************************************
*
* Copyright (C) 2011 The Xubuntu Community
* Copyright (C) 2009 Canonical Ltd.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Written by: Mad Nick <dr.madnick@gmail.com>
*
**************************************************************************/
/*
* Related to the screen */
screen_width = Window.GetWidth();
screen_height = Window.GetHeight();
screen_x = Window.GetX();
screen_y = Window.GetY();
/**/
/*
* Images, check bits per pixel
* and load images accordingly */
background_image = Image("wallpaper.png");
passw_dialog_input_image = Image("passw-dialog.png");
bullet_image = Image("test.png");
bpp = Window.GetBitsPerPixel();
if (bpp == 4) {
logotype_image = Image("logo_16bit.png");
progress_meter_image = Image("progress-meter_16bit.png");
progress_fade_image = Image("progress-fade_16bit.png");
fsck_progress_meter_image = Image("progress-meter_16bit.png");
fsck_progress_fade_image = Image("fsck-fade_16bit.png");
}
else {
logotype_image = Image("logo.png");
progress_meter_image = Image("progress-meter.png");
progress_fade_image = Image("progress-fade.png");
fsck_progress_meter_image = Image("progress-meter.png");
fsck_progress_fade_image = Image("fsck-fade.png");
}
/**/
/*
* Sprites */
ratio = screen_height / screen_width;
background_ratio = background_image.GetHeight() / background_image.GetWidth();
factor = 0;
if (ratio > background_ratio) {
factor = screen_height / background_image.GetHeight();
}
else {
factor = screen_width / background_image.GetWidth();
}
scaled = background_image.Scale(background_image.GetWidth() * factor, background_image.GetHeight() * factor);
background_sprite = Sprite(scaled);
background_sprite.SetX(screen_x + screen_width / 2 - scaled.GetWidth() / 2);
background_sprite.SetY(screen_y + screen_height / 2 - scaled.GetHeight() / 2);
logotype_sprite = Sprite(logotype_image);
fsck_progress_meter_sprite = Sprite(fsck_progress_meter_image);
fsck_progress_fade_sprite = Sprite(fsck_progress_fade_image.Scale(1, fsck_progress_fade_image.GetHeight()));
passw_dialog_input_sprite = Sprite(passw_dialog_input_image);
passw_lbl_sprite = Sprite();
msg_label_sprite = Sprite();
/**/
/*
* Misc */
counter = 0;
fade_pos_x = (screen_width / 2) - (progress_meter_image.GetWidth() / 2);
fade_dir = 0; /* 0 = right, 1 = left */
fsck_running = 0;
fsck_dev_array;
fsck_dev_counter = 0;
fsck_fade_in_counter = 0;
fsck_done_fading = 0;
stars_array;
stars_n = 0;
//full_msg = "";
msgs_line = [NULL,NULL,NULL,NULL,NULL];
/**/
/*
* Debug related */
debug = 0;
debug_sprite = Sprite();
fun debugOutput(str) {
/*
* This will print to the top left corner */
debug_sprite.SetImage(Image.Text(str));
}
/**/
/*
* Setup the graphics properties */
logotype_sprite.SetPosition(screen_x + (screen_width / 2) - (logotype_image.GetWidth() / 2), screen_y + (screen_height / 2) - (logotype_image.GetHeight() / 2));
fsck_progress_meter_sprite.SetPosition(screen_x + (screen_width / 2) - (progress_meter_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 25);
fsck_progress_fade_sprite.SetPosition(screen_x + (screen_width / 2) - (progress_meter_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 25);
fsck_progress_meter_sprite.SetOpacity(0);
fsck_progress_fade_sprite.SetOpacity(0);
passw_dialog_input_sprite.SetPosition(screen_x + (screen_width / 2) - (passw_dialog_input_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 70);
passw_dialog_input_sprite.SetOpacity(0);
passw_lbl_sprite.SetOpacity(0);
spin = 0;
/*
* this function only goes up to 100
* because thats all thats needed for
* the progress meter bar */
fun atoi(str) {
int = -1;
for (i = 0; i <= 100; i++) {
if (i + "" == str) {
int = i;
break;
}
}
return int;
}
/*
* This handler will/can be invoked
* 50 times per second.
*
* According to the previous author of the
* splash script, without this callback
* the screen is not updated correctly */
spinner_sprite;
spinner;
fun refreshHandler() {
if (spin < 3.14 * 2) {
spin = spin + 0.1;
}
else {
spin = 0;
}
/* if fsck is running or the password is prompted, hide the spinner */
if (fsck_running == 1 || passw_dialog_input_sprite.GetOpacity() == 1) {
spinner_sprite.SetOpacity(0);
} else {
spinner = Image("spinner.png");
spinner = spinner.Rotate(spin);
spinner_sprite = Sprite(spinner);
spinner_sprite.SetPosition(screen_x + (screen_width / 2) - (spinner.GetWidth() / 2), screen_y + (screen_height / 2) - (spinner.GetHeight() / 2) + 80);
}
if (fade_dir == 0) {
counter++;
if (counter >= 200) {
fade_dir = 1;
}
}
else {
counter--;
if (counter <= 0) {
fade_dir = 0;
}
}
if ((fsck_running == 1) && (fsck_done_fading == 0)) {
fsck_progress_meter_sprite.SetOpacity(fsck_fade_in_counter);
fsck_progress_fade_sprite.SetOpacity(fsck_fade_in_counter);
if (fsck_fade_in_counter < 1) {
fsck_fade_in_counter+= 0.025;
}
else {
fsck_done_fading = 1;
}
}
}
Plymouth.SetRefreshFunction (refreshHandler);
/**/
/*
* This function will display the password related information
* when being prompt with entering a password */
fun showPasswordHandler(prompt, stars) {
if (passw_dialog_input_sprite.GetOpacity() == 0 && passw_lbl_sprite.GetOpacity() == 0) {
passw_dialog_input_sprite.SetOpacity(1);
passw_lbl_sprite.SetOpacity(1);
}
tmp_prompt_image = Image.Text(prompt, 1, 1, 1);
passw_lbl_sprite.SetImage(tmp_prompt_image);
passw_lbl_sprite.SetPosition(screen_x + (screen_width / 2) - (tmp_prompt_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 50);
for(i = 0; i < stars_n; i++) {
stars_array[i] = NULL;
}
stars_n = 0;
for(i = 0; (i < stars) && (i < 15); i++) {
stars_array[i] = Sprite(bullet_image);
stars_array[i].SetPosition(screen_x + (((screen_width / 2) - (passw_dialog_input_image.GetWidth() / 2)) + (18 * i)) + 2, screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 75);
stars_n++;
}
}
Plymouth.SetDisplayPasswordFunction(showPasswordHandler);
/**/
fun displayNormalHandler() {
/*
* Hide the password dialog and the bullets */
if (passw_dialog_input_sprite.GetOpacity() == 1) {
passw_dialog_input_sprite.SetOpacity(0);
}
if (passw_lbl_sprite.GetOpacity() == 1) {
passw_lbl_sprite.SetOpacity(0);
}
for(i = 0; i < stars_n; i++) {
stars_array[i] = NULL;
}
}
Plymouth.SetDisplayNormalFunction(displayNormalHandler);
fun strlen(string) {
i = 0;
while (String(string).CharAt(i)) {
i++;
}
return i;
}
/*
* This function will display the most current message */
fun messageHandler(msg) {
if ((msg == "") || !msg) {
return 0;
}
if (msg.SubString(0, 5) == "keys:") {
msg = msg.SubString(5, strlen(msg));
}
# Get the message without the "fsckd-cancel-msg" prefix as we don't support i18n
if (msg.SubString(0, 17) == "fsckd-cancel-msg:")
msg = msg.SubString(17, strlen(msg));
//full_msg += msg + " ";
for(i = 4; i > 0; i--) {
msgs_line[i] = msgs_line[i - 1];
}
msgs_line[0] = Sprite(Image.Text(msg, 1, 1, 1));
dist = 1;
for(i = 0; i < 5; i++) {
if (msgs_line[i] != NULL) {
msgs_line[i].SetPosition(screen_x + (screen_width / 2) - (msgs_line[i].GetImage().GetWidth() / 2), screen_y + (screen_height - msgs_line[i].GetImage().GetHeight()) - 20*dist);
dist++;
}
}
}
Plymouth.SetMessageFunction(messageHandler);
/**/
/*
* Handles the updates passed to the plymouth daemon
* for example the FSCK data */
fun statusHandler(status) {
tmp_char;
status_array[0] = "";
elem_count = 0;
for (i = 0; String(status).CharAt(i) != ""; i++) {
tmp_char = String(status).CharAt(i);
if (tmp_char != ":") {
status_array[elem_count] += tmp_char;
}
else {
elem_count++;
status_array[elem_count] = "";
}
}
if (status_array[0] == "fsck") {
already_added = 0;
if (fsck_running == 0) {
/*
* use the dedicated message handler for this
* since there is no messages about fsck checks
* currently... */
messageHandler("Routine disk drive check.");
fsck_running = 1;
}
for(i = 0; i < fsck_dev_counter; i++) {
/*
* check if the device already exist and update
* the progress only in that case */
if (fsck_dev_array[i][0] == status_array[1]) {
fsck_dev_array[i][1] = status_array[2]; /* progress */
already_added = 1;
}
}
/*
* if the device is not added, then add it */
if (already_added == 0) {
fsck_dev_array[fsck_dev_counter][0] = status_array[1]; /* device */
fsck_dev_array[fsck_dev_counter][1] = status_array[2]; /* progress */
fsck_dev_counter++;
}
/*
* update the progress */
total = 0;
for(i = 0; i < fsck_dev_counter; i++) {
total += atoi(fsck_dev_array[i][1]);
}
if (fsck_dev_counter > 0) {
/*
* display the total percentage */
fsck_progress_fade_sprite.SetImage(fsck_progress_fade_image.Scale((fsck_progress_meter_image.GetWidth() / 100) * (total / fsck_dev_counter), fsck_progress_fade_image.GetHeight()));
}
/**/
/*
* if the total progress is at maximum,
* make the progress meter go away,
* we might want to fade this out... */
if (total == (100 * fsck_dev_counter)) {
fsck_progress_meter_sprite.SetOpacity(0);
fsck_progress_fade_sprite.SetOpacity(0);
}
}
# systemd-fsckd pass fsckd:<number_devices>:<progress>:<l10n_string>
if (status_array[0] == "fsckd") {
fsck_running = 1;
# remove ",x" as we only care about integers
progress_str = status_array[2];
progress = atoi(progress_str.SubString(0, strlen(progress_str) - 2));
fsck_progress_fade_sprite.SetImage(fsck_progress_fade_image.Scale((fsck_progress_meter_image.GetWidth() / 100) * progress, fsck_progress_fade_image.GetHeight()));
/*
* if the total progress is at maximum,
* make the progress meter go away,
* we might want to fade this out... */
if (progress == 100) {
fsck_progress_meter_sprite.SetOpacity(0);
fsck_progress_fade_sprite.SetOpacity(0);
}
}
}
Plymouth.SetUpdateStatusFunction(statusHandler);
/**/

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/passw-dialog.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-fade.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-fade_16bit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-meter.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/progress-meter_16bit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/spinner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/test.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

BIN
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-logo/wallpaper.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

11
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/minios-text/minios-text.plymouth

@ -0,0 +1,11 @@
[Plymouth Theme]
Name=MiniOS Text
Description=Text mode theme based on minios-logo theme
ModuleName=ubuntu-text
[ubuntu-text]
title=MiniOS 2021
black=0x000000
white=0xffffff
brown=0x000000
blue=0xffffff

1
linux-live/rootcopy-modules/02-xubuntu/usr/share/plymouth/themes/text.plymouth

@ -0,0 +1 @@
/usr/share/plymouth/themes/minios-text/minios-text.plymouth

1376
md5sum.txt

File diff suppressed because it is too large
Loading…
Cancel
Save