diff --git a/etc/river/auto/config b/etc/river/auto/config new file mode 100755 index 0000000..272b511 --- /dev/null +++ b/etc/river/auto/config @@ -0,0 +1,51 @@ +#!/bin/sh + +set -e + +. ./terraform.conf + +lb config noauto \ + --architectures "$ARCH" \ + --mode debian \ + --distribution "$BASECODENAME" \ + --parent-distribution "$BASECODENAME" \ + --archive-areas "main contrib non-free non-free-firmware" \ + --parent-archive-areas "main contrib non-free non-free-firmware" \ + --linux-packages linux-image \ + --bootappend-live "boot=live username=tileos quiet splash" \ + --mirror-bootstrap "$MIRROR_URL" \ + --parent-mirror-bootstrap "$MIRROR_URL" \ + --mirror-chroot-security "http://deb.debian.org/debian-security/" \ + --parent-mirror-chroot-security "http://deb.debian.org/debian-security/" \ + --apt-source-archives false \ + --parent-mirror-binary "$MIRROR_URL" \ + --keyring-packages debian-keyring \ + --apt-options "--yes --option Acquire::Retries=5 --option Acquire::http::Timeout=100" \ + --cache-packages false \ + --checksums md5 \ + --uefi-secure-boot enable \ + --binary-images iso-hybrid \ + --iso-application "$NAME" \ + --iso-volume "$NAME" \ + --firmware-chroot true \ + --zsync false \ + --security true \ + --updates true \ + --debootstrap-options="--extractor=ar" \ + "${@}" + +# replace channel and suite +sed -i "s/@CHANNEL/$CHANNEL/" config/archives/*.list* +sed -i "s/@DEBIAN_VERSION/$DEBIAN_VERSION/" config/archives/*.list* + +# replace desktop +sed -i "s/@DESKTOP/$DESKTOP/" config/package-lists.calamares/*.chroot_install +sed -i "s/@DESKTOP/$DESKTOP/" config/package-lists.calamares/*.chroot_live + +DATE=$(date +%Y%m%d) +sed -i "s/@CHANNEL/$CHANNEL/" config/includes.binary/.disk/info +sed -i "s/@CODENAME/$CODENAME/" config/includes.binary/.disk/info +sed -i "s/@ARCH/$ARCH/" config/includes.binary/.disk/info +sed -i "s/@DISTRO_NAME/$NAME/" config/includes.binary/.disk/info +sed -i "s/@VERSION/$VERSION/" config/includes.binary/.disk/info +sed -i "s/@DATE/$DATE/" config/includes.binary/.disk/info diff --git a/etc/river/config/archives/tileos.key b/etc/river/config/archives/tileos.key new file mode 100644 index 0000000..a2c93e0 --- /dev/null +++ b/etc/river/config/archives/tileos.key @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBF4SFWwBCADlKMjfQsOlF66D9F8/f5YT36vxgy1ESpgVm4qalryuN/D9Lvi8 +MMzug0SA5MdwKz0dhHNUCZ1FhEEm8rXL/PtnrCOXzY1/udboDhQ5gt73QlgyBa9G +3zR2o8B5jeyfDU4p70nTdJ9rMxVrgCxQQrj77S7W+ApKX7mwi1dmzToVgZSeT+3b +BxUGxf3HoV8BdbLBFpz078ghW2EQThuxennDPKfYFpHY0ya/1EZc4/eXmEyuUBl1 +D34vOhq420RBppSOqfPNFSjymGRct/YDCzQ4s1NwiTHlInmJIkXzrq3x3XXa6kCE +8K7DJ+l7AYneljpb/Sp99AqvuowoROb/GfatABEBAAG0RGhvbWU6U3VuZGVybGFu +ZDkzIE9CUyBQcm9qZWN0IDxob21lOlN1bmRlcmxhbmQ5M0BidWlsZC5vcGVuc3Vz +ZS5vcmc+iQE+BBMBCAAoBQJiJMzyAhsDBQkIMWeGBgsJCAcDAgYVCAIJCgsEFgID +AQIeAQIXgAAKCRAvzQwf5z39G25oCACrvsaSEr11F0V31MmzeEYEAD0OWm8uobHy +//GJ2ga/RuWp874g3uBJJg70GpHxwHHNHaMMJ2IfSqhoWz+MIWx7FzTk4twpCJqP +MIwDwPlCP9k+0aJ2UkC5rKitWhXITvSqV2059Qe5UYaZu+A29O5ftcH/4RN4xBVW +UbGQK9zEdKOQUizhIsLVlwqFrnU/uK5vhdRpTsPoUSSqb7cDIQyfwvJedMTs/NG7 +fwoKy2EkrRAfMsGrMlVGKGf5IxCeyWcV/NLzyWdPbWqqy1hbAJfdNWxS/hcANIWk +QutnMZLqqPICW7XXzgD7XkBdQ7kRYOe7jdhzgOOWXBREfMEU/pAMiEYEExECAAYF +Al4SFW0ACgkQOzARt2udZSNuiACgkvBF29HpWZObl5rxtC7Tk6N403YAn0BGIu9l +2CHn2yfk6//Q0mf+SvcX +=ygpn +-----END PGP PUBLIC KEY BLOCK----- diff --git a/etc/river/config/archives/tileos.list b/etc/river/config/archives/tileos.list new file mode 100644 index 0000000..655d7c3 --- /dev/null +++ b/etc/river/config/archives/tileos.list @@ -0,0 +1 @@ +deb http://download.opensuse.org/repositories/home:/Sunderland93:/tileos-@CHANNEL/@DEBIAN_VERSION/ / diff --git a/etc/river/config/bootloaders/grub-pc/dejavu-bold-14.pf2 b/etc/river/config/bootloaders/grub-pc/dejavu-bold-14.pf2 new file mode 100644 index 0000000..9b093b2 Binary files /dev/null and b/etc/river/config/bootloaders/grub-pc/dejavu-bold-14.pf2 differ diff --git a/etc/river/config/bootloaders/grub-pc/dejavu-bold-16.pf2 b/etc/river/config/bootloaders/grub-pc/dejavu-bold-16.pf2 new file mode 100644 index 0000000..11e7f7a Binary files /dev/null and b/etc/river/config/bootloaders/grub-pc/dejavu-bold-16.pf2 differ diff --git a/etc/river/config/bootloaders/grub-pc/grub.cfg b/etc/river/config/bootloaders/grub-pc/grub.cfg new file mode 100644 index 0000000..ee80890 --- /dev/null +++ b/etc/river/config/bootloaders/grub-pc/grub.cfg @@ -0,0 +1,61 @@ +load function_video { + if [ x$feature_all_video_module = xy ] + then + insmod all_video + else + insmod video_bochs + insmod video_cirrus + if test "${grub_platform}" == "efi" + then + insmod efi_gop + insmod efi_uga + elif test "${grub_platform}" == "pc" + then + insmod vbe + insmod vga + fi + fi +} + +set color_normal=white/black +set color_highlight=black/light-gray +set timeout=10 +set timeout_style=menu + +set theme=/boot/grub/tileos-theme/theme.txt + +if loadfont /boot/grub/dejavu-bold-14.pf2 +then + set gfxmode=auto + export gfxmode + load_video + insmod gfxterm + terminal_output gfxterm + insmod gfxmenu + insmod png + export theme +fi + + +menuentry "Start TileOS" { + set gfxpayload=keep + linux @KERNEL_LIVE@ @APPEND_LIVE@ + initrd @INITRD_LIVE@ + +} + +# Memtest (if any) +if [ "${grub_platform}" = "pc" ] -a @ENABLE_MEMTEST@; then + source /boot/grub/memtest.cfg +fi + +# Firmware setup (UEFI) +if [ "${grub_platform}" = "efi" ]; then + menuentry "UEFI Firmware Settings" { + fwsetup + } +fi + +menuentry "Power Off" --class shutdown { + halt +} diff --git a/etc/river/config/bootloaders/grub-pc/memtest.cfg b/etc/river/config/bootloaders/grub-pc/memtest.cfg new file mode 100644 index 0000000..454804b --- /dev/null +++ b/etc/river/config/bootloaders/grub-pc/memtest.cfg @@ -0,0 +1,3 @@ +menuentry "Memory Diagnostic Tool (@MEMTEST_VERSION@)" --hotkey=m { + linux16 @MEMTEST_BIN@ +} diff --git a/etc/river/config/bootloaders/grub-pc/tileos-theme/background.png b/etc/river/config/bootloaders/grub-pc/tileos-theme/background.png new file mode 100644 index 0000000..cfcdc0a Binary files /dev/null and b/etc/river/config/bootloaders/grub-pc/tileos-theme/background.png differ diff --git a/etc/river/config/bootloaders/grub-pc/tileos-theme/logo.png b/etc/river/config/bootloaders/grub-pc/tileos-theme/logo.png new file mode 100644 index 0000000..260e301 Binary files /dev/null and b/etc/river/config/bootloaders/grub-pc/tileos-theme/logo.png differ diff --git a/etc/river/config/bootloaders/grub-pc/tileos-theme/theme.txt b/etc/river/config/bootloaders/grub-pc/tileos-theme/theme.txt new file mode 100644 index 0000000..f519cf4 --- /dev/null +++ b/etc/river/config/bootloaders/grub-pc/tileos-theme/theme.txt @@ -0,0 +1,61 @@ +title-text: "" +desktop-image: "background.png" +desktop-color: "#000000" +title-color: "#ffffff" +title-font: "DejaVu Sans Bold 16" +message-font: "Unifont Regular 16" + +terminal-left: "0" +terminal-top: "0" +terminal-width: "100%" +terminal-height: "100%" +terminal-border: "0" + +# Logo image ++ image { + left = 50%-270 + top = 50%-200 + file = "logo.png" +} + +#help bar at the bottom ++ label { + top = 100%-50 + left = 0 + width = 100% + height = 20 + text = "@KEYMAP_SHORT@" + align = "center" + color = "#ffffff" + font = "DejaVu Sans Bold 14" +} + +#boot menu ++ boot_menu { + left = 50%-125 + width = 500 + top = 50%+100 + height = 300 + + item_font = "DejaVu Sans Bold 14" + item_color = "#999" + selected_item_font = "DejaVu Sans Bold 14" + selected_item_color= "#fff" + + item_height = 26 + item_padding = 0 + item_icon_space = 0 + item_spacing = 1 + scrollbar = false +} + +# Show a countdown message using the label component ++ label { + top = 55% + left = 35% + width = 30% + align = "center" + id = "__timeout__" + text = "Booting in %d seconds" + color = "#f6f6f6" +} diff --git a/etc/river/config/bootloaders/isolinux/hdt.c32 b/etc/river/config/bootloaders/isolinux/hdt.c32 new file mode 120000 index 0000000..f84c641 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/hdt.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/hdt.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/isolinux.bin b/etc/river/config/bootloaders/isolinux/isolinux.bin new file mode 120000 index 0000000..33a2ad6 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/isolinux.bin @@ -0,0 +1 @@ +/usr/lib/ISOLINUX/isolinux.bin \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/isolinux.cfg b/etc/river/config/bootloaders/isolinux/isolinux.cfg new file mode 100644 index 0000000..0fa3783 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/isolinux.cfg @@ -0,0 +1,3 @@ +default vesamenu.c32 +include stdmenu.cfg +include live.cfg diff --git a/etc/river/config/bootloaders/isolinux/ldlinux.c32 b/etc/river/config/bootloaders/isolinux/ldlinux.c32 new file mode 120000 index 0000000..df554c7 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/ldlinux.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/ldlinux.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/libcom32.c32 b/etc/river/config/bootloaders/isolinux/libcom32.c32 new file mode 120000 index 0000000..44ab36b --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/libcom32.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libcom32.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/libgpl.c32 b/etc/river/config/bootloaders/isolinux/libgpl.c32 new file mode 120000 index 0000000..81c83fb --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/libgpl.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libgpl.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/libmenu.c32 b/etc/river/config/bootloaders/isolinux/libmenu.c32 new file mode 120000 index 0000000..2491ff9 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/libmenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libmenu.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/libutil.c32 b/etc/river/config/bootloaders/isolinux/libutil.c32 new file mode 120000 index 0000000..478194e --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/libutil.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/libutil.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/live.cfg.in b/etc/river/config/bootloaders/isolinux/live.cfg.in new file mode 100644 index 0000000..35897e6 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/live.cfg.in @@ -0,0 +1,31 @@ +prompt 0 + +MENU HIDDEN +MENU AUTOBOOT Booting TileOS live disk in # seconds +timeout 50 + +label live-@FLAVOUR@ + menu label ^Start TileOS + menu default + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE@ + +MENU SEPARATOR + +label live-failsafe + menu label Start TileOS (Safe Graphics) + set gfxpayload=keep + linux @LINUX@ + initrd @INITRD@ + append @APPEND_LIVE_FAILSAFE@ + +MENU SEPARATOR + +label hd + menu label ^Boot from first hard disk + localboot 0x80 +MENU SEPARATOR +LABEL power + MENU LABEL ^Power Off + COM32 poweroff.c32 diff --git a/etc/river/config/bootloaders/isolinux/menu.c32 b/etc/river/config/bootloaders/isolinux/menu.c32 new file mode 120000 index 0000000..86c360d --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/menu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/menu.c32 \ No newline at end of file diff --git a/etc/river/config/bootloaders/isolinux/poweroff.c32 b/etc/river/config/bootloaders/isolinux/poweroff.c32 new file mode 100644 index 0000000..435b764 Binary files /dev/null and b/etc/river/config/bootloaders/isolinux/poweroff.c32 differ diff --git a/etc/river/config/bootloaders/isolinux/stdmenu.cfg b/etc/river/config/bootloaders/isolinux/stdmenu.cfg new file mode 100644 index 0000000..cb7f674 --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/stdmenu.cfg @@ -0,0 +1,42 @@ +menu hshift 13 +menu width 49 +menu margin 8 + +# Override the default radial gradient background with black +menu background #ff000000 + +# Title bar +menu color title 0 #ffffffff #00000000 * + +# Border Area +menu color border * #00000000 #00000000 none + +# Unselected menu item +menu color unsel 0 #999999 #00000000 * + +# Unselected hotkey +menu color hotkey 0 #999999 #00000000 none + +# Selection bar +menu color sel 0 #ffffff #00000000 none + +# Selected hotkey +menu color hotsel 0 #ffffffff #00000000 none + +# Press [Tab] message +menu color tabmsg 0 #f6f6f6 #00000000 none + +# Timeout message +menu color timeout_msg 0 #f6f6f6 #00000000 none + +# Timeout counter +menu color timeout * #ffffffff #00000000 none + +# Command line +menu color cmdline 0 #ffffffff #00000000 none + +# Command line marker +menu color cmdmark 0 #00000000 #00000000 none + +# Helptest +menu color help 0 #ffffffff #00000000 none diff --git a/etc/river/config/bootloaders/isolinux/vesamenu.c32 b/etc/river/config/bootloaders/isolinux/vesamenu.c32 new file mode 120000 index 0000000..84e2eff --- /dev/null +++ b/etc/river/config/bootloaders/isolinux/vesamenu.c32 @@ -0,0 +1 @@ +/usr/lib/syslinux/modules/bios/vesamenu.c32 \ No newline at end of file diff --git a/etc/river/config/hooks/live/000-remove-blacklisted-packages.chroot b/etc/river/config/hooks/live/000-remove-blacklisted-packages.chroot new file mode 100755 index 0000000..bb5c77c --- /dev/null +++ b/etc/river/config/hooks/live/000-remove-blacklisted-packages.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "P: Begin executing remove-blacklisted-packages chroot hook..." + +apt-get autoremove --purge -f -q -y \ + systemsettings \ + zutty diff --git a/etc/river/config/hooks/live/999-cleanup-apt-cache.chroot b/etc/river/config/hooks/live/999-cleanup-apt-cache.chroot new file mode 100755 index 0000000..e0a81ec --- /dev/null +++ b/etc/river/config/hooks/live/999-cleanup-apt-cache.chroot @@ -0,0 +1,7 @@ +#!/bin/sh +# Description: Cleanup apt cache files that add ~100MB to the .iso and aren't needed + +rm -f /var/lib/apt/lists/*_Packages +rm -f /var/lib/apt/lists/*_Sources +rm -f /var/lib/apt/lists/*_Translation-* + diff --git a/etc/river/config/hooks/live/set-disk-info.binary b/etc/river/config/hooks/live/set-disk-info.binary new file mode 100755 index 0000000..fc6eb54 --- /dev/null +++ b/etc/river/config/hooks/live/set-disk-info.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "P: Begin executing set-disk-info binary hook in ${PWD}" + +cp -rf ../config/includes.binary/.disk . diff --git a/etc/river/config/includes.binary/.disk/base_installable b/etc/river/config/includes.binary/.disk/base_installable new file mode 100644 index 0000000..e69de29 diff --git a/etc/river/config/includes.binary/.disk/cd_type b/etc/river/config/includes.binary/.disk/cd_type new file mode 100644 index 0000000..daab660 --- /dev/null +++ b/etc/river/config/includes.binary/.disk/cd_type @@ -0,0 +1 @@ +full_cd/single diff --git a/etc/river/config/includes.binary/.disk/info b/etc/river/config/includes.binary/.disk/info new file mode 100644 index 0000000..ce693dd --- /dev/null +++ b/etc/river/config/includes.binary/.disk/info @@ -0,0 +1 @@ +@DISTRO_NAME @VERSION "@CODENAME" - @CHANNEL @ARCH (@DATE) \ No newline at end of file diff --git a/etc/river/config/includes.chroot/etc/greetd/config.toml b/etc/river/config/includes.chroot/etc/greetd/config.toml new file mode 100644 index 0000000..315b9c7 --- /dev/null +++ b/etc/river/config/includes.chroot/etc/greetd/config.toml @@ -0,0 +1,10 @@ +[terminal] +vt = 7 + +[default_session] +command = "tuigreet --remember --time --issue --asterisks --cmd river" +user = "_greetd" + +[initial_session] +command = "river" +user = "tileos" diff --git a/etc/river/config/includes.chroot/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf b/etc/river/config/includes.chroot/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf new file mode 100644 index 0000000..970ba08 --- /dev/null +++ b/etc/river/config/includes.chroot/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf @@ -0,0 +1,2 @@ +[keyfile] +unmanaged-devices=none diff --git a/etc/river/config/package-lists.calamares/desktop.list.chroot_install b/etc/river/config/package-lists.calamares/desktop.list.chroot_install new file mode 100644 index 0000000..c9890d0 --- /dev/null +++ b/etc/river/config/package-lists.calamares/desktop.list.chroot_install @@ -0,0 +1,4 @@ +tileos-base +tileos-desktop-common +tileos-drivers +tileos-desktop-@DESKTOP diff --git a/etc/river/config/package-lists.calamares/desktop.list.chroot_live b/etc/river/config/package-lists.calamares/desktop.list.chroot_live new file mode 100644 index 0000000..34edc49 --- /dev/null +++ b/etc/river/config/package-lists.calamares/desktop.list.chroot_live @@ -0,0 +1 @@ +tileos-@DESKTOP-live