commit f47a603473a802d117fb28b562e89922d9ead933
Author: davedatum <ask@davedatum.com>
Date:   Mon Oct 28 20:30:32 2019 +0000

    initial commit

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5b17629
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,52 @@
+Version=18.0
+
+PREFIX = /usr/local
+
+CFG = $(wildcard cfg/*.cfg)
+
+MTHEME = \
+	$(wildcard tromjaro-live/*.png) \
+	tromjaro-live/theme.txt \
+	tromjaro-live/*.pf2
+
+MICONS= $(wildcard tromjaro-live/icons/*.png)
+
+TZ = $(wildcard tz/*)
+
+LOCALES = $(wildcard locales/*)
+
+install_common:
+	install -dm0755 $(DESTDIR)$(PREFIX)/share/grub/cfg
+	install -m0644 ${CFG} $(DESTDIR)$(PREFIX)/share/grub/cfg
+
+	install -dm0755 $(DESTDIR)$(PREFIX)/share/grub/tz
+	install -m0644 ${TZ} $(DESTDIR)$(PREFIX)/share/grub/tz
+
+	install -dm0755 $(DESTDIR)$(PREFIX)/share/grub/locales
+	install -m0644 ${LOCALES} $(DESTDIR)$(PREFIX)/share/grub/locales
+
+uninstall_common:
+	for f in ${CFG}; do rm -f $(DESTDIR)$(PREFIX)/share/grub/cfg/$$f; done
+	for f in ${TZ}; do rm -f $(DESTDIR)$(PREFIX)/share/grub/tz/$$f; done
+	for f in ${LOCALES}; do rm -f $(DESTDIR)$(PREFIX)/share/grub/locales/$$f; done
+
+install_manjaro:
+	install -dm0755 $(DESTDIR)$(PREFIX)/share/grub/themes/tromjaro-live
+	install -m0644 ${MTHEME} $(DESTDIR)$(PREFIX)/share/grub/themes/tromjaro-live
+
+	install -dm0755 $(DESTDIR)$(PREFIX)/share/grub/themes/tromjaro-live/icons
+	install -m0644 ${MICONS} $(DESTDIR)$(PREFIX)/share/grub/themes/tromjaro-live/icons
+
+uninstall_manjaro:
+	for f in ${MTHEME}; do rm -f $(DESTDIR)$(PREFIX)/share/grub/theme/tromjaro-live/$$f; done
+	for f in ${MICONS}; do rm -f $(DESTDIR)$(PREFIX)/share/grub/theme/tromjaro-live/icons/$$f; done
+
+install: install_common install_tromjaro
+
+uninstall: uninstall_common uninstall_tromjaro
+
+dist:
+	git archive --format=tar --prefix=grub-theme-$(Version)/ $(Version) | gzip -9 > grub-theme-$(Version).tar.gz
+	gpg --detach-sign --use-agent grub-theme-$(Version).tar.gz
+
+.PHONY: install uninstall dist
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c6e6752
--- /dev/null
+++ b/README.md
@@ -0,0 +1,4 @@
+TORMjaro-grub-theme
+==================
+
+TROMjaro's grub theme for install media
diff --git a/cfg/defaults.cfg b/cfg/defaults.cfg
new file mode 100644
index 0000000..938730d
--- /dev/null
+++ b/cfg/defaults.cfg
@@ -0,0 +1,12 @@
+if [ -z "${def_bootlang}" ]; then
+    def_bootlang="en_US"
+    def_keyboard="us"
+    def_timezone="UTC"
+    def_drv="free"
+fi
+if [ -z "${bootlang}" ]; then
+    bootlang="lang=${def_bootlang}"
+    keyboard="keytable=${def_keyboard}"
+    timezone="tz=${def_timezone}"
+    drv="driver=${def_drv} nouveau.modeset=1 i915.modeset=1 radeon.modeset=1"
+fi
diff --git a/cfg/grub.cfg b/cfg/grub.cfg
new file mode 100644
index 0000000..2edd30e
--- /dev/null
+++ b/cfg/grub.cfg
@@ -0,0 +1,571 @@
+insmod font
+insmod keylayouts
+insmod part_msdos
+insmod part_gpt
+
+export loaded
+export koptsok
+export disable_gfxterm
+export bootarch
+export firmware
+export firmware_found
+export from
+export fromiso
+export bootlang
+export keyboard
+export timezone
+export drv
+export hwclock
+export def_bootlang
+export def_keyboard
+export def_timezone
+export def_drv
+export menu_color_normal
+export menu_color_highlight
+export pager
+
+function menu_help {
+    check_help
+    grub_help
+}
+
+function check_help {
+    if [ -z "${koptsok}" ]; then
+        echo $"WARNING: nothing set"
+        echo $" System will use defaults"
+        echo  "  American English <> utc clock <> us "$"keyboard <> free drivers"
+        echo ""
+    fi
+}
+
+function kopts_help {
+    echo $"Example boot command line arguments:"
+    echo $" Setup"
+    echo  "  lang=<language>_<variant> keytable=<layout>         tz=<region>/<city>"
+    echo  "  hostname=<name>           username=<name>"
+    echo $" Kernel"
+    echo  "  blacklist=<module>"
+    echo $" Video"
+    echo  "  <module>.modeset=0"
+    echo  "  radeon.modeset=0          nouveau.modeset=0         i915.modeset=0"
+    echo  "  video=VGA-1:1920x1080e    DVI-0:800x600"
+    echo ""
+}
+
+function grub_help {
+    echo $"To use the menu:"
+    echo $" press up or down to move between items"
+    echo $" press enter or right to select the item"
+    echo $" press e to edit the current item"
+    echo $" press c to go to the grub command line"
+    echo ""
+    echo $"Simply edit the first line of most menus to control them"
+    echo $"Select or edit the blank line to enter command line arguments"
+    echo ""
+}
+
+function menu_reload {
+    configfile /boot/grub/grub.cfg
+}
+
+function menu_continue {
+    echo -n $"Press Enter to continue"
+    read mcont
+}
+
+function prompt {
+    echo -n "> "
+}
+
+function is_efi {
+    if [ "${grub_platform}" = "efi" ]; then
+        return 0
+    fi
+    return 1
+}
+
+function efi_detect {
+    if is_efi ; then
+        submenu --class=find.efi --hotkey=f "Detect EFI bootloaders" {
+            efi_found=false
+
+            for efi in (*,gpt*)/efi/*/*.efi (*,gpt*)/efi/*/*/*.efi (*,gpt*)/*.efi (*,gpt*)/*/*.efi ; do
+                regexp --set=1:efi_device '^\((.*)\)/' "${efi}"
+                if [ -e "${efi}" ]; then
+                    efi_found=true
+
+                    menuentry --class=efi "${efi}" "${efi_device}" {
+                        root="${2}"
+                        chainloader "${1}"
+                    }
+                fi
+            done
+
+            if [ "${efi_found}" != true ]; then
+                menuentry --hotkey=q --class=find.none "No EFI files detected." {menu_reload}
+            else
+                menuentry --hotkey=q --class=cancel "Cancel" {menu_reload}
+            fi
+        }
+    fi
+}
+
+function memtest_detect {
+    if ! is_efi; then
+        if [ -f /boot/memtest ]; then
+            menuentry --class=memtest --hotkey=m "memtest" {linux16 /boot/$1}
+        fi
+    fi
+}
+
+function lang_setup {
+    source /boot/grub/locales/${1}
+    menu_reload
+}
+
+function lang_menu {
+    menuentry --class=lang.${ll} "lang=${ll}" "${ll}" {lang_setup "${2}"}
+}
+
+function show_timezones {
+    submenu --class=tz --hotkey=t "tz=${def_timezone}" {# set the timezone above with the editor
+        if [ -n "$1" ];then
+            if [ "$1" = "tz=${def_timezone}" ]; then
+                default=0
+                menuentry --class=cancel --hotkey=q "Cancel (${def_timezone})" {menu_reload}
+                for tt in Africa America Asia Atlantic Australia Etc Europe Pacific; do
+                    submenu --class=tz.${tt} "${tt}" {
+                        menuentry --class=cancel --hotkey=q "Cancel (${def_timezone})" {menu_reload}
+                        source "/boot/grub/tz/${1}"
+                    }
+                done
+            else
+                regexp -s newtz '^tz=(.*)' "$1"
+                if [ -z "$newtz" ]; then
+                    def_timezone="$1"
+                else
+                    def_timezone="$newtz"
+                fi
+                timezone="tz=$def_timezone"
+                menu_reload
+            fi
+        fi
+    }
+}
+
+function show_keymaps {
+    submenu --class=kbd --hotkey=k "keytable=${def_keyboard}" {# set the timezone above with the editor
+        if [ -n "$1" ]; then
+            if [ "$1" = "keytable=${def_keyboard}" ]; then
+                default=0
+                menuentry --class=cancel --hotkey=q "Cancel (${def_keyboard})" {menu_reload}
+                source /boot/grub/locales/keyboards
+            else
+                regexp -s newkey '^keytable=(.*)' "$1"
+                if [ -z "$newkey" ]; then
+                    def_keyboard="$1"
+                else
+                    def_keyboard="$newkey"
+                fi
+                keyboard="keytable=$def_keyboard"
+                menu_reload
+            fi
+        fi
+    }
+}
+
+function show_drivers {
+    submenu --class=driver --hotkey=m "driver=${def_drv}" {# set the driver above with the editor
+        if [ -n "$1" ]; then
+            if [ "$1" = "driver=${def_drv}" ]; then
+                default=0
+                menuentry --class=cancel --hotkey=q "Cancel (${def_drv})" {menu_reload}
+                source /boot/grub/mhwd.cfg
+            else
+                regexp -s newdrv '^driver=(.*)' "$1"
+                if [ -z "${newdrv}" ]; then
+                    def_drv="$1"
+                else
+                    def_drv="${newdrv}"
+                fi
+                newdrv="driver=${def_drv}"
+                menu_reload
+            fi
+        fi
+    }
+}
+
+function show_languages {
+    submenu --hotkey=l --class=lang "lang=${def_bootlang}" {# set the timezone above with the editor
+        if [ -n "$1" ]; then
+            if [ "$1" = "lang=${def_bootlang}" ]; then
+                default=0
+                menuentry --class=lang.${def_bootlang} "lang=${def_bootlang}" {menu_reload}
+                menuentry --class=lang.cs "Čeština" {lang_setup "cs_CZ"}
+                menuentry --class=lang.da "Dansk" {lang_setup "da_DK"}
+                submenu --class=lang.de "Deutsch" {
+                    for ll in de_DE de_AT de_BE de_CH de_LI de_LU; do
+                        lang_menu ${ll}
+                    done
+                }
+                submenu --class=lang.el "Ελληνικά" {
+                    for ll in el_GR el_CY; do
+                        lang_menu ${ll}
+                    done
+                }
+                submenu --class=lang.en "English" {
+                    for ll in en_US en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_ZA en_ZW; do
+                        lang_menu ${ll}
+                    done
+                }
+                submenu --class=lang.es "Español" {
+                    for ll in es_ES es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE; do
+                        lang_menu ${ll}
+                    done
+                }
+                submenu --class=lang.fr "Français" {
+                    for ll in fr_FR fr_BE fr_CA fr_CH fr_LU fr_NC; do
+                        lang_menu ${ll}
+                    done
+                }
+                menuentry --class=lang.he "עִבְרִית" {lang_setup "he_IL"}
+                submenu --class=lang.it "Italiano" {
+                    for ll in it_IT it_CH; do
+                        lang_menu ${ll}
+                    done
+                }
+                menuentry --class=lang.ja "日本語" {lang_setup "ja_JP"}
+                submenu --class=lang.nl "Nederlands" {
+                    for ll in nl_NL nl_AW nl_BE; do
+                        lang_menu ${ll}
+                    done
+                }
+                menuentry --class=lang.pl "Polski" {lang_setup "pl_PL"}
+                submenu --class=lang.pt "Português" {
+                    for ll in pt_BR pt_PT; do
+                        lang_menu ${ll}
+                    done
+                }
+                menuentry --class=lang.ro "Română" {lang_setup "ro_RO"}
+                submenu --class=lang.ru "Русский" {
+                    for ll in ru_RU ru_UA;do
+                        lang_menu ${ll}
+                    done
+                }
+                submenu --class=lang.zh "中文" {
+                    for ll in zh_CN zh_TW; do
+                        lang_menu ${ll}
+                    done
+                }
+            else
+                regexp -s newlang '^lang=(.*)' "$1"
+                if [ -z "$newlang" ]; then
+                    def_bootlang="$1"
+                else
+                    def_bootlang="$newlang"
+                fi
+                bootlang="lang=$def_bootlang"
+                if [ -f /boot/grub/locales/${def_bootlang} ]; then
+                    source /boot/grub/locales/${def_bootlang}
+                fi
+                menu_reload
+            fi
+        fi
+    }
+}
+
+function boot_menu {
+    if [ "${hwclock}" = "utc=yes" ]; then
+        class="utc"
+        title="utc"
+        clockset=""
+    elif [ "${timezone}${bootlang}" = "" ]; then
+        class="unset"
+        title="utc"
+        clockset=""
+    else
+        title="${def_timezone}"
+        class="tz.${def_timezone}"
+        clockset="utc=yes"
+    fi
+    min2d="$MINUTE"
+    if regexp '(^.$)' "$min2d"; then
+        min2d="0${min2d}"
+    fi
+    hour2d="$HOUR"
+    if regexp '(^.$)' "$hour2d"; then
+        hour2d="0${hour2d}"
+    fi
+    menuentry --class=tz.$class --hotkey=u "$hour2d:$min2d $title" "$clockset" {
+        hwclock="$2"
+        menu_reload
+    }
+    show_timezones
+    show_keymaps
+    show_languages
+    show_drivers
+    default=5
+}
+
+function boot_defaults {
+    source /boot/grub/defaults.cfg
+}
+
+function grub_reboot {
+    menuentry " " {true}
+    menuentry --class=reboot "Reboot!" {reboot}
+}
+
+function grub_bios_installed {
+    if ! is_efi;  then
+        menuentry "" {true}
+        menuentry --class=tromjaro "Installed BIOS-System on $installed" {exit}
+    fi
+}
+
+function grub_efi_installed {
+    if is_efi; then
+        menu "" {true}
+        menu --class=tromjaro "Installed EFI-System on $installed" {exit}
+    fi
+}
+
+
+function check {
+    cliname="$1"
+    varname="$2"
+    if [ "${optname}" != "${cliname}" ]; then
+        return 1
+    fi
+    if [ -z "$varname" ]; then
+        varname="${cliname}"
+    fi
+    if [ -z "${optval}" ]; then
+        eval ${varname}="${cliname}"
+    else
+        eval ${varname}="${cliname}=${optval}"
+        if [ "${optname}" = "lang" ]; then
+            lang_setup ${optval}
+        elif [ "${optname}" = "keytable" ]; then
+            def_keyboard="${optval}"
+        elif [ "${optname}" = "tz" ]; then
+            def_timezone="${optval}"
+        elif [ "${optname}" = "driver" ]; then
+            def_drv="${optval}"
+        fi
+    fi
+    return 0
+}
+
+function checkinput {
+    newinput="$1"
+    newoutput=""
+    for newcli in ${newinput} ; do
+    optname=""
+    optval=""
+    optdone=""
+    regexp -s optname '^(.+)=.*$' "${newcli}"
+    if [ -z "${optname}" ]; then
+        optname="${newcli}"
+    else
+        regexp -s optval '^.+=(.*)$' "${newcli}"
+    fi
+    for tocheck in "lang bootlang" "keytable keyboard" "tz timezone" "utc hwclock" "driver drv"; do
+        if check $tocheck ; then
+            optdone="Y"
+            break
+        fi
+    done
+    if [ -z "${optdone}" ]; then
+        if [ -z "${newoutput}" ]; then
+            newoutput="${newcli}"
+        else
+            newoutput="${newoutput} ${newcli}"
+        fi
+    fi
+    done
+}
+
+function new2cli {
+    newinput="$1"
+    if [ -n "$newinput" ]; then
+        checkinput "$newinput"
+        if [ -n "${newoutput}" ]; then
+            newinput="${newoutput}"
+            if [ -n "$clinput" ]; then
+                clinput="$clinput $newinput"
+            else
+                clinput="$newinput"
+            fi
+            export clinput
+        fi
+    fi
+}
+
+function getargs {
+    args=""
+    for a in $@; do
+        if [ -n "${a}" ]; then
+            args="${args} ${a}"
+        fi
+    done
+}
+
+function bootcheck {
+    getargs
+}
+
+pager=1
+
+insmod regexp
+insmod datehook
+if ! is_efi; then
+    insmod part_gpt
+fi
+
+if is_efi; then
+    insmod efi_gop
+    insmod efi_uga
+fi
+
+if [ -z "${loaded}" ]; then
+    iscd=""
+    auto=""
+    regexp -s iscd '^(cd)' "${root}"
+    if [ "${iscd}" != "cd" -a -e (cd) ]; then
+        probe -s cdp -u cd
+        probe -s hdp -u $root
+        if [ -n "$cdp" -a "$cdp" = "$hdp" ]; then
+            iscd="cd"
+        fi
+    fi
+    if [ "${root}" != "hd96" -a "${iscd}" != "cd" ]; then
+        auto="${auto}"
+    fi
+    source /boot/grub/variable.cfg
+    loaded=true
+
+    if keystatus --shift; then
+        disable_gfxterm=true
+    fi
+
+    if [ "${disable_gfxterm}" != "true" ]; then
+        if loadfont /boot/grub/unicode.pf2 ; then
+            if [ -z "$gfxmode" ] ; then
+                gfxmode=1024x768,auto # 1280x1024,1024x768,800x600,640x480 possible value
+                gfxpayload=keep
+            fi
+            if keystatus --ctrl; then
+                gfxok=""
+                pager=0
+                while [ -z "$gfxok" ]; do
+                    echo "gfxmode=$gfxmode"
+                    echo "Input new mode or Enter to confirm"
+                    prompt
+                    read gfxmodein
+                    if [ -n "$gfxmodein" ]; then
+                        gfxmode="$gfxmodein"
+                        echo ""
+                    else
+                        gfxok="true"
+                    fi
+                done
+            fi
+            insmod all_video
+            insmod gfxterm
+            if terminal_output --append gfxterm; then
+                terminal_output --remove console
+            else
+                disable_gfxterm=true
+            fi
+        else
+            disable_gfxterm=true
+        fi
+    fi
+
+    if [ "${disable_gfxterm}" != "true"  -a -f "${grub_theme}" ]; then
+        insmod gfxmenu
+        themedir=""
+        regexp -s themedir '^(.*)/.*$' "${grub_theme}"
+        for themefont in $themedir/*.pf2 $themedir/f/*.pf2; do
+            if [ -f "${themefont}" ]; then
+                loadfont "${themefont}"
+            fi
+        done
+        for imagetype in jpg jpeg png tga; do
+            for themeimage in ${themedir}/*.${imagetype}; do
+                if [ -f "${themeimage}" ]; then
+                    if [ "${imagetype}" = "jpg" ]; then
+                        insmod jpeg
+                    else
+                        insmod $imagetype
+                    fi
+                fi
+            done
+        done
+        theme=${grub_theme}
+        export theme
+    fi
+
+    menu_color_normal=cyan/blue
+    menu_color_highlight=white/blue
+
+    if [ -n "${iso_path}" ]; then
+        auto="img_dev=/dev/disk/by-uuid/${rootuuid} img_loop=${iso_path}"
+    fi
+    
+    export auto
+fi
+
+boot_defaults
+
+for kopt in "${clinput}" "${bootlang}" "${keyboard}" "${timezone}" "${hwclock}" "${drv}" "${auto}"; do
+    if [ -n "${kopt}" ]; then
+        kopts="${kopts} ${kopt}"
+    fi
+done
+if [ -n "${bootlang}${keyboard}${timezone}${drv}" ]; then
+    koptsok="true"
+fi
+
+boot_menu
+
+source /boot/grub/kernels.cfg
+if [ -n "$clinput" ]; then
+    menuentry --class=edit "$clinput" {
+        if [ -n "$1" ]; then
+            clinput="$@"
+        else
+            unset clinput
+        fi
+        menu_reload
+    }
+fi
+menuentry --class=type --hotkey=tab "" {# set arguments above with the editor
+    getargs $@
+    pager=0
+    if [ -z "$args" ]; then
+        check_help
+        kopts_help
+        echo $"Input command line options, press Enter to continue"
+        prompt
+        read newinput
+    else
+        newinput="$args"
+    fi
+    new2cli "$newinput"
+    pager=1
+    menu_reload
+}
+menuentry --hotkey=h --class=help "help" {
+    pager=0
+    menu_help
+    menu_continue
+    pager=1
+}
+efi_detect
+memtest_detect
+search --no-floppy --file /etc/issue --set installed
+grub_bios_installed
+grub_efi_installed
+grub_reboot
diff --git a/cfg/kernels.cfg b/cfg/kernels.cfg
new file mode 100644
index 0000000..666607b
--- /dev/null
+++ b/cfg/kernels.cfg
@@ -0,0 +1,48 @@
+for kk in /boot/vmlinu*-*64; do
+if [ "$kk" != "/boot/vmlinu*-*64" ]; then
+    have64="true"
+    if cpuid -l; then
+        have_kernel="true"
+    else
+        have_kernel="false"
+    fi
+fi
+done
+for kk in /boot/vmlinu*-*86; do
+if [ "$kk" != "/boot/vmlinu*-*86" ]; then
+    have32="true"
+    have_kernel="true"
+fi
+done
+if [ "${have_kernel}" != "true" ]; then
+    menuentry --class=find.none "NO SUITABLE KERNELS AVAILABLE" {echo $@  echo "There are no kernels suitable for this machine available."
+        echo ""
+        if ! cpuid -l; then
+            echo "This machine is NOT 64bit capable."
+            echo ""
+        fi
+        echo "There are no suitable kernels available"
+        if [ "${have64}" == "true" ]; then
+            echo ""
+            echo "It appears you are trying to boot a 64bit release on a 32bit machine"
+            echo "This cannot work!"
+        fi
+        echo ""
+        echo "Press Escape to return to the main menu"
+        sleep --interruptible 9999
+        menu_reload
+    }
+else
+    title=""
+    for kopt in @ARCH@ $kopts  @DEFAULT_ARGS@ @BOOT_ARGS@; do
+        if [ -n "$title" ] ; then
+            title="$title $kopt";
+        else
+            title="$kopt";
+        fi;
+    done
+    menuentry "Boot: @DIST_NAME@.@ARCH@ @PROFILE@ " --class=@DIST_NAME@.@ARCH@ "$title" {# set arguments above with the editor
+        linux /boot/vmlinuz-$2
+        initrd /boot/amd_ucode.img /boot/intel_ucode.img /boot/initramfs-@ARCH@.img
+    }
+fi
diff --git a/cfg/loopback.cfg b/cfg/loopback.cfg
new file mode 100644
index 0000000..e94c44d
--- /dev/null
+++ b/cfg/loopback.cfg
@@ -0,0 +1 @@
+source /boot/grub/grub.cfg
diff --git a/cfg/mhwd.cfg b/cfg/mhwd.cfg
new file mode 100644
index 0000000..bb03137
--- /dev/null
+++ b/cfg/mhwd.cfg
@@ -0,0 +1,12 @@
+for d in free nonfree; do
+    menuentry "${d}" "${d}" {
+        if [ "${2}" = "free" ]; then
+            def_drv="${2}"
+            drv="driver=${def_drv} nouveau.modeset=1 i915.modeset=1 radeon.modeset=1"
+        else
+            def_drv="${2}"
+            drv="driver=${def_drv} nouveau.modeset=0 i915.modeset=1 radeon.modeset=0"
+        fi
+        menu_reload
+    }
+done
diff --git a/cfg/variable.cfg b/cfg/variable.cfg
new file mode 100644
index 0000000..5a131cd
--- /dev/null
+++ b/cfg/variable.cfg
@@ -0,0 +1,2 @@
+grub_theme=/boot/grub/themes/@ISO_NAME@-live/theme.txt
+timeout=10
diff --git a/locales/C_ b/locales/C_
new file mode 100644
index 0000000..eebe869
--- /dev/null
+++ b/locales/C_
@@ -0,0 +1,9 @@
+lang=C
+bootlang="lang=C_"
+def_bootlang="C_"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Etc/UTC"
+fi
diff --git a/locales/be_BY b/locales/be_BY
new file mode 100644
index 0000000..db2ebf8
--- /dev/null
+++ b/locales/be_BY
@@ -0,0 +1,9 @@
+lang=be
+bootlang="lang=be_BY"
+def_bootlang="be_BY"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="by"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Minsk"
+fi
diff --git a/locales/bg_BG b/locales/bg_BG
new file mode 100644
index 0000000..26d4b48
--- /dev/null
+++ b/locales/bg_BG
@@ -0,0 +1,9 @@
+lang=bg
+bootlang="lang=bg_BG"
+def_bootlang="bg_BG"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="bg"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Sofia"
+fi
diff --git a/locales/bs_BA b/locales/bs_BA
new file mode 100644
index 0000000..e93b394
--- /dev/null
+++ b/locales/bs_BA
@@ -0,0 +1,9 @@
+lang=bs
+bootlang="lang=bs_BA"
+def_bootlang="bs_BA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ba"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Sarajevo"
+fi
diff --git a/locales/cs_CZ b/locales/cs_CZ
new file mode 100644
index 0000000..2a52a56
--- /dev/null
+++ b/locales/cs_CZ
@@ -0,0 +1,9 @@
+lang=cs
+bootlang="lang=cs_CZ"
+def_bootlang="cs_CZ"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="cz"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Prague"
+fi
diff --git a/locales/da_DK b/locales/da_DK
new file mode 100644
index 0000000..82b9152
--- /dev/null
+++ b/locales/da_DK
@@ -0,0 +1,9 @@
+lang=da
+bootlang="lang=da_DK"
+def_bootlang="da_DK"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="dk"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Copenhagen"
+fi
diff --git a/locales/de_AT b/locales/de_AT
new file mode 100644
index 0000000..8fc7f0e
--- /dev/null
+++ b/locales/de_AT
@@ -0,0 +1,9 @@
+lang=de
+bootlang="lang=de_AT"
+def_bootlang="de_AT"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="de"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Vienna"
+fi
diff --git a/locales/de_BE b/locales/de_BE
new file mode 100644
index 0000000..d139a76
--- /dev/null
+++ b/locales/de_BE
@@ -0,0 +1,9 @@
+lang=de
+bootlang="lang=de_BE"
+def_bootlang="de_BE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="be"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Brussels"
+fi
diff --git a/locales/de_CH b/locales/de_CH
new file mode 100644
index 0000000..f02559c
--- /dev/null
+++ b/locales/de_CH
@@ -0,0 +1,9 @@
+lang=de
+bootlang="lang=de_CH"
+def_bootlang="de_CH"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="de_CH-latin1"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Zurich"
+fi
diff --git a/locales/de_DE b/locales/de_DE
new file mode 100644
index 0000000..96c7510
--- /dev/null
+++ b/locales/de_DE
@@ -0,0 +1,9 @@
+lang=de
+bootlang="lang=de_DE"
+def_bootlang="de_DE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="de"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Berlin"
+fi
diff --git a/locales/de_LI b/locales/de_LI
new file mode 100644
index 0000000..f4e454c
--- /dev/null
+++ b/locales/de_LI
@@ -0,0 +1,9 @@
+lang=de
+bootlang="lang=de_LI"
+def_bootlang="de_LI"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="de"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Vaduz"
+fi
diff --git a/locales/de_LU b/locales/de_LU
new file mode 100644
index 0000000..0b9388a
--- /dev/null
+++ b/locales/de_LU
@@ -0,0 +1,9 @@
+lang=de
+bootlang="lang=de_LU"
+def_bootlang="de_LU"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="de"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Luxembourg"
+fi
diff --git a/locales/el_CY b/locales/el_CY
new file mode 100644
index 0000000..3dab741
--- /dev/null
+++ b/locales/el_CY
@@ -0,0 +1,9 @@
+lang=el
+bootlang="lang=el_CY"
+def_bootlang="el_CY"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="gr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Athens"
+fi
diff --git a/locales/el_GR b/locales/el_GR
new file mode 100644
index 0000000..e947631
--- /dev/null
+++ b/locales/el_GR
@@ -0,0 +1,9 @@
+lang=el
+bootlang="lang=el_GR"
+def_bootlang="el_GR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="gr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Athens"
+fi
diff --git a/locales/en_AG b/locales/en_AG
new file mode 100644
index 0000000..31a86d9
--- /dev/null
+++ b/locales/en_AG
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_AG"
+def_bootlang="en_AG"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Antigua"
+fi
diff --git a/locales/en_AU b/locales/en_AU
new file mode 100644
index 0000000..574d023
--- /dev/null
+++ b/locales/en_AU
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_AU"
+def_bootlang="en_AU"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Australia/Sydney"
+fi
diff --git a/locales/en_BW b/locales/en_BW
new file mode 100644
index 0000000..d5aeb18
--- /dev/null
+++ b/locales/en_BW
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_BW"
+def_bootlang="en_BW"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Africa/Gaborone"
+fi
diff --git a/locales/en_CA b/locales/en_CA
new file mode 100644
index 0000000..786ff61
--- /dev/null
+++ b/locales/en_CA
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_CA"
+def_bootlang="en_CA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Toronto"
+fi
diff --git a/locales/en_DK b/locales/en_DK
new file mode 100644
index 0000000..6fd6a20
--- /dev/null
+++ b/locales/en_DK
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_DK"
+def_bootlang="en_DK"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="dk"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Copenhagen"
+fi
diff --git a/locales/en_GB b/locales/en_GB
new file mode 100644
index 0000000..b7d5d98
--- /dev/null
+++ b/locales/en_GB
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_GB"
+def_bootlang="en_GB"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="gb"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/London"
+fi
diff --git a/locales/en_HK b/locales/en_HK
new file mode 100644
index 0000000..fa23d9d
--- /dev/null
+++ b/locales/en_HK
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_HK"
+def_bootlang="en_HK"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Hong_Kong"
+fi
diff --git a/locales/en_IE b/locales/en_IE
new file mode 100644
index 0000000..91d4470
--- /dev/null
+++ b/locales/en_IE
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_IE"
+def_bootlang="en_IE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ie"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Dublin"
+fi
diff --git a/locales/en_IN b/locales/en_IN
new file mode 100644
index 0000000..21e2262
--- /dev/null
+++ b/locales/en_IN
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_IN"
+def_bootlang="en_IN"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Kolkata"
+fi
diff --git a/locales/en_NG b/locales/en_NG
new file mode 100644
index 0000000..5df0af2
--- /dev/null
+++ b/locales/en_NG
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_NG"
+def_bootlang="en_NG"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Africa/Lagos"
+fi
diff --git a/locales/en_NZ b/locales/en_NZ
new file mode 100644
index 0000000..a149831
--- /dev/null
+++ b/locales/en_NZ
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_NZ"
+def_bootlang="en_NZ"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Pacific/Auckland"
+fi
diff --git a/locales/en_PH b/locales/en_PH
new file mode 100644
index 0000000..ed615f7
--- /dev/null
+++ b/locales/en_PH
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_PH"
+def_bootlang="en_PH"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Manila"
+fi
diff --git a/locales/en_SG b/locales/en_SG
new file mode 100644
index 0000000..c3b1c0f
--- /dev/null
+++ b/locales/en_SG
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_SG"
+def_bootlang="en_SG"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Singapore"
+fi
diff --git a/locales/en_US b/locales/en_US
new file mode 100644
index 0000000..ba75216
--- /dev/null
+++ b/locales/en_US
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_US"
+def_bootlang="en_US"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/New_York"
+fi
diff --git a/locales/en_ZA b/locales/en_ZA
new file mode 100644
index 0000000..9b71461
--- /dev/null
+++ b/locales/en_ZA
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_ZA"
+def_bootlang="en_ZA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Africa/Johannesburg"
+fi
diff --git a/locales/en_ZW b/locales/en_ZW
new file mode 100644
index 0000000..06f9b57
--- /dev/null
+++ b/locales/en_ZW
@@ -0,0 +1,9 @@
+lang=en
+bootlang="lang=en_ZW"
+def_bootlang="en_ZW"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Africa/Harare"
+fi
diff --git a/locales/es_AR b/locales/es_AR
new file mode 100644
index 0000000..e2c6b9d
--- /dev/null
+++ b/locales/es_AR
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_AR"
+def_bootlang="es_AR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Argentina/Buenos_Aires"
+fi
diff --git a/locales/es_BO b/locales/es_BO
new file mode 100644
index 0000000..846e471
--- /dev/null
+++ b/locales/es_BO
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_BO"
+def_bootlang="es_BO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/La_Paz"
+fi
diff --git a/locales/es_CL b/locales/es_CL
new file mode 100644
index 0000000..706c5ce
--- /dev/null
+++ b/locales/es_CL
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_CL"
+def_bootlang="es_CL"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Santiago"
+fi
diff --git a/locales/es_CO b/locales/es_CO
new file mode 100644
index 0000000..3fd73eb
--- /dev/null
+++ b/locales/es_CO
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_CO"
+def_bootlang="es_CO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Bogota"
+fi
diff --git a/locales/es_CR b/locales/es_CR
new file mode 100644
index 0000000..9fa998c
--- /dev/null
+++ b/locales/es_CR
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_CR"
+def_bootlang="es_CR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Costa_Rica"
+fi
diff --git a/locales/es_DO b/locales/es_DO
new file mode 100644
index 0000000..b69f902
--- /dev/null
+++ b/locales/es_DO
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_DO"
+def_bootlang="es_DO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Santo_Domingo"
+fi
diff --git a/locales/es_EC b/locales/es_EC
new file mode 100644
index 0000000..c184c75
--- /dev/null
+++ b/locales/es_EC
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_EC"
+def_bootlang="es_EC"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Guayaquil"
+fi
diff --git a/locales/es_ES b/locales/es_ES
new file mode 100644
index 0000000..36a137b
--- /dev/null
+++ b/locales/es_ES
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_ES"
+def_bootlang="es_ES"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="es"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Madrid"
+fi
diff --git a/locales/es_GT b/locales/es_GT
new file mode 100644
index 0000000..1db3868
--- /dev/null
+++ b/locales/es_GT
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_GT"
+def_bootlang="es_GT"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Guatemala"
+fi
diff --git a/locales/es_HN b/locales/es_HN
new file mode 100644
index 0000000..0440a97
--- /dev/null
+++ b/locales/es_HN
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_HN"
+def_bootlang="es_HN"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Tegucigalpa"
+fi
diff --git a/locales/es_MX b/locales/es_MX
new file mode 100644
index 0000000..64de876
--- /dev/null
+++ b/locales/es_MX
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_MX"
+def_bootlang="es_MX"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Mexico_City"
+fi
diff --git a/locales/es_NI b/locales/es_NI
new file mode 100644
index 0000000..3f8f594
--- /dev/null
+++ b/locales/es_NI
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_NI"
+def_bootlang="es_NI"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Managua"
+fi
diff --git a/locales/es_PA b/locales/es_PA
new file mode 100644
index 0000000..583fbd3
--- /dev/null
+++ b/locales/es_PA
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_PA"
+def_bootlang="es_PA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Panama"
+fi
diff --git a/locales/es_PE b/locales/es_PE
new file mode 100644
index 0000000..50847f2
--- /dev/null
+++ b/locales/es_PE
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_PE"
+def_bootlang="es_PE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Lima"
+fi
diff --git a/locales/es_PR b/locales/es_PR
new file mode 100644
index 0000000..fd7d790
--- /dev/null
+++ b/locales/es_PR
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_PR"
+def_bootlang="es_PR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Puerto_Rico"
+fi
diff --git a/locales/es_PY b/locales/es_PY
new file mode 100644
index 0000000..7450853
--- /dev/null
+++ b/locales/es_PY
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_PY"
+def_bootlang="es_PY"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Asuncion"
+fi
diff --git a/locales/es_SV b/locales/es_SV
new file mode 100644
index 0000000..cb98efd
--- /dev/null
+++ b/locales/es_SV
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_SV"
+def_bootlang="es_SV"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/El_Salvador"
+fi
diff --git a/locales/es_US b/locales/es_US
new file mode 100644
index 0000000..811fc91
--- /dev/null
+++ b/locales/es_US
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_US"
+def_bootlang="es_US"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/New_York"
+fi
diff --git a/locales/es_UY b/locales/es_UY
new file mode 100644
index 0000000..1356c7b
--- /dev/null
+++ b/locales/es_UY
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_UY"
+def_bootlang="es_UY"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Montevideo"
+fi
diff --git a/locales/es_VE b/locales/es_VE
new file mode 100644
index 0000000..5ccc212
--- /dev/null
+++ b/locales/es_VE
@@ -0,0 +1,9 @@
+lang=es
+bootlang="lang=es_VE"
+def_bootlang="es_VE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="latam"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Caracas"
+fi
diff --git a/locales/et_EE b/locales/et_EE
new file mode 100644
index 0000000..3778c55
--- /dev/null
+++ b/locales/et_EE
@@ -0,0 +1,9 @@
+lang=et
+bootlang="lang=et_EE"
+def_bootlang="et_EE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="et"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Tallinn"
+fi
diff --git a/locales/fi_FI b/locales/fi_FI
new file mode 100644
index 0000000..3fc1861
--- /dev/null
+++ b/locales/fi_FI
@@ -0,0 +1,9 @@
+lang=fi
+bootlang="lang=fi_FI"
+def_bootlang="fi_FI"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="fi"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Helsinki"
+fi
diff --git a/locales/fr_BE b/locales/fr_BE
new file mode 100644
index 0000000..34e0e3d
--- /dev/null
+++ b/locales/fr_BE
@@ -0,0 +1,9 @@
+lang=fr
+bootlang="lang=fr_BE"
+def_bootlang="fr_BE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="be"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Brussels"
+fi
diff --git a/locales/fr_CA b/locales/fr_CA
new file mode 100644
index 0000000..f1b38fe
--- /dev/null
+++ b/locales/fr_CA
@@ -0,0 +1,9 @@
+lang=fr
+bootlang="lang=fr_CA"
+def_bootlang="fr_CA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ca"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Toronto"
+fi
diff --git a/locales/fr_CH b/locales/fr_CH
new file mode 100644
index 0000000..d7a20c9
--- /dev/null
+++ b/locales/fr_CH
@@ -0,0 +1,9 @@
+lang=fr
+bootlang="lang=fr_CH"
+def_bootlang="fr_CH"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ch"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Zurich"
+fi
diff --git a/locales/fr_FR b/locales/fr_FR
new file mode 100644
index 0000000..09686c7
--- /dev/null
+++ b/locales/fr_FR
@@ -0,0 +1,9 @@
+lang=fr
+bootlang="lang=fr_FR"
+def_bootlang="fr_FR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="fr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Paris"
+fi
diff --git a/locales/fr_LU b/locales/fr_LU
new file mode 100644
index 0000000..d50adbb
--- /dev/null
+++ b/locales/fr_LU
@@ -0,0 +1,9 @@
+lang=fr
+bootlang="lang=fr_LU"
+def_bootlang="fr_LU"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="fr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Luxembourg"
+fi
diff --git a/locales/fr_NC b/locales/fr_NC
new file mode 100644
index 0000000..a3f5c1f
--- /dev/null
+++ b/locales/fr_NC
@@ -0,0 +1,9 @@
+lang=fr
+bootlang="lang=fr_NC"
+def_bootlang="fr_NC"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="fr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Pacific/Noumea"
+fi
diff --git a/locales/ga_IE b/locales/ga_IE
new file mode 100644
index 0000000..5221075
--- /dev/null
+++ b/locales/ga_IE
@@ -0,0 +1,9 @@
+lang=ga
+bootlang="lang=ga_IE"
+def_bootlang="ga_IE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ie"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Dublin"
+fi
diff --git a/locales/he_IL b/locales/he_IL
new file mode 100644
index 0000000..750144c
--- /dev/null
+++ b/locales/he_IL
@@ -0,0 +1,9 @@
+lang=he
+bootlang="lang=he_IL"
+def_bootlang="he_IL"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="il"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Jerusalem"
+fi
diff --git a/locales/hr_HR b/locales/hr_HR
new file mode 100644
index 0000000..89125bc
--- /dev/null
+++ b/locales/hr_HR
@@ -0,0 +1,9 @@
+lang=hr
+bootlang="lang=hr_HR"
+def_bootlang="hr_HR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="hr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Zagreb"
+fi
diff --git a/locales/hu_HU b/locales/hu_HU
new file mode 100644
index 0000000..55d9f5c
--- /dev/null
+++ b/locales/hu_HU
@@ -0,0 +1,9 @@
+lang=hu
+bootlang="lang=hu_HU"
+def_bootlang="hu_HU"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="hu"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Budapest"
+fi
diff --git a/locales/is_IS b/locales/is_IS
new file mode 100644
index 0000000..85cbc52
--- /dev/null
+++ b/locales/is_IS
@@ -0,0 +1,9 @@
+lang=is
+bootlang="lang=is_IS"
+def_bootlang="is_IS"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="is"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Atlantic/Reykjavik"
+fi
diff --git a/locales/it_CH b/locales/it_CH
new file mode 100644
index 0000000..164867f
--- /dev/null
+++ b/locales/it_CH
@@ -0,0 +1,9 @@
+lang=it
+bootlang="lang=it_CH"
+def_bootlang="it_CH"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="it"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Zurich"
+fi
diff --git a/locales/it_IT b/locales/it_IT
new file mode 100644
index 0000000..b20694f
--- /dev/null
+++ b/locales/it_IT
@@ -0,0 +1,9 @@
+lang=it
+bootlang="lang=it_IT"
+def_bootlang="it_IT"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="it"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Rome"
+fi
diff --git a/locales/ja_JP b/locales/ja_JP
new file mode 100644
index 0000000..9842e72
--- /dev/null
+++ b/locales/ja_JP
@@ -0,0 +1,9 @@
+lang=ja
+bootlang="lang=ja_JP"
+def_bootlang="ja_JP"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="jp"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Tokyo"
+fi
diff --git a/locales/keyboards b/locales/keyboards
new file mode 100644
index 0000000..8f1680a
--- /dev/null
+++ b/locales/keyboards
@@ -0,0 +1,6 @@
+for kk in us ba be bg br by ca ch cz de dk es et fi fr gb gr hr hu ie il is it jp kr latam no pl pt ro ru se si sk tr ua; do
+      menuentry "keytable=${kk}" "${kk}" {def_keyboard="${2}"
+keyboard="keytable=${2}"
+menu_reload
+}
+    done
diff --git a/locales/ko_KR b/locales/ko_KR
new file mode 100644
index 0000000..798847e
--- /dev/null
+++ b/locales/ko_KR
@@ -0,0 +1,9 @@
+lang=ko
+bootlang="lang=ko_KR"
+def_bootlang="ko_KR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="kr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Seoul"
+fi
diff --git a/locales/nb_NO b/locales/nb_NO
new file mode 100644
index 0000000..b0ca059
--- /dev/null
+++ b/locales/nb_NO
@@ -0,0 +1,9 @@
+lang=nb
+bootlang="lang=nb_NO"
+def_bootlang="nb_NO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="no"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Oslo"
+fi
diff --git a/locales/nl_AW b/locales/nl_AW
new file mode 100644
index 0000000..7dac4d9
--- /dev/null
+++ b/locales/nl_AW
@@ -0,0 +1,9 @@
+lang=nl
+bootlang="lang=nl_AW"
+def_bootlang="nl_AW"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Aruba"
+fi
diff --git a/locales/nl_BE b/locales/nl_BE
new file mode 100644
index 0000000..09fdc05
--- /dev/null
+++ b/locales/nl_BE
@@ -0,0 +1,9 @@
+lang=nl
+bootlang="lang=nl_BE"
+def_bootlang="nl_BE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="be"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Brussels"
+fi
diff --git a/locales/nl_NL b/locales/nl_NL
new file mode 100644
index 0000000..f519df4
--- /dev/null
+++ b/locales/nl_NL
@@ -0,0 +1,9 @@
+lang=nl
+bootlang="lang=nl_NL"
+def_bootlang="nl_NL"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Amsterdam"
+fi
diff --git a/locales/nn_NO b/locales/nn_NO
new file mode 100644
index 0000000..02b941d
--- /dev/null
+++ b/locales/nn_NO
@@ -0,0 +1,9 @@
+lang=nn
+bootlang="lang=nn_NO"
+def_bootlang="nn_NO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="no"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Oslo"
+fi
diff --git a/locales/pl_PL b/locales/pl_PL
new file mode 100644
index 0000000..1094e71
--- /dev/null
+++ b/locales/pl_PL
@@ -0,0 +1,9 @@
+lang=pl
+bootlang="lang=pl_PL"
+def_bootlang="pl_PL"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="pl"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Warsaw"
+fi
diff --git a/locales/pt_BR b/locales/pt_BR
new file mode 100644
index 0000000..48c6ed5
--- /dev/null
+++ b/locales/pt_BR
@@ -0,0 +1,9 @@
+lang=pt
+bootlang="lang=pt_BR"
+def_bootlang="pt_BR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="br"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="America/Sao_Paulo"
+fi
diff --git a/locales/pt_PT b/locales/pt_PT
new file mode 100644
index 0000000..f76819f
--- /dev/null
+++ b/locales/pt_PT
@@ -0,0 +1,9 @@
+lang=pt
+bootlang="lang=pt_PT"
+def_bootlang="pt_PT"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="pt"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Lisbon"
+fi
diff --git a/locales/ro_RO b/locales/ro_RO
new file mode 100644
index 0000000..6811dab
--- /dev/null
+++ b/locales/ro_RO
@@ -0,0 +1,9 @@
+lang=ro
+bootlang="lang=ro_RO"
+def_bootlang="ro_RO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ro"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Bucharest"
+fi
diff --git a/locales/ru_RU b/locales/ru_RU
new file mode 100644
index 0000000..ece37b9
--- /dev/null
+++ b/locales/ru_RU
@@ -0,0 +1,9 @@
+lang=ru
+bootlang="lang=ru_RU"
+def_bootlang="ru_RU"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ru"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Moscow"
+fi
diff --git a/locales/ru_UA b/locales/ru_UA
new file mode 100644
index 0000000..159ffa3
--- /dev/null
+++ b/locales/ru_UA
@@ -0,0 +1,9 @@
+lang=ru
+bootlang="lang=ru_UA"
+def_bootlang="ru_UA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ru"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Kiev"
+fi
diff --git a/locales/se_FI b/locales/se_FI
new file mode 100644
index 0000000..ffdc61e
--- /dev/null
+++ b/locales/se_FI
@@ -0,0 +1,9 @@
+lang=se
+bootlang="lang=se_FI"
+def_bootlang="se_FI"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="fi"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Helsinki"
+fi
diff --git a/locales/se_NO b/locales/se_NO
new file mode 100644
index 0000000..1516b80
--- /dev/null
+++ b/locales/se_NO
@@ -0,0 +1,9 @@
+lang=se
+bootlang="lang=se_NO"
+def_bootlang="se_NO"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="no"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Oslo"
+fi
diff --git a/locales/se_SE b/locales/se_SE
new file mode 100644
index 0000000..7daa5eb
--- /dev/null
+++ b/locales/se_SE
@@ -0,0 +1,9 @@
+lang=se
+bootlang="lang=se_SE"
+def_bootlang="se_SE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="se"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Stockholm"
+fi
diff --git a/locales/sk_SK b/locales/sk_SK
new file mode 100644
index 0000000..97a3190
--- /dev/null
+++ b/locales/sk_SK
@@ -0,0 +1,9 @@
+lang=sk
+bootlang="lang=sk_SK"
+def_bootlang="sk_SK"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="sk"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Bratislava"
+fi
diff --git a/locales/sl_SI b/locales/sl_SI
new file mode 100644
index 0000000..1e35aaf
--- /dev/null
+++ b/locales/sl_SI
@@ -0,0 +1,9 @@
+lang=sl
+bootlang="lang=sl_SI"
+def_bootlang="sl_SI"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="si"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Ljubljana"
+fi
diff --git a/locales/sv_FI b/locales/sv_FI
new file mode 100644
index 0000000..edeae6d
--- /dev/null
+++ b/locales/sv_FI
@@ -0,0 +1,9 @@
+lang=sv
+bootlang="lang=sv_FI"
+def_bootlang="sv_FI"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="se"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Helsinki"
+fi
diff --git a/locales/sv_SE b/locales/sv_SE
new file mode 100644
index 0000000..20adac1
--- /dev/null
+++ b/locales/sv_SE
@@ -0,0 +1,9 @@
+lang=sv
+bootlang="lang=sv_SE"
+def_bootlang="sv_SE"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="se"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Stockholm"
+fi
diff --git a/locales/tr_CY b/locales/tr_CY
new file mode 100644
index 0000000..e52cb2f
--- /dev/null
+++ b/locales/tr_CY
@@ -0,0 +1,9 @@
+lang=tr
+bootlang="lang=tr_CY"
+def_bootlang="tr_CY"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="tr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Istanbul"
+fi
diff --git a/locales/tr_TR b/locales/tr_TR
new file mode 100644
index 0000000..3c0041b
--- /dev/null
+++ b/locales/tr_TR
@@ -0,0 +1,9 @@
+lang=tr
+bootlang="lang=tr_TR"
+def_bootlang="tr_TR"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="tr"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Istanbul"
+fi
diff --git a/locales/uk_UA b/locales/uk_UA
new file mode 100644
index 0000000..da0de21
--- /dev/null
+++ b/locales/uk_UA
@@ -0,0 +1,9 @@
+lang=uk
+bootlang="lang=uk_UA"
+def_bootlang="uk_UA"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="ua"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Europe/Kiev"
+fi
diff --git a/locales/zh_CN b/locales/zh_CN
new file mode 100644
index 0000000..69c928d
--- /dev/null
+++ b/locales/zh_CN
@@ -0,0 +1,9 @@
+lang=zh
+bootlang="lang=zh_CN"
+def_bootlang="zh_CN"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Shanghai"
+fi
diff --git a/locales/zh_HK b/locales/zh_HK
new file mode 100644
index 0000000..22b8e17
--- /dev/null
+++ b/locales/zh_HK
@@ -0,0 +1,9 @@
+lang=zh
+bootlang="lang=zh_HK"
+def_bootlang="zh_HK"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Hong_Kong"
+fi
diff --git a/locales/zh_SG b/locales/zh_SG
new file mode 100644
index 0000000..f379681
--- /dev/null
+++ b/locales/zh_SG
@@ -0,0 +1,9 @@
+lang=zh
+bootlang="lang=zh_SG"
+def_bootlang="zh_SG"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Singapore"
+fi
diff --git a/locales/zh_TW b/locales/zh_TW
new file mode 100644
index 0000000..b3a4643
--- /dev/null
+++ b/locales/zh_TW
@@ -0,0 +1,9 @@
+lang=zh
+bootlang="lang=zh_TW"
+def_bootlang="zh_TW"
+if [ -z "${keyboard}" ]; then
+  def_keyboard="us"
+fi
+if [ -z "${timezone}" ]; then
+  def_timezone="Asia/Taipei"
+fi
diff --git a/tromjaro-live/background.png b/tromjaro-live/background.png
new file mode 100644
index 0000000..57be859
Binary files /dev/null and b/tromjaro-live/background.png differ
diff --git a/tromjaro-live/dejavu_sans_12.pf2 b/tromjaro-live/dejavu_sans_12.pf2
new file mode 100755
index 0000000..19e0499
Binary files /dev/null and b/tromjaro-live/dejavu_sans_12.pf2 differ
diff --git a/tromjaro-live/dejavu_sans_14.pf2 b/tromjaro-live/dejavu_sans_14.pf2
new file mode 100755
index 0000000..dcc727e
Binary files /dev/null and b/tromjaro-live/dejavu_sans_14.pf2 differ
diff --git a/tromjaro-live/dejavu_sans_16.pf2 b/tromjaro-live/dejavu_sans_16.pf2
new file mode 100755
index 0000000..37f3ef4
Binary files /dev/null and b/tromjaro-live/dejavu_sans_16.pf2 differ
diff --git a/tromjaro-live/dejavu_sans_24.pf2 b/tromjaro-live/dejavu_sans_24.pf2
new file mode 100755
index 0000000..8c3e434
Binary files /dev/null and b/tromjaro-live/dejavu_sans_24.pf2 differ
diff --git a/tromjaro-live/dejavu_sans_48.pf2 b/tromjaro-live/dejavu_sans_48.pf2
new file mode 100755
index 0000000..776c982
Binary files /dev/null and b/tromjaro-live/dejavu_sans_48.pf2 differ
diff --git a/tromjaro-live/dejavu_sans_bold_16.pf2 b/tromjaro-live/dejavu_sans_bold_16.pf2
new file mode 100755
index 0000000..306742c
Binary files /dev/null and b/tromjaro-live/dejavu_sans_bold_16.pf2 differ
diff --git a/tromjaro-live/dejavu_sans_mono_12.pf2 b/tromjaro-live/dejavu_sans_mono_12.pf2
new file mode 100755
index 0000000..4202cf5
Binary files /dev/null and b/tromjaro-live/dejavu_sans_mono_12.pf2 differ
diff --git a/tromjaro-live/highlight_c.png b/tromjaro-live/highlight_c.png
new file mode 100644
index 0000000..2b01d9d
Binary files /dev/null and b/tromjaro-live/highlight_c.png differ
diff --git a/tromjaro-live/highlight_e.png b/tromjaro-live/highlight_e.png
new file mode 100644
index 0000000..e5e56ad
Binary files /dev/null and b/tromjaro-live/highlight_e.png differ
diff --git a/tromjaro-live/highlight_w.png b/tromjaro-live/highlight_w.png
new file mode 100644
index 0000000..e323418
Binary files /dev/null and b/tromjaro-live/highlight_w.png differ
diff --git a/tromjaro-live/icons/Manjaro.i686.png b/tromjaro-live/icons/Manjaro.i686.png
new file mode 100644
index 0000000..233dddf
Binary files /dev/null and b/tromjaro-live/icons/Manjaro.i686.png differ
diff --git a/tromjaro-live/icons/Manjaro.x86_64.png b/tromjaro-live/icons/Manjaro.x86_64.png
new file mode 100644
index 0000000..233dddf
Binary files /dev/null and b/tromjaro-live/icons/Manjaro.x86_64.png differ
diff --git a/tromjaro-live/icons/antergos.png b/tromjaro-live/icons/antergos.png
new file mode 100644
index 0000000..0941918
Binary files /dev/null and b/tromjaro-live/icons/antergos.png differ
diff --git a/tromjaro-live/icons/arch.png b/tromjaro-live/icons/arch.png
new file mode 100644
index 0000000..60ef6ec
Binary files /dev/null and b/tromjaro-live/icons/arch.png differ
diff --git a/tromjaro-live/icons/archlinux.png b/tromjaro-live/icons/archlinux.png
new file mode 100644
index 0000000..60ef6ec
Binary files /dev/null and b/tromjaro-live/icons/archlinux.png differ
diff --git a/tromjaro-live/icons/cancel.png b/tromjaro-live/icons/cancel.png
new file mode 100644
index 0000000..d553637
Binary files /dev/null and b/tromjaro-live/icons/cancel.png differ
diff --git a/tromjaro-live/icons/chakra.png b/tromjaro-live/icons/chakra.png
new file mode 100644
index 0000000..48a1806
Binary files /dev/null and b/tromjaro-live/icons/chakra.png differ
diff --git a/tromjaro-live/icons/debian.png b/tromjaro-live/icons/debian.png
new file mode 100644
index 0000000..4847dc6
Binary files /dev/null and b/tromjaro-live/icons/debian.png differ
diff --git a/tromjaro-live/icons/deepin.png b/tromjaro-live/icons/deepin.png
new file mode 100644
index 0000000..447cec9
Binary files /dev/null and b/tromjaro-live/icons/deepin.png differ
diff --git a/tromjaro-live/icons/driver.png b/tromjaro-live/icons/driver.png
new file mode 100644
index 0000000..c6a37e4
Binary files /dev/null and b/tromjaro-live/icons/driver.png differ
diff --git a/tromjaro-live/icons/edit.png b/tromjaro-live/icons/edit.png
new file mode 100644
index 0000000..435604f
Binary files /dev/null and b/tromjaro-live/icons/edit.png differ
diff --git a/tromjaro-live/icons/efi.png b/tromjaro-live/icons/efi.png
new file mode 100644
index 0000000..e7b21c0
Binary files /dev/null and b/tromjaro-live/icons/efi.png differ
diff --git a/tromjaro-live/icons/elementary.png b/tromjaro-live/icons/elementary.png
new file mode 100644
index 0000000..402be87
Binary files /dev/null and b/tromjaro-live/icons/elementary.png differ
diff --git a/tromjaro-live/icons/fedora.png b/tromjaro-live/icons/fedora.png
new file mode 100644
index 0000000..4e4d3f4
Binary files /dev/null and b/tromjaro-live/icons/fedora.png differ
diff --git a/tromjaro-live/icons/find.efi.png b/tromjaro-live/icons/find.efi.png
new file mode 100644
index 0000000..2097cd3
Binary files /dev/null and b/tromjaro-live/icons/find.efi.png differ
diff --git a/tromjaro-live/icons/find.none.png b/tromjaro-live/icons/find.none.png
new file mode 100644
index 0000000..96f289e
Binary files /dev/null and b/tromjaro-live/icons/find.none.png differ
diff --git a/tromjaro-live/icons/frugalware.png b/tromjaro-live/icons/frugalware.png
new file mode 100644
index 0000000..a247084
Binary files /dev/null and b/tromjaro-live/icons/frugalware.png differ
diff --git a/tromjaro-live/icons/gentoo.png b/tromjaro-live/icons/gentoo.png
new file mode 100644
index 0000000..3d69b63
Binary files /dev/null and b/tromjaro-live/icons/gentoo.png differ
diff --git a/tromjaro-live/icons/gnu-linux.png b/tromjaro-live/icons/gnu-linux.png
new file mode 100644
index 0000000..54a9308
Binary files /dev/null and b/tromjaro-live/icons/gnu-linux.png differ
diff --git a/tromjaro-live/icons/help.png b/tromjaro-live/icons/help.png
new file mode 100644
index 0000000..aea1b18
Binary files /dev/null and b/tromjaro-live/icons/help.png differ
diff --git a/tromjaro-live/icons/kali.png b/tromjaro-live/icons/kali.png
new file mode 100644
index 0000000..67f2100
Binary files /dev/null and b/tromjaro-live/icons/kali.png differ
diff --git a/tromjaro-live/icons/kaos.png b/tromjaro-live/icons/kaos.png
new file mode 100644
index 0000000..44d4694
Binary files /dev/null and b/tromjaro-live/icons/kaos.png differ
diff --git a/tromjaro-live/icons/kbd.png b/tromjaro-live/icons/kbd.png
new file mode 100644
index 0000000..77ddc14
Binary files /dev/null and b/tromjaro-live/icons/kbd.png differ
diff --git a/tromjaro-live/icons/korora.png b/tromjaro-live/icons/korora.png
new file mode 100644
index 0000000..4b83e7a
Binary files /dev/null and b/tromjaro-live/icons/korora.png differ
diff --git a/tromjaro-live/icons/kubuntu.png b/tromjaro-live/icons/kubuntu.png
new file mode 100644
index 0000000..a02025f
Binary files /dev/null and b/tromjaro-live/icons/kubuntu.png differ
diff --git a/tromjaro-live/icons/lang.png b/tromjaro-live/icons/lang.png
new file mode 100644
index 0000000..ac82c78
Binary files /dev/null and b/tromjaro-live/icons/lang.png differ
diff --git a/tromjaro-live/icons/lfs.png b/tromjaro-live/icons/lfs.png
new file mode 100644
index 0000000..5bb22f6
Binary files /dev/null and b/tromjaro-live/icons/lfs.png differ
diff --git a/tromjaro-live/icons/linux-mint.png b/tromjaro-live/icons/linux-mint.png
new file mode 100644
index 0000000..dc07550
Binary files /dev/null and b/tromjaro-live/icons/linux-mint.png differ
diff --git a/tromjaro-live/icons/linux.png b/tromjaro-live/icons/linux.png
new file mode 100644
index 0000000..54a9308
Binary files /dev/null and b/tromjaro-live/icons/linux.png differ
diff --git a/tromjaro-live/icons/lubuntu.png b/tromjaro-live/icons/lubuntu.png
new file mode 100644
index 0000000..18f6526
Binary files /dev/null and b/tromjaro-live/icons/lubuntu.png differ
diff --git a/tromjaro-live/icons/macosx.png b/tromjaro-live/icons/macosx.png
new file mode 100644
index 0000000..0231da2
Binary files /dev/null and b/tromjaro-live/icons/macosx.png differ
diff --git a/tromjaro-live/icons/mageia.png b/tromjaro-live/icons/mageia.png
new file mode 100644
index 0000000..3ea5067
Binary files /dev/null and b/tromjaro-live/icons/mageia.png differ
diff --git a/tromjaro-live/icons/manjaro.png b/tromjaro-live/icons/manjaro.png
new file mode 100644
index 0000000..233dddf
Binary files /dev/null and b/tromjaro-live/icons/manjaro.png differ
diff --git a/tromjaro-live/icons/memtest.png b/tromjaro-live/icons/memtest.png
new file mode 100644
index 0000000..c6a37e4
Binary files /dev/null and b/tromjaro-live/icons/memtest.png differ
diff --git a/tromjaro-live/icons/opensuse.png b/tromjaro-live/icons/opensuse.png
new file mode 100644
index 0000000..9f4dec0
Binary files /dev/null and b/tromjaro-live/icons/opensuse.png differ
diff --git a/tromjaro-live/icons/os.png b/tromjaro-live/icons/os.png
new file mode 100644
index 0000000..54a9308
Binary files /dev/null and b/tromjaro-live/icons/os.png differ
diff --git a/tromjaro-live/icons/recovery.png b/tromjaro-live/icons/recovery.png
new file mode 100644
index 0000000..71276cb
Binary files /dev/null and b/tromjaro-live/icons/recovery.png differ
diff --git a/tromjaro-live/icons/restart.png b/tromjaro-live/icons/restart.png
new file mode 100755
index 0000000..bf1a6c9
Binary files /dev/null and b/tromjaro-live/icons/restart.png differ
diff --git a/tromjaro-live/icons/shutdown.png b/tromjaro-live/icons/shutdown.png
new file mode 100755
index 0000000..f099b92
Binary files /dev/null and b/tromjaro-live/icons/shutdown.png differ
diff --git a/tromjaro-live/icons/siduction.png b/tromjaro-live/icons/siduction.png
new file mode 100644
index 0000000..b6fb5c5
Binary files /dev/null and b/tromjaro-live/icons/siduction.png differ
diff --git a/tromjaro-live/icons/steamos.png b/tromjaro-live/icons/steamos.png
new file mode 100644
index 0000000..d030103
Binary files /dev/null and b/tromjaro-live/icons/steamos.png differ
diff --git a/tromjaro-live/icons/type.png b/tromjaro-live/icons/type.png
new file mode 100644
index 0000000..8dec04f
Binary files /dev/null and b/tromjaro-live/icons/type.png differ
diff --git a/tromjaro-live/icons/tz.png b/tromjaro-live/icons/tz.png
new file mode 100644
index 0000000..f966ea7
Binary files /dev/null and b/tromjaro-live/icons/tz.png differ
diff --git a/tromjaro-live/icons/ubuntu.png b/tromjaro-live/icons/ubuntu.png
new file mode 100644
index 0000000..abe5170
Binary files /dev/null and b/tromjaro-live/icons/ubuntu.png differ
diff --git a/tromjaro-live/icons/unknown.png b/tromjaro-live/icons/unknown.png
new file mode 100644
index 0000000..54a9308
Binary files /dev/null and b/tromjaro-live/icons/unknown.png differ
diff --git a/tromjaro-live/icons/unset.png b/tromjaro-live/icons/unset.png
new file mode 100644
index 0000000..669611a
Binary files /dev/null and b/tromjaro-live/icons/unset.png differ
diff --git a/tromjaro-live/icons/windows.png b/tromjaro-live/icons/windows.png
new file mode 100644
index 0000000..a2eecd1
Binary files /dev/null and b/tromjaro-live/icons/windows.png differ
diff --git a/tromjaro-live/icons/xubuntu.png b/tromjaro-live/icons/xubuntu.png
new file mode 100644
index 0000000..1878bd0
Binary files /dev/null and b/tromjaro-live/icons/xubuntu.png differ
diff --git a/tromjaro-live/logo.png b/tromjaro-live/logo.png
new file mode 100644
index 0000000..e86a1e8
Binary files /dev/null and b/tromjaro-live/logo.png differ
diff --git a/tromjaro-live/menu_c.png b/tromjaro-live/menu_c.png
new file mode 100644
index 0000000..7da3232
Binary files /dev/null and b/tromjaro-live/menu_c.png differ
diff --git a/tromjaro-live/menu_e.png b/tromjaro-live/menu_e.png
new file mode 100644
index 0000000..63050ba
Binary files /dev/null and b/tromjaro-live/menu_e.png differ
diff --git a/tromjaro-live/progress_bar2_c.png b/tromjaro-live/progress_bar2_c.png
new file mode 100755
index 0000000..4746291
Binary files /dev/null and b/tromjaro-live/progress_bar2_c.png differ
diff --git a/tromjaro-live/progress_bar_c.png b/tromjaro-live/progress_bar_c.png
new file mode 100755
index 0000000..4746291
Binary files /dev/null and b/tromjaro-live/progress_bar_c.png differ
diff --git a/tromjaro-live/progress_bar_hl_c.png b/tromjaro-live/progress_bar_hl_c.png
new file mode 100755
index 0000000..5b0967f
Binary files /dev/null and b/tromjaro-live/progress_bar_hl_c.png differ
diff --git a/tromjaro-live/select_c.png b/tromjaro-live/select_c.png
new file mode 100755
index 0000000..dfab69a
Binary files /dev/null and b/tromjaro-live/select_c.png differ
diff --git a/tromjaro-live/slider_c.png b/tromjaro-live/slider_c.png
new file mode 100644
index 0000000..70a6621
Binary files /dev/null and b/tromjaro-live/slider_c.png differ
diff --git a/tromjaro-live/slider_n.png b/tromjaro-live/slider_n.png
new file mode 100644
index 0000000..4d5af0c
Binary files /dev/null and b/tromjaro-live/slider_n.png differ
diff --git a/tromjaro-live/slider_s.png b/tromjaro-live/slider_s.png
new file mode 100644
index 0000000..ca4d436
Binary files /dev/null and b/tromjaro-live/slider_s.png differ
diff --git a/tromjaro-live/terminus-12.pf2 b/tromjaro-live/terminus-12.pf2
new file mode 100644
index 0000000..6092035
Binary files /dev/null and b/tromjaro-live/terminus-12.pf2 differ
diff --git a/tromjaro-live/terminus-14.pf2 b/tromjaro-live/terminus-14.pf2
new file mode 100644
index 0000000..8ab8bd1
Binary files /dev/null and b/tromjaro-live/terminus-14.pf2 differ
diff --git a/tromjaro-live/terminus-16.pf2 b/tromjaro-live/terminus-16.pf2
new file mode 100644
index 0000000..6e6b25d
Binary files /dev/null and b/tromjaro-live/terminus-16.pf2 differ
diff --git a/tromjaro-live/terminus-18.pf2 b/tromjaro-live/terminus-18.pf2
new file mode 100644
index 0000000..129cef1
Binary files /dev/null and b/tromjaro-live/terminus-18.pf2 differ
diff --git a/tromjaro-live/terminus-b12.pf2 b/tromjaro-live/terminus-b12.pf2
new file mode 100644
index 0000000..6737a64
Binary files /dev/null and b/tromjaro-live/terminus-b12.pf2 differ
diff --git a/tromjaro-live/terminus-b14.pf2 b/tromjaro-live/terminus-b14.pf2
new file mode 100644
index 0000000..566a47b
Binary files /dev/null and b/tromjaro-live/terminus-b14.pf2 differ
diff --git a/tromjaro-live/terminus-b16.pf2 b/tromjaro-live/terminus-b16.pf2
new file mode 100644
index 0000000..846b25c
Binary files /dev/null and b/tromjaro-live/terminus-b16.pf2 differ
diff --git a/tromjaro-live/terminus-b18.pf2 b/tromjaro-live/terminus-b18.pf2
new file mode 100644
index 0000000..872b284
Binary files /dev/null and b/tromjaro-live/terminus-b18.pf2 differ
diff --git a/tromjaro-live/theme.txt b/tromjaro-live/theme.txt
new file mode 100755
index 0000000..f7f17ad
--- /dev/null
+++ b/tromjaro-live/theme.txt
@@ -0,0 +1,82 @@
+title-text: ""
+title-font: "DejaVu Sans Regular 48"
+message-font: "Terminus 16"
+message-color: "#7f8c8d"
+message-bg-color: "#4d4d4d"
+desktop-color: "#000000"
+desktop-image: "background.png"
+terminal-font: "Terminus 14"
+terminal-left: "0"
+terminal-top: "0"
+terminal-width: "100%"
+terminal-height: "100%"
+terminal-border: "0"
+
++ label {
+    top = 20%
+    height = 35
+    left = 0%
+    width = 100%
+    text = "Welcome to TROMjaro"
+    align = "center"
+    font = "DejaVu Sans Regular 48"
+    color = "#ffffff"
+}
+
++ boot_menu {
+    left = 15%
+    #width = 250
+    width = 70%
+    #top = 50%-125
+    #height = 400
+    top = 30%
+    height = 44%
+    item_height = 30
+    item_padding = 5
+    icon_width = 32
+    icon_height = 32
+    item_icon_space = 20
+    item_spacing = 5
+    item_font =  "Terminus 16"
+    item_color = "#cccccc"
+    #item_color = "#FFA2A2"
+    selected_item_font = "Terminus 16"
+    selected_item_color = "#1ABB9B"
+    selected_item_pixmap_style = "select_*.png"
+    menu_pixmap_style = "menu_*.png"
+}
+
+#+ progress_bar {
+#    id = "__timeout__"
+#    left = 0
+#    top = 100%-32
+#    width = 100%
+#    height = 32
+#    show_text = false
+#    bar_style = "progress_bar_*.png"
+#    highlight_style = "progress_bar_hl_*.png"
+#}
+
++ progress_bar {
+    id = "__timeout__"
+    left = 50%-125
+    top = 70%
+    width = 250
+    height = 20
+    show_text = true
+    font = "Terminus 14"
+    text_color = "#ffffff"
+    align = "center"
+    text = "@TIMEOUT_NOTIFICATION_MIDDLE@"
+    bar_style = "progress_bar2_*.png"
+}
+
++ vbox {
+    left = 50%-125
+    top = 80%
+    width = 250
+    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[↵] Boot selected OS" }
+    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[↑ and ↓ Key] Navigation" }
+    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[E] Edit Selection" }
+    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[C] GRUB Commandline" }
+}
diff --git a/tromjaro-live/userpass.png b/tromjaro-live/userpass.png
new file mode 100644
index 0000000..a74b3d8
Binary files /dev/null and b/tromjaro-live/userpass.png differ
diff --git a/tz/Africa b/tz/Africa
new file mode 100644
index 0000000..d1b6d12
--- /dev/null
+++ b/tz/Africa
@@ -0,0 +1,7 @@
+for tz in Gaborone Harare Johannesburg Lagos; do
+  menuentry --class=tz.Africa.${tz} "Africa/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/America b/tz/America
new file mode 100644
index 0000000..1c12efc
--- /dev/null
+++ b/tz/America
@@ -0,0 +1,7 @@
+for tz in Antigua Argentina Aruba Asuncion Bogota Caracas Costa_Rica El_Salvador Guatemala Guayaquil La_Paz Lima Managua Mexico_City Montevideo New_York Panama Puerto_Rico Santiago Santo_Domingo Sao_Paulo Tegucigalpa Toronto; do
+  menuentry --class=tz.America.${tz} "America/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/Asia b/tz/Asia
new file mode 100644
index 0000000..c1a31d6
--- /dev/null
+++ b/tz/Asia
@@ -0,0 +1,7 @@
+for tz in Hong_Kong Jerusalem Kolkata Manila Seoul Shanghai Singapore Taipei Tokyo; do
+  menuentry --class=tz.Asia.${tz} "Asia/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/Atlantic b/tz/Atlantic
new file mode 100644
index 0000000..a3a604c
--- /dev/null
+++ b/tz/Atlantic
@@ -0,0 +1,7 @@
+for tz in Reykjavik; do
+  menuentry --class=tz.Atlantic.${tz} "Atlantic/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/Australia b/tz/Australia
new file mode 100644
index 0000000..6e03fb1
--- /dev/null
+++ b/tz/Australia
@@ -0,0 +1,7 @@
+for tz in Sydney; do
+  menuentry --class=tz.Australia.${tz} "Australia/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/Etc b/tz/Etc
new file mode 100644
index 0000000..9c23bb4
--- /dev/null
+++ b/tz/Etc
@@ -0,0 +1,7 @@
+for tz in UTC; do
+  menuentry --class=tz.Etc.${tz} "Etc/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/Europe b/tz/Europe
new file mode 100644
index 0000000..de536f9
--- /dev/null
+++ b/tz/Europe
@@ -0,0 +1,7 @@
+for tz in Amsterdam Athens Berlin Bratislava Brussels Bucharest Budapest Copenhagen Dublin Helsinki Istanbul Kiev Lisbon Ljubljana London Luxembourg Madrid Minsk Moscow Oslo Paris Prague Rome Sarajevo Sofia Stockholm Tallinn Vaduz Vienna Warsaw Zagreb Zurich; do
+  menuentry --class=tz.Europe.${tz} "Europe/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done
diff --git a/tz/Pacific b/tz/Pacific
new file mode 100644
index 0000000..266134e
--- /dev/null
+++ b/tz/Pacific
@@ -0,0 +1,7 @@
+for tz in Auckland Noumea; do
+  menuentry --class=tz.Pacific.${tz} "Pacific/${tz}" {
+    timezone="tz=${1}"
+    def_timezone="${1}"
+    menu_reload
+  }
+done