diff --git a/.github/workflows/iso-build.yml b/.github/workflows/iso-build.yml index 027ab32..f7dac38 100644 --- a/.github/workflows/iso-build.yml +++ b/.github/workflows/iso-build.yml @@ -1,9 +1,6 @@ name: Build TCET Linux ISO on: - push: - branches: [ "main" ] - workflow_dispatch: jobs: diff --git a/airootfs/etc/X11/xorg.conf.d/30-touchpad.conf b/airootfs/etc/X11/xorg.conf.d/30-touchpad.conf new file mode 100644 index 0000000..8912625 --- /dev/null +++ b/airootfs/etc/X11/xorg.conf.d/30-touchpad.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "MyTouchpad" + MatchIsTouchpad "on" + Driver "libinput" + Option "Tapping" "on" +EndSection diff --git a/airootfs/etc/default/grub b/airootfs/etc/default/grub new file mode 100644 index 0000000..90ca101 --- /dev/null +++ b/airootfs/etc/default/grub @@ -0,0 +1,61 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="TCET" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet audit=0" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=menu + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="white/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/black" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +GRUB_BACKGROUND="/usr/share/backgrounds/xfce/wallpaper4.png" +#GRUB_THEME= + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. Change 0 into saved. +# Do not forget to 'update-grub' in a terminal to apply the new settings +#GRUB_SAVEDEFAULT="true" + +# Uncomment to make grub stop using submenus +#GRUB_DISABLE_SUBMENU=y + +#New GRUB update disables OS prober by default. We don't want that. +GRUB_DISABLE_OS_PROBER=false diff --git a/airootfs/etc/group b/airootfs/etc/group new file mode 100644 index 0000000..ed7ceed --- /dev/null +++ b/airootfs/etc/group @@ -0,0 +1,16 @@ +root:x:0:root +sys:x:3:bin,liveuser +network:x:90:liveuser +power:x:98:liveuser +adm:x:999:liveuser +wheel:x:998:liveuser +uucp:x:987:liveuser +optical:x:990:liveuser +rfkill:x:983:liveuser +video:x:986:liveuser +storage:x:988:liveuser +audio:x:995:liveuser +users:x:985:liveuser +nopasswdlogin:x:966:liveuser +autologin:x:967:liveuser +liveuser:x:1000: diff --git a/airootfs/etc/gshadow b/airootfs/etc/gshadow new file mode 100644 index 0000000..8bf2275 --- /dev/null +++ b/airootfs/etc/gshadow @@ -0,0 +1,16 @@ +root:::root +sys:!!::liveuser +network:!!::liveuser +power:!!::liveuser +adm:!!::liveuser +wheel:!!::liveuser +uucp:!!::liveuser +optical:!!::liveuser +rfkill:!!::liveuser +video:!!::liveuser +storage:!!::liveuser +audio:!!::liveuser +users:!!::liveuser +nopasswdlogin:!::liveuser +autologin:!::liveuser +liveuser:!:: diff --git a/airootfs/etc/hostname b/airootfs/etc/hostname index d21d77b..5ea48ea 100644 --- a/airootfs/etc/hostname +++ b/airootfs/etc/hostname @@ -1 +1 @@ -tcetlinuxiso +tcetlinux diff --git a/airootfs/etc/lightdm/lightdm-gtk-greeter.conf b/airootfs/etc/lightdm/lightdm-gtk-greeter.conf new file mode 100644 index 0000000..b680b20 --- /dev/null +++ b/airootfs/etc/lightdm/lightdm-gtk-greeter.conf @@ -0,0 +1,65 @@ +# LightDM GTK+ Configuration +# Available configuration options listed below. +# +# Appearance: +# theme-name = GTK+ theme to use +# icon-theme-name = Icon theme to use +# cursor-theme-name = Cursor theme to use +# cursor-theme-size = Cursor size to use +# background = Background file to use, either an image path or a color (e.g. #772953) +# user-background = false|true ("true" by default) Display user background (if available) +# transition-duration = Length of time (in milliseconds) to transition between background images ("500" by default) +# transition-type = ease-in-out|linear|none ("ease-in-out" by default) +# +# Fonts: +# font-name = Font to use +# xft-antialias = false|true Whether to antialias Xft fonts +# xft-dpi = Resolution for Xft in dots per inch (e.g. 96) +# xft-hintstyle = none|slight|medium|hintfull What degree of hinting to use +# xft-rgba = none|rgb|bgr|vrgb|vbgr Type of subpixel antialiasing +# +# Login window: +# active-monitor = Monitor to display greeter window (name or number). Use #cursor value to display greeter at monitor with cursor. Can be a semicolon separated list +# position = x y ("50% 50%" by default) Login window position +# default-user-image = Image used as default user icon, path or #icon-name +# hide-user-image = false|true ("false" by default) +# +# Panel: +# panel-position = top|bottom ("top" by default) +# clock-format = strftime-format string, e.g. %H:%M +# indicators = semi-colon ";" separated list of allowed indicator modules. Built-in indicators include "~a11y", "~language", "~session", "~power", "~clock", "~host", "~spacer". Unity indicators can be represented by short name (e.g. "sound", "power"), service file name, or absolute path +# +# Accessibility: +# a11y-states = states of accessibility features: "name" - save state on exit, "-name" - disabled at start (default value for unlisted), "+name" - enabled at start. Allowed names: contrast, font, keyboard, reader. +# keyboard = command to launch on-screen keyboard (e.g. "onboard") +# keyboard-position = x y[;width height] ("50%,center -0;50% 25%" by default) Works only for "onboard" +# reader = command to launch screen reader (e.g. "orca") +# at-spi-enabled = false|true ("true" by default) Enables accessibility at-spi-command if the greeter is built with it enabled +# +# Security: +# allow-debugging = false|true ("false" by default) +# screensaver-timeout = Timeout (in seconds) until the screen blanks when the greeter is called as lockscreen +# +# Template for per-monitor configuration: +# [monitor: name] +# background = overrides default value +# user-background = overrides default value +# laptop = false|true ("false" by default) Marks monitor as laptop display +# transition-duration = overrides default value +# +[greeter] +background=/usr/share/backgrounds/xfce/wallpaper5.png +#user-background= +theme-name=Qogir-dark +icon-theme-name=tela-circle-icon +#font-name= +xft-antialias=true +#xft-dpi= +#xft-hintstyle= +#xft-rgba= +#indicators= +#clock-format= +#keyboard= +#reader= +#position= +#screensaver-timeout= diff --git a/airootfs/etc/lightdm/lightdm.conf b/airootfs/etc/lightdm/lightdm.conf new file mode 100644 index 0000000..4017f47 --- /dev/null +++ b/airootfs/etc/lightdm/lightdm.conf @@ -0,0 +1,168 @@ +# +# General configuration +# +# start-default-seat = True to always start one seat if none are defined in the configuration +# greeter-user = User to run greeter as +# minimum-display-number = Minimum display number to use for X servers +# minimum-vt = First VT to run displays on +# lock-memory = True to prevent memory from being paged to disk +# user-authority-in-system-dir = True if session authority should be in the system location +# guest-account-script = Script to be run to setup guest account +# logind-check-graphical = True to on start seats that are marked as graphical by logind +# log-directory = Directory to log information to +# run-directory = Directory to put running state in +# cache-directory = Directory to cache to +# sessions-directory = Directory to find sessions +# remote-sessions-directory = Directory to find remote sessions +# greeters-directory = Directory to find greeters +# backup-logs = True to move add a .old suffix to old log files when opening new ones +# dbus-service = True if LightDM provides a D-Bus service to control it +# + +[LightDM] +#start-default-seat=true +#greeter-user=lightdm +#minimum-display-number=0 +#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799 +#lock-memory=true +#user-authority-in-system-dir=false +#guest-account-script=guest-account +#logind-check-graphical=false +#log-directory=/var/log/lightdm +run-directory=/run/lightdm +#cache-directory=/var/cache/lightdm +#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions +#remote-sessions-directory=/usr/share/lightdm/remote-sessions +#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters +#backup-logs=true +#dbus-service=true + +# +# Seat configuration +# +# Seat configuration is matched against the seat name glob in the section, for example: +# [Seat:*] matches all seats and is applied first. +# [Seat:seat0] matches the seat named "seat0". +# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client". +# +# type = Seat type (local, xremote) +# pam-service = PAM service to use for login +# pam-autologin-service = PAM service to use for autologin +# pam-greeter-service = PAM service to use for greeters +# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option) +# xserver-config = Config file to pass to X server +# xserver-layout = Layout to pass to X server +# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +# xserver-share = True if the X server is shared for both greeter and session +# xserver-hostname = Hostname of X server (only for type=xremote) +# xserver-display-number = Display number of X server (only for type=xremote) +# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +# xdmcp-port = XDMCP UDP/IP port to communicate on +# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +# greeter-session = Session to load for greeter +# greeter-hide-users = True to hide the user list +# greeter-allow-guest = True if the greeter should show a guest login option +# greeter-show-manual-login = True if the greeter should offer a manual login option +# greeter-show-remote-login = True if the greeter should offer a remote login option +# user-session = Session to load for users +# allow-user-switching = True if allowed to switch users +# allow-guest = True if guest login is allowed +# guest-session = Session to load for guests (overrides user-session) +# session-wrapper = Wrapper script to run session with +# greeter-wrapper = Wrapper script to run greeter with +# guest-wrapper = Wrapper script to run guest sessions with +# display-setup-script = Script to run when starting a greeter session (runs as root) +# display-stopped-script = Script to run after stopping the display server (runs as root) +# greeter-setup-script = Script to run when starting a greeter (runs as root) +# session-setup-script = Script to run when starting a user session (runs as root) +# session-cleanup-script = Script to run when quitting a user session (runs as root) +# autologin-guest = True to log in as guest by default +# autologin-user = User to log in with by default (overrides autologin-guest) +# autologin-user-timeout = Number of seconds to wait before loading default user +# autologin-session = Session to load for automatic login (overrides user-session) +# autologin-in-background = True if autologin session should not be immediately activated +# exit-on-failure = True if the daemon should exit if this seat fails +# + +[Seat:*] +#type=local +#pam-service=lightdm +#pam-autologin-service=lightdm-autologin +#pam-greeter-service=lightdm-greeter +#xserver-command=X +#xmir-command=Xmir +#xserver-config= +#xserver-layout= +#xserver-allow-tcp=false +#xserver-share=true +#xserver-hostname= +#xserver-display-number= +#xdmcp-manager= +#xdmcp-port=177 +#xdmcp-key= +greeter-session=lightdm-gtk-greeter +#greeter-hide-users=false +#greeter-allow-guest=true +#greeter-show-manual-login=false +#greeter-show-remote-login=true +user-session=xfce +#allow-user-switching=true +#allow-guest=true +#guest-session= +session-wrapper=/etc/lightdm/Xsession +#greeter-wrapper= +#guest-wrapper= +#display-setup-script= +#display-stopped-script= +#greeter-setup-script= +#session-setup-script= +#session-cleanup-script= +#autologin-guest=false +autologin-user=liveuser +#autologin-user-timeout=0 +#autologin-in-background=false +#autologin-session=xfce +#exit-on-failure=false + +# +# XDMCP Server configuration +# +# enabled = True if XDMCP connections should be allowed +# port = UDP/IP port to listen for connections on +# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present) +# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset) +# +# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively +# it can be a word and the first 7 characters are used as the key. +# +greeter-show-manual-login=false + +[XDMCPServer] +#enabled=false +#port=177 +#listen-address= +#key= +#hostname= + +# +# VNC Server configuration +# +# enabled = True if VNC connections should be allowed +# command = Command to run Xvnc server with +# port = TCP/IP port to listen for connections on +# listen-address = Host/address to listen for VNC connections (use all addresses if not present) +# width = Width of display to use +# height = Height of display to use +# depth = Color depth of display to use +# + +[VNCServer] +#enabled=false +#command=Xvnc +#port=5900 +#listen-address= +#width=1024 +#height=768 +#depth=8 diff --git a/airootfs/etc/lsb-release b/airootfs/etc/lsb-release new file mode 100644 index 0000000..7c48243 --- /dev/null +++ b/airootfs/etc/lsb-release @@ -0,0 +1,3 @@ +DISTRIB_ID=TCET +DISTRIB_RELEASE=tcetlinux +DISTRIB_DESCRIPTION="TCET Linux" diff --git a/airootfs/etc/lsb-release.bak b/airootfs/etc/lsb-release.bak deleted file mode 100644 index 6df9a39..0000000 --- a/airootfs/etc/lsb-release.bak +++ /dev/null @@ -1,4 +0,0 @@ -LSB_VERSION=1.4 -DISTRIB_ID=TCET -DISTRIB_RELEASE=tcetlinux -DISTRIB_DESCRIPTION="TCET Linux" \ No newline at end of file diff --git a/airootfs/etc/mkinitcpio.conf b/airootfs/etc/mkinitcpio.conf index 96a8752..be5c1ac 100644 --- a/airootfs/etc/mkinitcpio.conf +++ b/airootfs/etc/mkinitcpio.conf @@ -57,10 +57,10 @@ HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common #COMPRESSION="gzip" #COMPRESSION="bzip2" #COMPRESSION="lzma" -COMPRESSION="xz" +#COMPRESSION="xz" #COMPRESSION="lzop" #COMPRESSION="lz4" -#COMPRESSION="zstd" +COMPRESSION="zstd" # COMPRESSION_OPTIONS # Additional options for the compressor diff --git a/airootfs/etc/mkinitcpio.d/linux.preset b/airootfs/etc/mkinitcpio.d/linux.preset index 9f67184..55096d9 100644 --- a/airootfs/etc/mkinitcpio.d/linux.preset +++ b/airootfs/etc/mkinitcpio.d/linux.preset @@ -2,7 +2,7 @@ PRESETS=('archiso') -ALL_kver='/boot/vmlinuz-linux' +ALL_kver='/boot/vmlinuz-linux-zen' ALL_config='/etc/mkinitcpio.conf' -archiso_image="/boot/initramfs-linux.img" +archiso_image="/boot/initramfs-linux-zen.img" diff --git a/airootfs/etc/mkinitcpio.d/tcetlinux b/airootfs/etc/mkinitcpio.d/tcetlinux new file mode 100644 index 0000000..b46b4a6 --- /dev/null +++ b/airootfs/etc/mkinitcpio.d/tcetlinux @@ -0,0 +1,14 @@ +# mkinitcpio preset file for the 'linux-zen' package on tcetlinuxiso + +PRESETS=('default' 'fallback') + +ALL_kver='/boot/vmlinuz-linux-zen' +ALL_config='/etc/mkinitcpio.conf' + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-linux-zen.img" +#default_options="" + +#fallback_config="/etc/mkinitcpio.conf" +fallback_image="/boot/initramfs-linux-zen-fallback.img" +fallback_options="-S autodetect" diff --git a/airootfs/etc/os-release b/airootfs/etc/os-release index 7dd3a9c..7863b15 100644 --- a/airootfs/etc/os-release +++ b/airootfs/etc/os-release @@ -3,5 +3,4 @@ PRETTY_NAME="TCET Linux" ID=tcet BUILD_ID=tcetlinux ANSI_COLOR="33;1;23;147;209" -#ANSI_COLOR="38;2;23;147;209" -LOGO=tcet \ No newline at end of file +LOGO=tcet diff --git a/airootfs/etc/pacman.conf b/airootfs/etc/pacman.conf new file mode 100644 index 0000000..1050c0f --- /dev/null +++ b/airootfs/etc/pacman.conf @@ -0,0 +1,102 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives +# +# SPDX-License-Identifier: GPL-3.0-or-later + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +Color +ParallelDownloads = 5 +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs diff --git a/airootfs/etc/passwd b/airootfs/etc/passwd index 2807d5d..da8dd66 100644 --- a/airootfs/etc/passwd +++ b/airootfs/etc/passwd @@ -1 +1,2 @@ root:x:0:0:root:/root:/usr/bin/zsh +liveuser:x:1000:1000::/home/liveuser:/bin/bash diff --git a/airootfs/etc/shadow b/airootfs/etc/shadow index 7edfd69..3692488 100644 --- a/airootfs/etc/shadow +++ b/airootfs/etc/shadow @@ -1 +1,2 @@ root::14871:::::: +liveuser::14871:::::: \ No newline at end of file diff --git a/airootfs/etc/skel/.bashrc b/airootfs/etc/skel/.bashrc new file mode 100644 index 0000000..f9619bd --- /dev/null +++ b/airootfs/etc/skel/.bashrc @@ -0,0 +1,25 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' + +#Display ISO version and distribution information in short +alias version="sed -n 1p /etc/os-release && sed -n 7p /etc/os-release && sed -n 8p /etc/os-release" + +#Pacman Shortcuts +alias sync="sudo pacman -Syyy" +alias install="sudo pacman -S" +alias update="sudo pacman -Syyu" +alias search="sudo pacman -Ss" +alias search-local="sudo pacman -Qs" +alias pkg-info="sudo pacman -Qi" +alias local-install="sudo pacman -U" +alias clr-cache="sudo pacman -Scc" +alias unlock="sudo rm /var/lib/pacman/db.lck" +alias remove="sudo pacman -R" +alias autoremove="sudo pacman -Rns" diff --git a/airootfs/etc/sudoers.d/g_wheel b/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..7c499c2 --- /dev/null +++ b/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service b/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service new file mode 120000 index 0000000..d256bfe --- /dev/null +++ b/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/bluetooth.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/dbus-org.bluez.service b/airootfs/etc/systemd/system/dbus-org.bluez.service new file mode 120000 index 0000000..d256bfe --- /dev/null +++ b/airootfs/etc/systemd/system/dbus-org.bluez.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/bluetooth.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service b/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service new file mode 120000 index 0000000..a7e5cd4 --- /dev/null +++ b/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-dispatcher.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/default.target b/airootfs/etc/systemd/system/default.target new file mode 120000 index 0000000..cf9fa51 --- /dev/null +++ b/airootfs/etc/systemd/system/default.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/graphical.target \ No newline at end of file diff --git a/airootfs/etc/systemd/system/display-manager.service b/airootfs/etc/systemd/system/display-manager.service new file mode 120000 index 0000000..5595cea --- /dev/null +++ b/airootfs/etc/systemd/system/display-manager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/lightdm.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service new file mode 120000 index 0000000..e874a9b --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/cups.path b/airootfs/etc/systemd/system/multi-user.target.wants/cups.path new file mode 120000 index 0000000..53324dc --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/cups.path @@ -0,0 +1 @@ +/usr/lib/systemd/system/cups.path \ No newline at end of file diff --git a/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service b/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service new file mode 120000 index 0000000..b78b586 --- /dev/null +++ b/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-wait-online.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/printer.target.wants/cups.service b/airootfs/etc/systemd/system/printer.target.wants/cups.service new file mode 120000 index 0000000..a9ef506 --- /dev/null +++ b/airootfs/etc/systemd/system/printer.target.wants/cups.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cups.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/sockets.target.wants/cups.socket b/airootfs/etc/systemd/system/sockets.target.wants/cups.socket new file mode 120000 index 0000000..8015ac2 --- /dev/null +++ b/airootfs/etc/systemd/system/sockets.target.wants/cups.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/cups.socket \ No newline at end of file diff --git a/airootfs/usr/local/bin/tl-finalisation b/airootfs/usr/local/bin/tl-finalisation new file mode 100755 index 0000000..583a217 --- /dev/null +++ b/airootfs/usr/local/bin/tl-finalisation @@ -0,0 +1,14 @@ +#!/bin/bash + +chmod 750 /etc/sudoers.d +chmod 750 /etc/polkit-1/rules.d +chgrp polkitd /etc/polkit-1/rules.d +chmod -v 750 /root + +rm -vf /etc/sudoers.d/g_wheel +rm -vf /etc/sddm.conf.d/autologin.conf +rm -vf /etc/polkit-1/rules.d/49-nopasswd_global.rules +rm -vr /etc/systemd/system/etc-pacman.d-gnupg.mount +rm -vf /root/{.automated_script.sh,.zlogin} + +rm /usr/local/bin/{tl-finalisation,livecd-sound,Installation_guide} diff --git a/airootfs/usr/local/bin/tl-preset b/airootfs/usr/local/bin/tl-preset new file mode 100755 index 0000000..70d7ebf --- /dev/null +++ b/airootfs/usr/local/bin/tl-preset @@ -0,0 +1,5 @@ +#!/bin/bash + +mv -v /etc/mkinitcpio.d/tcetlinux /etc/mkinitcpio.d/linux.preset + +rm /usr/local/bin/tl-preset diff --git a/airootfs/usr/local/bin/tl-remove-nvidia b/airootfs/usr/local/bin/tl-remove-nvidia new file mode 100755 index 0000000..d83ef8b --- /dev/null +++ b/airootfs/usr/local/bin/tl-remove-nvidia @@ -0,0 +1,57 @@ +#!/bin/bash +# driver=free or driver=nonfree - grub and efi +echo "Start tl-remove-nvidia" +kernel_cmdline(){ + for param in $(cat /proc/cmdline); do + case "${param}" in + $1=*) echo "${param##*=}"; return 0 ;; + $1) return 0 ;; + *) continue ;; + esac + done + [ -n "${2}" ] && echo "${2}" + return 1 +} + +get_driver(){ + echo $(kernel_cmdline driver) +} + + +while [ -e "/var/lib/pacman/db.lck" ]; +do + echo 'Pacman is not ready yet. Will try again in 10 seconds.' + seconds=$(($seconds + 10)) + sleep 10 + if [[ "$seconds" == "30" ]]; then + echo 'Warning: removing pacman db.lck!' + rm /var/lib/pacman/db.lck + fi +done + +# free = remove nvidia keep nouveau +selection=$(get_driver) +echo "#################################" +echo "Selection was "$selection +echo "#################################" +if [[ $selection == "free" ]]; then + pacman -Rns --noconfirm nvidia nvidia-utils nvidia-settings +fi + + +#nonfree = keepin nvidia and nouveau +selection=$(get_driver) +echo "Selection was "$selection +if [[ $selection == "nonfree" ]]; then + echo "blacklist nouveau" > /usr/lib/modprobe.d/nvidia-utils.conf + echo "#################################" + echo "We keep nvidia onboard" + echo "#################################" +fi + + +echo "#################################" +echo "End tl-remove-nvidia" +echo "#################################" +rm /usr/local/bin/tl-remove-nvidia + diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper 2.png b/airootfs/usr/share/backgrounds/xfce/wallpaper 2.png new file mode 100644 index 0000000..335b474 Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper 2.png differ diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper 3.png b/airootfs/usr/share/backgrounds/xfce/wallpaper 3.png new file mode 100644 index 0000000..5f44adb Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper 3.png differ diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper1.png b/airootfs/usr/share/backgrounds/xfce/wallpaper1.png new file mode 100644 index 0000000..a1f8b2c Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper1.png differ diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper2.png b/airootfs/usr/share/backgrounds/xfce/wallpaper2.png new file mode 100644 index 0000000..335b474 Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper2.png differ diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper3.png b/airootfs/usr/share/backgrounds/xfce/wallpaper3.png new file mode 100644 index 0000000..5f44adb Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper3.png differ diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper4.png b/airootfs/usr/share/backgrounds/xfce/wallpaper4.png new file mode 100644 index 0000000..774adcb Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper4.png differ diff --git a/airootfs/usr/share/backgrounds/xfce/wallpaper5.png b/airootfs/usr/share/backgrounds/xfce/wallpaper5.png new file mode 100644 index 0000000..2a68ea2 Binary files /dev/null and b/airootfs/usr/share/backgrounds/xfce/wallpaper5.png differ diff --git a/airootfs/usr/share/pixmaps/tcetlinux-logo.png b/airootfs/usr/share/pixmaps/tcetlinux-logo.png new file mode 100644 index 0000000..b7f1f9f Binary files /dev/null and b/airootfs/usr/share/pixmaps/tcetlinux-logo.png differ diff --git a/bootableusb.sh b/bootableusb.sh new file mode 100755 index 0000000..6c0a772 --- /dev/null +++ b/bootableusb.sh @@ -0,0 +1,6 @@ +umount /dev/sdb* +umount /dev/sdb* + +sudo mkfs.ext4 /dev/sdb + +sudo dd if=out/tcetlinux-$(date +%Y.%m.%d)-x86_64.iso of=/dev/sdb status=progress bs=2048 \ No newline at end of file diff --git a/bootstrap_packages.x86_64 b/bootstrap_packages.x86_64 deleted file mode 100644 index 64966d0..0000000 --- a/bootstrap_packages.x86_64 +++ /dev/null @@ -1,2 +0,0 @@ -arch-install-scripts -base diff --git a/cleanup.sh b/cleanup.sh new file mode 100755 index 0000000..3bd785c --- /dev/null +++ b/cleanup.sh @@ -0,0 +1 @@ +sudo rm -rvf work/ out/ diff --git a/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/efiboot/loader/entries/01-archiso-x86_64-linux.conf index cc1f043..298d734 100644 --- a/efiboot/loader/entries/01-archiso-x86_64-linux.conf +++ b/efiboot/loader/entries/01-archiso-x86_64-linux.conf @@ -1,7 +1,7 @@ title TCET Linux install medium (x86_64, UEFI) sort-key 01 -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen initrd /%INSTALL_DIR%/boot/intel-ucode.img initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram=n cow_spacesize=5G nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes diff --git a/grub/grub.cfg b/grub/grub.cfg index 10f46e7..13d9b24 100644 --- a/grub/grub.cfg +++ b/grub/grub.cfg @@ -44,8 +44,8 @@ timeout_style=menu menuentry "TCET Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'tcetlinux' { set gfxpayload=keep - linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} copytoram=n cow_spacesize=5G nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes - initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} copytoram=n cow_spacesize=5G nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img } if [ "${grub_platform}" == "efi" ]; then diff --git a/packages.x86_64 b/packages.x86_64 index fb8565d..44030cd 100644 --- a/packages.x86_64 +++ b/packages.x86_64 @@ -1,29 +1,32 @@ +##TCET Linux Live ISO Packages + +#ArchISO Defaults alsa-utils amd-ucode -arch-install-scripts -archinstall +#arch-install-scripts +#archinstall b43-fwcutter base bind -brltty -broadcom-wl +#brltty +#broadcom-wl btrfs-progs -clonezilla -cloud-init +#clonezilla +#cloud-init cryptsetup -darkhttpd -ddrescue +#darkhttpd +#ddrescue dhclient dhcpcd diffutils -dmidecode -dmraid +#dmidecode +#dmraid dnsmasq dosfstools e2fsprogs edk2-shell efibootmgr -espeakup +#espeakup ethtool exfatprogs f2fs-tools @@ -31,7 +34,7 @@ fatresize fsarchiver gnu-netcat gpart -gpm +#gpm gptfdisk grml-zsh-config grub @@ -39,23 +42,23 @@ hdparm hyperv intel-ucode irssi -iw -iwd +#iw +#iwd jfsutils kitty-terminfo less lftp libfido2 libusb-compat -linux -linux-atm -linux-firmware -linux-firmware-marvell -lsb-release -livecd-sounds +linux-zen +#linux-atm +#linux-firmware +#linux-firmware-marvell +#lsb-release +#livecd-sounds lsscsi lvm2 -lynx +#lynx man-db man-pages mc @@ -75,20 +78,20 @@ nilfs-utils nmap ntfs-3g nvme-cli -open-iscsi -open-vm-tools -openconnect +#open-iscsi +#open-vm-tools +#openconnect openssh -openvpn +#openvpn partclone parted partimage pcsclite -ppp +#ppp pptpclient pv qemu-guest-agent -refind +#refind reflector reiserfsprogs rp-pppoe @@ -109,12 +112,12 @@ testdisk tmux tpm2-tss udftools -usb_modeswitch +#usb_modeswitch usbmuxd usbutils vim -virtualbox-guest-utils-nox -vpnc +#virtualbox-guest-utils-nox +#vpnc wireless-regdb wireless_tools wpa_supplicant @@ -122,3 +125,69 @@ wvdial xfsprogs xl2tpd zsh + +## TCET Linux Core +xorg +lightdm +lightdm-gtk-greeter +xdg-user-dirs +bash-completion +networkmanager +network-manager-applet +base-devel +pacman-contrib +#virtualbox-guest-utils + + +## TCET Linux Desktop Env - XFCE +xfce4 +xfce4-goodies +#xf86-video-intel +#mugshot + +## TCET Linux Theme +tela-circle-icon +qogir-gtk-theme-git +tcet-linux-settings + +## TCET Linux Audio Driver and Tools +pulseaudio +pulseaudio-alsa +pulseaudio-bluetooth +pavucontrol + +## TCET Linux Utility Packages +#gvfs +neofetch +#galculator +#xdotool +#vlc + +## TCET Linux Installer +#grub +calamares +tcet-linux-installer-config +#os-prober + + +## TCET Linux Browser +firefox +#tcet-linux-firefox-settings + +## TCET Linux Office Suite +libreoffice-fresh +ttf-ms-fonts +ttf-roboto +noto-fonts + +## TCET Linux Bluetooth Driver & Manager +bluez +bluez-utils +blueman + +## AUR Installer and Helper +#paru + +# Printer Driver +#cups +#system-config-printer diff --git a/pacman.conf b/pacman.conf index 329fe73..4f14a73 100644 --- a/pacman.conf +++ b/pacman.conf @@ -99,3 +99,7 @@ Include = /etc/pacman.d/mirrorlist #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs + +[tcet-linux-applications] +SigLevel = Optional TrustedOnly +Server = https://tcet-opensource.github.io/$repo/$arch diff --git a/profiledef.sh b/profiledef.sh index a8f3a3a..82f7897 100644 --- a/profiledef.sh +++ b/profiledef.sh @@ -22,4 +22,7 @@ file_permissions=( ["/usr/local/bin/choose-mirror"]="0:0:755" ["/usr/local/bin/Installation_guide"]="0:0:755" ["/usr/local/bin/livecd-sound"]="0:0:755" + ["/usr/local/bin/tl-remove-nvidia"]="0:0:755" + ["/usr/local/bin/tl-preset"]="0:0:755" + ["/usr/local/bin/tl-finalisation"]="0:0:755" ) diff --git a/services.sh b/services.sh new file mode 100755 index 0000000..5a38d1e --- /dev/null +++ b/services.sh @@ -0,0 +1,46 @@ +#!/bin/bash +#set -e +#================================================================================= +#Author: DemonKiller +#SPDX-License-Identifier: GPL-3.0 +#Warning! DO NOT RUN THIS SCRIPT BLINDLY. MAKE CHANGES ACCORDING TO YOUR WORKFLOW. +#RUN AT YOUR OWN RISK. +#================================================================================= + + +cd airootfs/etc/systemd/system/ +tput setaf 2 +echo "Enabling SDDM and Graphical Target.." +tput sgr0 +ln -sv /usr/lib/systemd/system/graphical.target default.target + +ln -sv /usr/lib/systemd/system/lightdm.service display-manager.service + +tput setaf 2 +echo "Enabling Network Manager..." +tput sgr0 +ln -sv /usr/lib/systemd/system/NetworkManager.service multi-user.target.wants/NetworkManager.service + +ln -sv /usr/lib/systemd/system/NetworkManager-wait-online.service network-online.target.wants/NetworkManager-wait-online.service + +ln -sv /usr/lib/systemd/system/NetworkManager-dispatcher.service dbus-org.freedesktop.nm-dispatcher.service + +tput setaf 2 +echo "Enabling Printing Services..." +tput sgr0 + +mkdir printer.target.wants +ln -sv /usr/lib/systemd/system/cups.service printer.target.wants/cups.service + +ln -sv /usr/lib/systemd/system/cups.socket sockets.target.wants/cups.socket + +ln -sv /usr/lib/systemd/system/cups.path multi-user.target.wants/cups.path + +tput setaf 2 +echo "Enabling Bluetooth..." +tput sgr0 + +ln -sv /usr/lib/systemd/system/bluetooth.service dbus-org.bluez.service + +mkdir bluetooth.target.wants +ln -sv /usr/lib/systemd/system/bluetooth.service bluetooth.target.wants/bluetooth.service diff --git a/syslinux/archiso_sys-linux.cfg b/syslinux/archiso_sys-linux.cfg index b4c2964..ecefd67 100644 --- a/syslinux/archiso_sys-linux.cfg +++ b/syslinux/archiso_sys-linux.cfg @@ -5,6 +5,6 @@ Boot the TCET Linux install medium on BIOS. It allows you to install TCET Linux or perform system maintenance. ENDTEXT MENU LABEL TCET Linux install medium (x86_64, BIOS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram=n cow_spacesize=5G nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes