diff options
Diffstat (limited to 'releng')
108 files changed, 2423 insertions, 0 deletions
diff --git a/releng/airootfs/etc/NetworkManager/conf.d/wifi_backend.conf b/releng/airootfs/etc/NetworkManager/conf.d/wifi_backend.conf new file mode 100644 index 0000000..515c976 --- /dev/null +++ b/releng/airootfs/etc/NetworkManager/conf.d/wifi_backend.conf @@ -0,0 +1,2 @@ +[device] +wifi.backend=iwd diff --git a/releng/airootfs/etc/default/grub b/releng/airootfs/etc/default/grub new file mode 100644 index 0000000..c9416a2 --- /dev/null +++ b/releng/airootfs/etc/default/grub @@ -0,0 +1,54 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="RaveOS" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" +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="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +#GRUB_THEME="/path/to/gfxtheme" + +# 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. +#GRUB_SAVEDEFAULT="true" diff --git a/releng/airootfs/etc/group b/releng/airootfs/etc/group new file mode 100644 index 0000000..5b8b111 --- /dev/null +++ b/releng/airootfs/etc/group @@ -0,0 +1,17 @@ +root:x:0:root +sys:x:3:bin,raveos +network:x:90:raveos +power:x:98:raveos +adm:x:999:raveos +wheel:x:998:raveos +uucp:x:987:raveos +optical:x:990:raveos +rfkill:x:983:raveos +video:x:986:raveos +storage:x:988:raveos +audio:x:995:raveos +users:x:985:raveos +nopasswdlogin:x:966:raveos +autologin:x:967:raveos +plugdev:x:46:raveos +raveos:x:1000: diff --git a/releng/airootfs/etc/gshadow b/releng/airootfs/etc/gshadow new file mode 100644 index 0000000..b37e18f --- /dev/null +++ b/releng/airootfs/etc/gshadow @@ -0,0 +1,2 @@ +root:!*::root +raveos:!*:: diff --git a/releng/airootfs/etc/hostname b/releng/airootfs/etc/hostname new file mode 100644 index 0000000..02af87a --- /dev/null +++ b/releng/airootfs/etc/hostname @@ -0,0 +1 @@ +raveos-netinst diff --git a/releng/airootfs/etc/iwd/main.conf b/releng/airootfs/etc/iwd/main.conf new file mode 100644 index 0000000..d613231 --- /dev/null +++ b/releng/airootfs/etc/iwd/main.conf @@ -0,0 +1,2 @@ +[General] +EnableNetworkConfiguration=false diff --git a/releng/airootfs/etc/locale.conf b/releng/airootfs/etc/locale.conf new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/releng/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/releng/airootfs/etc/localtime b/releng/airootfs/etc/localtime new file mode 120000 index 0000000..0e35b57 --- /dev/null +++ b/releng/airootfs/etc/localtime @@ -0,0 +1 @@ +/usr/share/zoneinfo/UTC
\ No newline at end of file diff --git a/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf b/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf new file mode 100644 index 0000000..5c008e5 --- /dev/null +++ b/releng/airootfs/etc/mkinitcpio.conf.d/archiso.conf @@ -0,0 +1,3 @@ +HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) +COMPRESSION="xz" +COMPRESSION_OPTIONS=(-9e) diff --git a/releng/airootfs/etc/mkinitcpio.d/linux.preset b/releng/airootfs/etc/mkinitcpio.d/linux.preset new file mode 100644 index 0000000..8e85205 --- /dev/null +++ b/releng/airootfs/etc/mkinitcpio.d/linux.preset @@ -0,0 +1,8 @@ +# mkinitcpio preset file for the 'linux' package on archiso + +PRESETS=('archiso') + +ALL_kver='/boot/vmlinuz-linux' +archiso_config='/etc/mkinitcpio.conf.d/archiso.conf' + +archiso_image="/boot/initramfs-linux.img" diff --git a/releng/airootfs/etc/modprobe.d/broadcom-wl.conf b/releng/airootfs/etc/modprobe.d/broadcom-wl.conf new file mode 100644 index 0000000..d57bc07 --- /dev/null +++ b/releng/airootfs/etc/modprobe.d/broadcom-wl.conf @@ -0,0 +1,11 @@ +# The broadcom-wl package requires some modules to be disabled in order to use +# wl. Since the ISO image needs to cover many hardware cases, this file +# overrides the default blacklist in /usr/lib/modprobe.d/ +# +# If you need to use wl, you may need to delete this file, then `rmmod` any +# already-loaded modules that are now blacklisted before proceeding to modprobe +# wl itself. + +blacklist b43 +blacklist bcma +blacklist ssb
\ No newline at end of file diff --git a/releng/airootfs/etc/motd b/releng/airootfs/etc/motd new file mode 100644 index 0000000..4d9eda1 --- /dev/null +++ b/releng/airootfs/etc/motd @@ -0,0 +1,11 @@ +To install [38;2;23;147;209mArch Linux[0m follow the installation guide: +https://wiki.archlinux.org/title/Installation_guide + +For Wi-Fi, authenticate to the wireless network using the [35miwctl[0m utility. +For mobile broadband (WWAN) modems, connect with the [35mmmcli[0m utility. +Ethernet, WLAN and WWAN interfaces using DHCP should work automatically. + +After connecting to the internet, the installation guide can be accessed +via the convenience script [35mInstallation_guide[0m. + +[41m [41m [41m [40m [44m [40m [41m [46m [45m [41m [46m [43m [41m [44m [45m [40m [44m [40m [41m [44m [41m [41m [46m [42m [41m [44m [43m [41m [45m [40m [40m [44m [40m [41m [44m [42m [41m [46m [44m [41m [46m [47m [0m diff --git a/releng/airootfs/etc/os-release b/releng/airootfs/etc/os-release new file mode 100644 index 0000000..4728aeb --- /dev/null +++ b/releng/airootfs/etc/os-release @@ -0,0 +1,11 @@ +NAME="RaveOS" +PRETTY_NAME="RaveOS" +ID=arch +BUILD_ID=rolling +ANSI_COLOR="38;2;23;147;209" +HOME_URL="https://rp1.hu" +DOCUMENTATION_URL="https://rp1.hu/" +SUPPORT_URL="https://rp1.hu/" +BUG_REPORT_URL="https://git.rp1.hu" +PRIVACY_POLICY_URL="https://git.rp1.hu" +LOGO=raveos-logo diff --git a/releng/airootfs/etc/pacman.conf b/releng/airootfs/etc/pacman.conf new file mode 100644 index 0000000..9ba30ee --- /dev/null +++ b/releng/airootfs/etc/pacman.conf @@ -0,0 +1,108 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# 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 = linux-cachyos linux-cachyos-headers gnome-session gnome-console gedit gnome-disk-utility gnome-system-monitor eog gnome-calculator baobab gnome-control-center gnome-tweaks gnome-browser-connector gnome-settings-daemon nautilus gnome-shell-extensions mutter +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +Color +#NoProgressBar +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists +ILoveCandy +ParallelDownloads = 5 +#DownloadUser = alpm +#DisableSandbox + +# 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. + +#[core-testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +#[extra-testing] +#Include = /etc/pacman.d/mirrorlist + +[extra] +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 + +[raveos-core-repo] +SigLevel = Never TrustAll +Server = https://page.rp1.hu/x86_64/ + +[chaotic-aur] +Include = /etc/pacman.d/chaotic-mirrorlist diff --git a/releng/airootfs/etc/pacman.d/chaotic-mirrorlist b/releng/airootfs/etc/pacman.d/chaotic-mirrorlist new file mode 100644 index 0000000..283a314 --- /dev/null +++ b/releng/airootfs/etc/pacman.d/chaotic-mirrorlist @@ -0,0 +1,349 @@ +# Mirrorlist for Chaotic-AUR (https://aur.chaotic.cx/) + +# This file contains 3 different types of mirrors: +# 1. Virtual mirrors: These mirrors do not refer to any specific mirror or region of the world +# * geo-mirror.chaotic.cx: Automatically routes to the geographically closest up-to-date mirror based on IP address. +# * random-mirror.chaotic.cx: Automatically routes to a random (but semi-persistent) up-to-date mirror. +# 2. Country mirrors: Any requests made to these mirrors will be routed to an up-to-date mirror located in the specific country. +# * If your machine is located in the same country as the country mirror in question, the closest mirror in that country will be used. +# * If your machine is located in a different country than the country mirror, a random (but semi-persistent) mirror in that country will be used. +# * Common format: [country code]-mirror.chaotic.cx +# 3. Regular mirrors: These refer to specific mirrors and do not automatically route to any other mirror. +# * If the mirror is out of date or offline, the mirror will return an appropriate error code. Pacman will skip it automatically. +# * Common format: [country code]-[number]-mirror.chaotic.cx (but there are exceptions to this format) + +# Most of these mirrors are disabled by default. The topmost mirror will be the default mirror. The rest will be fallbacks. +# Uncomment+move the mirrors to your desire. By default, geo-mirror, cdn-mirror and a few country mirrors are enabled, +# to allow for a reasonable number of fallbacks while keeping the defaults short. Have fun! + +## Geo mirror (virtual) +# Automatic routing to the geographically closest mirror (default) +Server = https://geo-mirror.chaotic.cx/$repo/$arch + +## CDN mirror (regular) +# Global +# * By: Garuda Linux donators, hosted on Cloudflare R2 +Server = https://cdn-mirror.chaotic.cx/$repo/$arch + + +## --- Country mirrors --- + +# Argentina (AR) +#Server = https://ar-mirror.chaotic.cx/$repo/$arch + +# Australia (AU) +#Server = https://au-mirror.chaotic.cx/$repo/$arch + +# Brazil (BR) +Server = https://br-mirror.chaotic.cx/$repo/$arch + +# Canada (CA) +#Server = https://ca-mirror.chaotic.cx/$repo/$arch + +# Chile (CL) +#Server = https://cl-mirror.chaotic.cx/$repo/$arch + +# Colombia (CO) +#Server = https://co-mirror.chaotic.cx/$repo/$arch + +# France (FR) +#Server = https://fr-mirror.chaotic.cx/$repo/$arch + +# Germany (DE) +Server = https://de-mirror.chaotic.cx/$repo/$arch + +# Greece (GR) +#Server = https://gr-mirror.chaotic.cx/$repo/$arch + +# Hong Kong (HK) +#Server = https://hk-mirror.chaotic.cx/$repo/$arch + +# India (IN) +Server = https://in-mirror.chaotic.cx/$repo/$arch + +# Indonesia (ID) +#Server = https://id-mirror.chaotic.cx/$repo/$arch + +# Israel (IL) +#Server = https://il-mirror.chaotic.cx/$repo/$arch + +# Italy (IT) +#Server = https://it-mirror.chaotic.cx/$repo/$arch + +# Japan (JP) +#Server = https://jp-mirror.chaotic.cx/$repo/$arch + +# Mexico (MX) +#Server = https://mx-mirror.chaotic.cx/$repo/$arch + +# Netherlands (NL) +#Server = https://nl-mirror.chaotic.cx/$repo/$arch + +# New Zealand (NZ) +#Server = https://nz-mirror.chaotic.cx/$repo/$arch + +# Nigeria (NG) +#Server = https://ng-mirror.chaotic.cx/$repo/$arch + +# Peru (PE) +#Server = https://pe-mirror.chaotic.cx/$repo/$arch + +# Poland (PL) +#Server = https://pl-mirror.chaotic.cx/$repo/$arch + +# Russia (RU) +#Server = https://ru-mirror.chaotic.cx/$repo/$arch + +# Saudi Arabia (SA) +#Server = https://sa-mirror.chaotic.cx/$repo/$arch + +# Singapore (SG) +#Server = https://sg-mirror.chaotic.cx/$repo/$arch + +# South Africa (ZA) +#Server = https://za-mirror.chaotic.cx/$repo/$arch + +# South Korea (KR) +#Server = https://kr-mirror.chaotic.cx/$repo/$arch + +# Spain (ES) +#Server = https://es-mirror.chaotic.cx/$repo/$arch + +# Sweden (SE) +#Server = https://se-mirror.chaotic.cx/$repo/$arch + +# Switzerland (CH) +#Server = https://ch-mirror.chaotic.cx/$repo/$arch + +# Taiwan (TW) +#Server = https://tw-mirror.chaotic.cx/$repo/$arch + +# Thailand (TH) +#Server = https://th-mirror.chaotic.cx/$repo/$arch + +# United Arab Emirates (AE) +#Server = https://ae-mirror.chaotic.cx/$repo/$arch + +# United Kingdom (GB) +#Server = https://gb-mirror.chaotic.cx/$repo/$arch + +# United States of America (US) +Server = https://us-mirror.chaotic.cx/$repo/$arch + +# Vietnam (VN) +#Server = https://vn-mirror.chaotic.cx/$repo/$arch + + +## --- Regular mirrors --- + +# Argentina (AR) +# * By: a0xz +#Server = https://ar-1-mirror.chaotic.cx/$repo/$arch + +# Australia (AU) +# * By: a0xz +#Server = https://au-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://au-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://au-3-mirror.chaotic.cx/$repo/$arch + +# Brazil (BR) +# * By: Universidade Federal de São Carlos (São Carlos) +#Server = https://br-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://br-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://br-3-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://br-4-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://br-5-mirror.chaotic.cx/$repo/$arch + +# Canada (CA) +# * By: All Things Linux +#Server = https://ca-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://ca-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://ca-3-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://ca-4-mirror.chaotic.cx/$repo/$arch + +# Chile (CL) +# * By: Jonathan Gutiérrez +#Server = https://cl-1-mirror.chaotic.cx/$repo/$arch +# * By: Jonathan Gutiérrez +#Server = https://cl-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://cl-3-mirror.chaotic.cx/$repo/$arch + +# Colombia (CO) +# * By: Eduard Tolosa +#Server = https://co-1-mirror.chaotic.cx/$repo/$arch + +# France (FR) +# * By: a0xz +#Server = https://fr-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://fr-2-mirror.chaotic.cx/$repo/$arch + +# Germany (DE) +# * By: Nico +#Server = https://de-2-mirror.chaotic.cx/$repo/$arch +# * By: redgloboli +#Server = https://de-4-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://de-1-mirror.chaotic.cx/$repo/$arch + +# Greece (GR) +# * By: vmmaniac <github.com/vmmaniac> +#Server = https://gr-1-mirror.chaotic.cx/$repo/$arch + +# Hong Kong (HK) +# * By: a0xz +#Server = https://hk-1-mirror.chaotic.cx/$repo/$arch + +# India (IN) +# * By: Albony <https://albony.xyz/> +#Server = https://in-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://in-3-mirror.chaotic.cx/$repo/$arch +# * By: Albony (Chennai) +#Server = https://in-4-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://in-5-mirror.chaotic.cx/$repo/$arch + +# Indonesia (ID) +# * By: a0xz +#Server = https://id-1-mirror.chaotic.cx/$repo/$arch + +# Israel (IL) +# * By: a0xz +#Server = https://il-1-mirror.chaotic.cx/$repo/$arch + +# Italy (IT) +# * By: a0xz +#Server = https://it-1-mirror.chaotic.cx/$repo/$arch + +# Japan (JP) +# * By: a0xz +#Server = https://jp-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://jp-2-mirror.chaotic.cx/$repo/$arch + +# Mexico (MX) +# * By: a0xz +#Server = https://mx-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://mx-2-mirror.chaotic.cx/$repo/$arch + +# Netherlands (NL) +# * By: a0xz +#Server = https://nl-1-mirror.chaotic.cx/$repo/$arch + +# New Zealand (NZ) +# * By: a0xz +#Server = https://nz-1-mirror.chaotic.cx/$repo/$arch + +# Nigeria (NG) +# * By: a0xz +#Server = https://ng-1-mirror.chaotic.cx/$repo/$arch + +# Peru (PE) +# * By: a0xz +#Server = https://pe-1-mirror.chaotic.cx/$repo/$arch + +# Poland (PL) +# * By: a0xz +#Server = https://pl-1-mirror.chaotic.cx/$repo/$arch + +# Russia (RU) +# * By: Котпро203 +#Server = https://ru-1-mirror.chaotic.cx/$repo/$arch + +# Saudi Arabia (SA) +# * By: a0xz +#Server = https://sa-1-mirror.chaotic.cx/$repo/$arch + +# Singapore (SG) +# * By: freedif.org (City state) +#Server = https://sg-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://sg-2-mirror.chaotic.cx/$repo/$arch + +# South Africa (ZA) +# * By: a0xz +#Server = https://za-1-mirror.chaotic.cx/$repo/$arch + +# South Korea (KR) +# * By: <t.me/silent_heigou> (Seoul) +#Server = https://kr-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://kr-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://kr-3-mirror.chaotic.cx/$repo/$arch + +# Spain (ES) +# * By: JKANetwork +#Server = https://es-1-mirror.chaotic.cx/$repo/$arch +# * By: Ícar <t.me/IcarNS> +#Server = https://es-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://es-3-mirror.chaotic.cx/$repo/$arch + +# Sweden (SE) +# * By: Academic Computer Club in Umeå (accum.se) +#Server = https://se-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://se-2-mirror.chaotic.cx/$repo/$arch + +# Switzerland (CH) +# * By: a0xz +#Server = https://ch-1-mirror.chaotic.cx/$repo/$arch + +# Taiwan (TW) +# * By: a0xz +#Server = https://tw-1-mirror.chaotic.cx/$repo/$arch + +# Thailand (TH) +# * By: a0xz +#Server = https://th-1-mirror.chaotic.cx/$repo/$arch + +# United Arab Emirates (AE) +# * By: a0xz +#Server = https://ae-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://ae-2-mirror.chaotic.cx/$repo/$arch + +# United Kingdom (GB) +# * By: Wilbur <github.com/ThisCatLikesCrypto> +#Server = https://gb-1-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://gb-2-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://gb-3-mirror.chaotic.cx/$repo/$arch + +# United States of America (US) +# * By: Technetium1 <github.com/Technetium1> +#Server = https://us-mi-mirror.chaotic.cx/$repo/$arch +# * By: ash <t.me/the_ashh> +#Server = https://us-ut-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-hi-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-nv-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-fl-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-ny-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-az-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-or-mirror.chaotic.cx/$repo/$arch +# * By: a0xz +#Server = https://us-ca-mirror.chaotic.cx/$repo/$arch + +# Vietnam (VN) +# * By: <t.me/meowice> +#Server = https://vn-1-mirror.chaotic.cx/$repo/$arch diff --git a/releng/airootfs/etc/pacman.d/hooks/reflector-mirrorlist.hook b/releng/airootfs/etc/pacman.d/hooks/reflector-mirrorlist.hook new file mode 100644 index 0000000..312c41e --- /dev/null +++ b/releng/airootfs/etc/pacman.d/hooks/reflector-mirrorlist.hook @@ -0,0 +1,11 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Type = Package +Target = pacman-mirrorlist + +[Action] +Description = Updating mirrorlist with reflector (Hungary)... +When = PostTransaction +Depends = reflector +Exec = /usr/bin/reflector -c HU --protocol https --sort rate --latest 20 --download-timeout 5 --threads 20 --save /etc/pacman.d/mirrorlist diff --git a/releng/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook b/releng/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook new file mode 100644 index 0000000..8dfb943 --- /dev/null +++ b/releng/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook @@ -0,0 +1,18 @@ +# remove from airootfs! +# As a workaround for https://bugs.archlinux.org/task/49347 , remove pacman hooks specific to the ISO build process. +# If not, they would be used when pacstrap is run in the live environment. + +[Trigger] +Operation = Install +Operation = Upgrade +Operation = Remove +Type = Package +Target = * + +[Action] +Description = Work around FS#49347 by removing custom pacman hooks that are only required during ISO build... +When = PostTransaction +Depends = sh +Depends = coreutils +Depends = grep +Exec = /bin/sh -c "rm -- $(grep -Frl 'remove from airootfs' /etc/pacman.d/hooks/)" diff --git a/releng/airootfs/etc/pacman.d/mirrorlist b/releng/airootfs/etc/pacman.d/mirrorlist new file mode 100644 index 0000000..71078e6 --- /dev/null +++ b/releng/airootfs/etc/pacman.d/mirrorlist @@ -0,0 +1,111 @@ + + +## France +Server = http://mirror.trap.moe/archlinux/$repo/os/$arch +Server = http://mirror.cyberbits.eu/archlinux/$repo/os/$arch +Server = http://archlinux.mailtunnel.eu/$repo/os/$arch +Server = https://mirror.cyberbits.eu/archlinux/$repo/os/$arch +Server = https://archlinux.mailtunnel.eu/$repo/os/$arch +Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch +Server = http://mirror.theo546.fr/archlinux/$repo/os/$arch +Server = http://fr.mirrors.cicku.me/archlinux/$repo/os/$arch +Server = https://fr.mirrors.cicku.me/archlinux/$repo/os/$arch +Server = https://f.matthieul.dev/mirror/archlinux/$repo/os/$arch +Server = http://f.matthieul.dev/mirror/archlinux/$repo/os/$arch +Server = https://mirror.trap.moe/archlinux/$repo/os/$arch +Server = https://mirror.peeres-telecom.fr/archlinux/$repo/os/$arch +Server = https://mirrors.jtremesay.org/archlinux/$repo/os/$arch +Server = http://mirror.peeres-telecom.fr/archlinux/$repo/os/$arch +Server = http://archlinux.datagr.am/$repo/os/$arch +Server = https://arch.syxpi.fr/arch/$repo/os/$arch +Server = http://archmirror.hogwarts.fr/$repo/os/$arch +Server = http://arch.yourlabs.org/$repo/os/$arch +Server = http://mirror.oldsql.cc/archlinux/$repo/os/$arch +Server = https://mirror.rznet.fr/archlinux/$repo/os/$arch +Server = http://mirror.rznet.fr/archlinux/$repo/os/$arch +Server = https://arch.yourlabs.org/$repo/os/$arch +Server = https://mirror.oldsql.cc/archlinux/$repo/os/$arch +Server = https://mirror.thekinrar.fr/archlinux/$repo/os/$arch +Server = http://mirror.bakertelekom.fr/Arch/$repo/os/$arch +Server = https://mirror.bakertelekom.fr/Arch/$repo/os/$arch +Server = http://arch.syxpi.fr/arch/$repo/os/$arch +Server = https://archmirror.hogwarts.fr/$repo/os/$arch +Server = https://mirror.smayzy.ovh/archlinux/$repo/os/$arch +Server = http://mirror.lastmikoi.net/archlinux/$repo/os/$arch +Server = https://mirrors.eric.ovh/arch/$repo/os/$arch +Server = http://mir.archlinux.fr/$repo/os/$arch +Server = http://mirrors.gandi.net/archlinux/$repo/os/$arch +Server = https://mirrors.gandi.net/archlinux/$repo/os/$arch +Server = http://mirror.archlinux.ikoula.com/archlinux/$repo/os/$arch +Server = http://mirror.its-tps.fr/archlinux/$repo/os/$arch +Server = https://mirror.its-tps.fr/archlinux/$repo/os/$arch +Server = https://mirror.wormhole.eu/archlinux/$repo/os/$arch +Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch +Server = https://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch +Server = http://ftp.u-strasbg.fr/linux/distributions/archlinux/$repo/os/$arch +Server = https://elda.asgardius.company/archlinux/$repo/os/$arch + + +## Netherlands +Server = http://ams.nl.mirrors.bjg.at/arch/$repo/os/$arch +Server = https://ams.nl.mirrors.bjg.at/arch/$repo/os/$arch +Server = http://ftp.nluug.nl/os/Linux/distr/archlinux/$repo/os/$arch +Server = https://nl.mirrors.cicku.me/archlinux/$repo/os/$arch +Server = http://nl.mirrors.cicku.me/archlinux/$repo/os/$arch +Server = http://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +Server = https://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +Server = http://mirror.nl.cdn-perfprod.com/archlinux/$repo/os/$arch +Server = http://ftp.snt.utwente.nl/pub/os/linux/archlinux/$repo/os/$arch +Server = http://mirror.cj2.nl/archlinux/$repo/os/$arch +Server = https://mirror.nl.cdn-perfprod.com/archlinux/$repo/os/$arch +Server = https://mirror.cj2.nl/archlinux/$repo/os/$arch +Server = http://archlinux.mirror.wearetriple.com/$repo/os/$arch +Server = https://archlinux.mirror.wearetriple.com/$repo/os/$arch +Server = http://mirrors.xtom.nl/archlinux/$repo/os/$arch +Server = https://mirrors.xtom.nl/archlinux/$repo/os/$arch +Server = http://mirror.bouwhuis.network/archlinux/$repo/os/$arch +Server = https://mirror.bouwhuis.network/archlinux/$repo/os/$arch +Server = https://nl.mirror.flokinet.net/archlinux/$repo/os/$arch +Server = http://nl.mirror.flokinet.net/archlinux/$repo/os/$arch +Server = http://arch.mirrors.lavatech.top/$repo/os/$arch +Server = http://mirror.koddos.net/archlinux/$repo/os/$arch +Server = https://mirror.mijn.host/archlinux/$repo/os/$arch +Server = http://mirror.mijn.host/archlinux/$repo/os/$arch +Server = https://mirror.koddos.net/archlinux/$repo/os/$arch +Server = https://arch.mirrors.lavatech.top/$repo/os/$arch +Server = https://archlinux.mirror.liteserver.nl/$repo/os/$arch +Server = http://archlinux.mirror.liteserver.nl/$repo/os/$arch +Server = http://mirror.lyrahosting.com/archlinux/$repo/os/$arch +Server = https://mirror.lyrahosting.com/archlinux/$repo/os/$arch +Server = https://mirror.iusearchbtw.nl/$repo/os/$arch +Server = http://mirrors.evoluso.com/archlinux/$repo/os/$arch +Server = http://mirror.serverion.com/archlinux/$repo/os/$arch +Server = https://mirror.serverion.com/archlinux/$repo/os/$arch + + +## United Kingdom +Server = https://london.mirror.pkgbuild.com/$repo/os/$arch +Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = http://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = https://repo.c48.uk/arch/$repo/os/$arch +Server = https://uk.repo.c48.uk/arch/$repo/os/$arch +Server = https://gb.mirrors.cicku.me/archlinux/$repo/os/$arch +Server = http://gb.mirrors.cicku.me/archlinux/$repo/os/$arch +Server = http://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch +Server = https://mirror.server.net/archlinux/$repo/os/$arch +Server = http://mirror.server.net/archlinux/$repo/os/$arch +Server = https://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch +Server = https://repo.slithery.uk/$repo/os/$arch +Server = http://mirror.netweaver.uk/archlinux/$repo/os/$arch +Server = https://mirror.netweaver.uk/archlinux/$repo/os/$arch +Server = https://mirror.st2projects.com/archlinux/$repo/os/$arch +Server = http://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch +Server = https://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch +Server = https://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +Server = http://mirror.marcusn.net/archlinux/$repo/os/$arch +Server = https://mirror.marcusn.net/archlinux/$repo/os/$arch +Server = http://mirror.cov.ukservers.com/archlinux/$repo/os/$arch +Server = https://mirror.cov.ukservers.com/archlinux/$repo/os/$arch +Server = https://lon.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://lon.mirror.rackspace.com/archlinux/$repo/os/$arch diff --git a/releng/airootfs/etc/passwd b/releng/airootfs/etc/passwd new file mode 100644 index 0000000..e997f05 --- /dev/null +++ b/releng/airootfs/etc/passwd @@ -0,0 +1,2 @@ +root:x:0:0:root:/root:/usr/bin/zsh +raveos:x:1000:1000::/home/raveos:/usr/bin/bash diff --git a/releng/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules b/releng/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules new file mode 100644 index 0000000..cca8039 --- /dev/null +++ b/releng/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules @@ -0,0 +1,8 @@ +/* Allow members of the wheel group to execute any actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); diff --git a/releng/airootfs/etc/profile.d/autostart.sh b/releng/airootfs/etc/profile.d/autostart.sh new file mode 100755 index 0000000..1dfb4a5 --- /dev/null +++ b/releng/airootfs/etc/profile.d/autostart.sh @@ -0,0 +1,4 @@ +#!/bin/bash +if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then + startx +fi diff --git a/releng/airootfs/etc/profile.d/raveos-fastfetch.sh b/releng/airootfs/etc/profile.d/raveos-fastfetch.sh new file mode 100644 index 0000000..c97dc67 --- /dev/null +++ b/releng/airootfs/etc/profile.d/raveos-fastfetch.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# RaveOS terminal greeting +# Guard: prevent double execution (login shell profile.d + .bashrc) +[[ -n "$_RAVEOS_GREETING_DONE" ]] && return 2>/dev/null +_RAVEOS_GREETING_DONE=1 + +if command -v fastfetch &>/dev/null; then + if [[ "$TERM" == "xterm-kitty" ]]; then + _rows=$(tput lines 2>/dev/null || echo 40) + _logo_h=$(( _rows * 40 / 100 )) + (( _logo_h < 8 )) && _logo_h=8 + (( _logo_h > 24 )) && _logo_h=24 + fastfetch --config ~/.config/fastfetch/config-kitty.jsonc --logo-height "$_logo_h" + unset _rows _logo_h + else + fastfetch + fi +fi diff --git a/releng/airootfs/etc/resolv.conf b/releng/airootfs/etc/resolv.conf new file mode 100644 index 0000000..8dda3fc --- /dev/null +++ b/releng/airootfs/etc/resolv.conf @@ -0,0 +1 @@ +nameserver 1.1.1.1 diff --git a/releng/airootfs/etc/shadow b/releng/airootfs/etc/shadow new file mode 100644 index 0000000..824230b --- /dev/null +++ b/releng/airootfs/etc/shadow @@ -0,0 +1,2 @@ +root::14871:::::: +raveos:$6$jcfVB0VnKJYxHo7t$j/U9j8Civmx0O9f/mb1.nzw.BZLISLEKS.QwgOXNKWGpkLVisvP5Zfs4lcuzXglZBUAxj9oknnPBiCZOIgd25.:14871:::::: diff --git a/releng/airootfs/etc/skel/.bashrc b/releng/airootfs/etc/skel/.bashrc new file mode 100644 index 0000000..2d2fb5e --- /dev/null +++ b/releng/airootfs/etc/skel/.bashrc @@ -0,0 +1,16 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +PS1='[\u@\h \W]\$ ' + +# >>> RaveOS terminal greeting >>> +if [[ -f /etc/profile.d/raveos-fastfetch.sh ]]; then + source /etc/profile.d/raveos-fastfetch.sh +fi +# <<< RaveOS terminal greeting <<< diff --git a/releng/airootfs/etc/skel/.config/fastfetch/config-kitty.jsonc b/releng/airootfs/etc/skel/.config/fastfetch/config-kitty.jsonc new file mode 100644 index 0000000..d99f7a7 --- /dev/null +++ b/releng/airootfs/etc/skel/.config/fastfetch/config-kitty.jsonc @@ -0,0 +1,43 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "source": "~/.config/fastfetch/raveos-logo.png", + "type": "kitty-direct", + "height": 16, + "padding": { + "top": 1, + "left": 2, + "right": 2 + } + }, + "display": { + "separator": " → ", + "color": { + "keys": "green", + "title": "cyan" + } + }, + "modules": [ + { "type": "custom", "format": "\u001b[1;32mRaveOS \u001b[0;36m" }, + "separator", + { "type": "os", "key": "OS" }, + { "type": "kernel", "key": "Kernel" }, + { "type": "uptime", "key": "Uptime" }, + { "type": "packages", "key": "Packages" }, + { "type": "shell", "key": "Shell" }, + { "type": "de", "key": "DE" }, + { "type": "wm", "key": "WM" }, + { "type": "terminal", "key": "Terminal" }, + "separator", + { "type": "cpu", "key": "CPU" }, + { "type": "gpu", "key": "GPU" }, + { "type": "memory", "key": "RAM" }, + { "type": "disk", "key": "Disk", "folders": "/" }, + "separator", + { "type": "display", "key": "Display" }, + { "type": "theme", "key": "Theme" }, + { "type": "icons", "key": "Icons" }, + "break", + "colors" + ] +} diff --git a/releng/airootfs/etc/skel/.config/fastfetch/config.jsonc b/releng/airootfs/etc/skel/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..f5f842d --- /dev/null +++ b/releng/airootfs/etc/skel/.config/fastfetch/config.jsonc @@ -0,0 +1,93 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "source": "~/.config/fastfetch/raveos-logo.txt", + "type": "file", + "color": { + "1": "green", + "2": "36", + "3": "white" + }, + "padding": { + "top": 1, + "left": 2, + "right": 3 + } + }, + "display": { + "separator": " → ", + "color": { + "keys": "green", + "title": "cyan" + } + }, + "modules": [ + "title", + "separator", + { + "type": "os", + "key": "OS" + }, + { + "type": "kernel", + "key": "Kernel" + }, + { + "type": "uptime", + "key": "Uptime" + }, + { + "type": "packages", + "key": "Packages" + }, + { + "type": "shell", + "key": "Shell" + }, + { + "type": "de", + "key": "DE" + }, + { + "type": "wm", + "key": "WM" + }, + { + "type": "terminal", + "key": "Terminal" + }, + "separator", + { + "type": "cpu", + "key": "CPU" + }, + { + "type": "gpu", + "key": "GPU" + }, + { + "type": "memory", + "key": "RAM" + }, + { + "type": "disk", + "key": "Disk", + "folders": "/" + }, + "separator", + { + "type": "display", + "key": "Display" + }, + { + "type": "theme", + "key": "Theme" + }, + { + "type": "icons", + "key": "Icons" + }, + "break", + "colors" + ] +} diff --git a/releng/airootfs/etc/skel/.config/fastfetch/raveos-logo.png b/releng/airootfs/etc/skel/.config/fastfetch/raveos-logo.png Binary files differnew file mode 100644 index 0000000..93ebb33 --- /dev/null +++ b/releng/airootfs/etc/skel/.config/fastfetch/raveos-logo.png diff --git a/releng/airootfs/etc/skel/.config/fastfetch/raveos-logo.txt b/releng/airootfs/etc/skel/.config/fastfetch/raveos-logo.txt new file mode 100644 index 0000000..41f87e2 --- /dev/null +++ b/releng/airootfs/etc/skel/.config/fastfetch/raveos-logo.txt @@ -0,0 +1,19 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⠀⠀⠀⡀⠀⣰⣾⣿⣿⣷⣄⠀⣠⠀⠀⠀⠀⠀⠀⢀⠄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠙⣦⣄⡀⠠⡀⠀⣿⡆⠙⣿⣿⣿⡿⠃⢰⣧⠀⣀⠄⢀⣤⡴⠋⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣀⠀⠑⢮⣙⠛⠂⠙⠀⡅⣹⣄⢸⣿⣿⡇⣠⡏⠁⠈⠉⠐⠟⣉⡵⠊⠀⣠⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠄⢈⣃⡀⠐⠿⣷⣦⣀⢰⣼⣈⣿⣾⣿⣿⣿⣿⢁⣥⡆⣠⣴⣾⠿⠂⢀⣀⠁⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠠⠤⠬⠿⠿⠷⠌⠻⢿⢷⡝⢿⣿⡌⣿⡿⢱⣿⡿⢫⡾⠿⠟⠡⠾⠿⠯⠥⠤⠄⠀⠀⠀⠀ +⠀⠀⠀⠙⠂⠈⠀⠀⠄⠀⠉⠀⠐⠶⢷⣦⣬⡁⠏⠷⢈⣥⣴⠿⠶⠂⠀⠉⠁⠀⠀⠀⠁⠘⠊⠂⠀⠀ +⠀⠀⠀⠀⢀⠄⢠⣴⣶⠀⠀⠀⢀⡀⠀⠉⠙⠃⣠⡄⠘⠉⠁⠀⢀⡀⠀⠀⢠⣶⣦⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣠⠤⠌⠁⣩⣿⣇⡀⠢⣜⣛⠛⠀⠀⡴⢫⡝⣄⠀⠀⠛⢛⡡⠔⢀⣼⣯⣅⠈⠁⠤⡄⠀⠀⠀ +⠀⠀⠀⢀⡠⢴⠾⠉⢉⣿⣿⣷⣶⣭⣶⣾⡟⣱⣿⣿⡜⢻⣶⣦⣥⣶⣾⣿⣯⡉⠉⠷⡤⢄⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⡴⠂⢚⠟⢉⣾⠿⠛⢙⠉⣠⠈⢹⠇⠁⣄⢈⠋⠛⠿⣷⡉⠿⡓⡐⢦⡀⠀⠁⠀⠀⠀ +⠀⠀⠀⠀⠀⠒⢉⣵⣿⣷⣧⠆⢂⠶⢿⡽⠛⠰⣦⣴⠀⠛⣯⠿⡢⡐⠲⣽⣼⣿⣮⡙⠓⠀⠀⠄⠀⠀ +⠀⠀⢀⣴⠷⠂⣾⣿⠿⠛⣡⣾⡤⠀⠘⠁⢰⣴⣿⣿⣤⠀⠈⠃⠀⢤⣶⣌⠻⢿⣿⣧⠐⠾⣦⡀⠀⠀ +⠀⠀⠀⠀⠀⠘⠉⠀⢠⣼⠏⠋⣠⢠⡄⢀⠻⠉⣿⡿⠈⠟⡄⢰⡀⡀⠻⠹⣦⡀⠀⠉⠃⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠂⠀⠁⠀⡄⡿⠀⢣⠀⠀⠐⡌⢡⠀⠈⢀⡌⠈⢧⠂⠀⠈⠀⠑⠀⠀⠀⠀⠀⠀⠀ +⢠⣤⣤⣤⣤⣄⣰⢠⣤⣴⣦⠟⣥⣦⣀⢳⣦⡆⣴⣦⣶⣴⣾⣄⠀⢈⣷⣶⣶⣦⣄⣄⣠⣴⣶⣦⣤⠀ +⢸⣿⣧⣤⣽⡿⢁⣿⣟⣹⣿⡄⠘⣿⣿⣾⡿⠀⣿⣿⣶⣶⣾⠋⠀⢾⣿⡍⠁⢹⣿⡎⠿⠷⠶⣶⣭⡀ +⠸⣿⠇⠙⢿⡦⢼⡿⠛⠛⢿⣷⠀⠹⣿⡿⠁⠀⢿⣿⣶⣶⣶⠆⠀⠘⠿⢷⣶⠿⠟⠀⠿⢿⣶⡾⠿⠃ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/releng/airootfs/etc/ssh/sshd_config.d/10-archiso.conf b/releng/airootfs/etc/ssh/sshd_config.d/10-archiso.conf new file mode 100644 index 0000000..6ea7b41 --- /dev/null +++ b/releng/airootfs/etc/ssh/sshd_config.d/10-archiso.conf @@ -0,0 +1,3 @@ +# Allow root login using password authentication +PasswordAuthentication yes +PermitRootLogin yes diff --git a/releng/airootfs/etc/sudoers b/releng/airootfs/etc/sudoers new file mode 100644 index 0000000..faf0e3f --- /dev/null +++ b/releng/airootfs/etc/sudoers @@ -0,0 +1,139 @@ +## sudoers file. +## +## This file MUST be edited with the 'visudo' command as root. +## Failure to use 'visudo' may result in syntax or file permission errors +## that prevent sudo from running. +## +## See the sudoers man page for the details on how to write a sudoers file. +## + +## +## Host alias specification +## +## Groups of machines. These may include host names (optionally with wildcards), +## IP addresses, network numbers or netgroups. +# Host_Alias WEBSERVERS = www1, www2, www3 + +## +## User alias specification +## +## Groups of users. These may consist of user names, uids, Unix groups, +## or netgroups. +# User_Alias ADMINS = millert, dowdy, mikef + +## +## Cmnd alias specification +## +## Groups of commands. Often used to group related commands together. +# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \ +# /usr/bin/pkill, /usr/bin/top +# +# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff +# +# Cmnd_Alias DEBUGGERS = /usr/bin/gdb, /usr/bin/lldb, /usr/bin/strace, \ +# /usr/bin/truss, /usr/bin/bpftrace, \ +# /usr/bin/dtrace, /usr/bin/dtruss +# +# Cmnd_Alias PKGMAN = /usr/bin/apt, /usr/bin/dpkg, /usr/bin/rpm, \ +# /usr/bin/yum, /usr/bin/dnf, /usr/bin/zypper, \ +# /usr/bin/pacman + +## +## Defaults specification +## +## Preserve editor environment variables for visudo. +## To preserve these for all commands, remove the "!visudo" qualifier. +Defaults!/usr/bin/visudo env_keep += "SUDO_EDITOR EDITOR VISUAL" +## +## Use a hard-coded PATH instead of the user's to find commands. +## This also helps prevent poorly written scripts from running +## arbitrary commands under sudo. +Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/bin" +## +## You may wish to keep some of the following environment variables +## when running commands via sudo. +## +## Locale settings +# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET" +## +## Run X applications through sudo; HOME is used to find the +## .Xauthority file. Note that other programs use HOME to find +## configuration files and this may lead to privilege escalation! +# Defaults env_keep += "HOME" +## +## X11 resource path settings +# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH" +## +## Desktop path settings +# Defaults env_keep += "QTDIR KDEDIR" +## +## Allow sudo-run commands to inherit the callers' ConsoleKit session +# Defaults env_keep += "XDG_SESSION_COOKIE" +## +## Uncomment to enable special input methods. Care should be taken as +## this may allow users to subvert the command being run via sudo. +# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER" +## +## Uncomment to disable "use_pty" when running commands as root. +## Commands run as non-root users will run in a pseudo-terminal, +## not the user's own terminal, to prevent command injection. +# Defaults>root !use_pty +## +## Uncomment to run commands in the background by default. +## This can be used to prevent sudo from consuming user input while +## a non-interactive command runs if "use_pty" or I/O logging are +## enabled. Some commands may not run properly in the background. +# Defaults exec_background +## +## Uncomment to send mail if the user does not enter the correct password. +# Defaults mail_badpass +## +## Uncomment to enable logging of a command's output, except for +## sudoreplay and reboot. Use sudoreplay to play back logged sessions. +## Sudo will create up to 2,176,782,336 I/O logs before recycling them. +## Set maxseq to a smaller number if you don't have unlimited disk space. +# Defaults log_output +# Defaults!/usr/bin/sudoreplay !log_output +# Defaults!/usr/local/bin/sudoreplay !log_output +# Defaults!REBOOT !log_output +# Defaults maxseq = 1000 +## +## Uncomment to disable intercept and log_subcmds for debuggers and +## tracers. Otherwise, anything that uses ptrace(2) will be unable +## to run under sudo if intercept_type is set to "trace". +# Defaults!DEBUGGERS !intercept, !log_subcmds +## +## Uncomment to disable intercept and log_subcmds for package managers. +## Some package scripts run a huge number of commands, which is made +## slower by these options and also can clutter up the logs. +# Defaults!PKGMAN !intercept, !log_subcmds +## +## Uncomment to disable PAM silent mode. Otherwise messages by PAM +## modules such as pam_faillock will not be printed. +# Defaults !pam_silent + +## +## Runas alias specification +## + +## +## User privilege specification +## +root ALL=(ALL:ALL) ALL + +## Uncomment to allow members of group wheel to execute any command +%wheel ALL=(ALL:ALL) ALL + +## Same thing without a password +# %wheel ALL=(ALL:ALL) NOPASSWD: ALL + +## Uncomment to allow members of group sudo to execute any command +# %sudo ALL=(ALL:ALL) ALL + +## Uncomment to allow any user to run sudo if they know the password +## of the user they are running the command as (root by default). +# Defaults targetpw # Ask for the password of the target user +# ALL ALL=(ALL:ALL) ALL # WARNING: only use this together with 'Defaults targetpw' + +## Read drop-in files from /etc/sudoers.d +@includedir /etc/sudoers.d diff --git a/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf new file mode 100644 index 0000000..b69850d --- /dev/null +++ b/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf @@ -0,0 +1,2 @@ +[Journal] +Storage=volatile diff --git a/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf new file mode 100644 index 0000000..f3ecb39 --- /dev/null +++ b/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf @@ -0,0 +1,4 @@ +[Login] +HandleSuspendKey=ignore +HandleHibernateKey=ignore +HandleLidSwitch=ignore diff --git a/releng/airootfs/etc/systemd/network/20-ethernet.network b/releng/airootfs/etc/systemd/network/20-ethernet.network new file mode 100644 index 0000000..d3a3271 --- /dev/null +++ b/releng/airootfs/etc/systemd/network/20-ethernet.network @@ -0,0 +1,24 @@ +[Match] +# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*). +# See https://bugs.archlinux.org/task/70892 +# Instead match by globbing the network interface name. +Name=en* +Name=eth* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes +MulticastDNS=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=100 + +[IPv6AcceptRA] +RouteMetric=100 diff --git a/releng/airootfs/etc/systemd/network/20-wlan.network.disabled b/releng/airootfs/etc/systemd/network/20-wlan.network.disabled new file mode 100644 index 0000000..8b70a95 --- /dev/null +++ b/releng/airootfs/etc/systemd/network/20-wlan.network.disabled @@ -0,0 +1,20 @@ +[Match] +Name=wl* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes +MulticastDNS=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=600 + +[IPv6AcceptRA] +RouteMetric=600 diff --git a/releng/airootfs/etc/systemd/network/20-wwan.network b/releng/airootfs/etc/systemd/network/20-wwan.network new file mode 100644 index 0000000..6e1c8dd --- /dev/null +++ b/releng/airootfs/etc/systemd/network/20-wwan.network @@ -0,0 +1,19 @@ +[Match] +Name=ww* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=700 + +[IPv6AcceptRA] +RouteMetric=700 diff --git a/releng/airootfs/etc/systemd/networkd.conf.d/ipv6-privacy-extensions.conf b/releng/airootfs/etc/systemd/networkd.conf.d/ipv6-privacy-extensions.conf new file mode 100644 index 0000000..0e9ceb4 --- /dev/null +++ b/releng/airootfs/etc/systemd/networkd.conf.d/ipv6-privacy-extensions.conf @@ -0,0 +1,2 @@ +[Network] +IPv6PrivacyExtensions=yes diff --git a/releng/airootfs/etc/systemd/resolved.conf.d/archiso.conf b/releng/airootfs/etc/systemd/resolved.conf.d/archiso.conf new file mode 100644 index 0000000..636f3bd --- /dev/null +++ b/releng/airootfs/etc/systemd/resolved.conf.d/archiso.conf @@ -0,0 +1,4 @@ +# Default systemd-resolved configuration for archiso + +[Resolve] +MulticastDNS=yes diff --git a/releng/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator b/releng/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator new file mode 120000 index 0000000..dc1dc0c --- /dev/null +++ b/releng/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator @@ -0,0 +1 @@ +/dev/null
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/choose-mirror.service b/releng/airootfs/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..b6a3562 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service new file mode 120000 index 0000000..ebc50f0 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-config.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service new file mode 120000 index 0000000..80fa3c8 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-final.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service new file mode 120000 index 0000000..dd8e9f1 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-local.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service new file mode 120000 index 0000000..875ff73 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-main.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service new file mode 120000 index 0000000..ae77734 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-network.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service new file mode 120000 index 0000000..dcf7c8e --- /dev/null +++ b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ModemManager.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service new file mode 120000 index 0000000..4c158e6 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service new file mode 120000 index 0000000..4f6ae34 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-resolved.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..038961e --- /dev/null +++ b/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -0,0 +1,8 @@ +[Unit] +Description=Temporary /etc/pacman.d/gnupg directory + +[Mount] +What=tmpfs +Where=/etc/pacman.d/gnupg +Type=tmpfs +Options=mode=0755,noswap diff --git a/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..b9d22eb --- /dev/null +++ b/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin root - $TERM diff --git a/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service b/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service new file mode 100644 index 0000000..03db4b9 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service @@ -0,0 +1,13 @@ +[Unit] +Description=Unmute All Sound Card Controls For Use With The Live Arch Environment +# This needs to run after the audio device becomes available. +Wants=systemd-udev-settle.service +After=systemd-udev-settle.service sound.target +ConditionKernelCommandLine=accessibility=on + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/livecd-sound -u + +[Install] +WantedBy=sound.target diff --git a/releng/airootfs/etc/systemd/system/livecd-talk.service b/releng/airootfs/etc/systemd/system/livecd-talk.service new file mode 100644 index 0000000..b38df22 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/livecd-talk.service @@ -0,0 +1,20 @@ +[Unit] +Description=Screen reader service +After=livecd-alsa-unmuter.service +Before=getty@tty1.service +ConditionKernelCommandLine=accessibility=on + +[Service] +Type=oneshot +TTYPath=/dev/tty13 +ExecStartPre=/usr/bin/chvt 13 +ExecStart=/usr/local/bin/livecd-sound -p +ExecStartPost=/usr/bin/chvt 1 +ExecStartPost=systemctl start espeakup.service +StandardInput=tty +TTYVHangup=yes +TTYVTDisallocate=yes +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service new file mode 120000 index 0000000..dcf7c8e --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ModemManager.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service new file mode 120000 index 0000000..e874a9b --- /dev/null +++ b/releng/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/releng/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service new file mode 120000 index 0000000..2d8d256 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service @@ -0,0 +1 @@ +../choose-mirror.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service new file mode 120000 index 0000000..20ac7b2 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_fcopy_daemon.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service new file mode 120000 index 0000000..a7eac4a --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_kvp_daemon.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service new file mode 120000 index 0000000..eae19ef --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_vss_daemon.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service new file mode 120000 index 0000000..3625abd --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/iwd.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/livecd-talk.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/livecd-talk.service new file mode 120000 index 0000000..b917481 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/livecd-talk.service @@ -0,0 +1 @@ +/etc/systemd/system/livecd-talk.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service new file mode 120000 index 0000000..d09eec6 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service @@ -0,0 +1 @@ +../pacman-init.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/reflector-once.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/reflector-once.service new file mode 120000 index 0000000..d1b7b88 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/reflector-once.service @@ -0,0 +1 @@ +../reflector-once.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/sshd.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/sshd.service new file mode 120000 index 0000000..d21ebd9 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/sshd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sshd.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service new file mode 120000 index 0000000..4f6ae34 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-resolved.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service new file mode 120000 index 0000000..cb2d560 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vboxservice.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service new file mode 120000 index 0000000..e0a11a7 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmtoolsd.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service new file mode 120000 index 0000000..173f306 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmware-vmblock-fuse.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service b/releng/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service new file mode 120000 index 0000000..7d6ad92 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd-wait-online.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/pacman-init.service b/releng/airootfs/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..82e0e0f --- /dev/null +++ b/releng/airootfs/etc/systemd/system/pacman-init.service @@ -0,0 +1,16 @@ +[Unit] +Description=Initializes Pacman keyring +Requires=etc-pacman.d-gnupg.mount +Wants=network-online.target +After=etc-pacman.d-gnupg.mount time-sync.target network-online.target +BindsTo=etc-pacman.d-gnupg.mount +Before=archlinux-keyring-wkd-sync.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/pacman-key --init +ExecStart=/usr/bin/pacman-key --populate + +[Install] +WantedBy=multi-user.target diff --git a/releng/airootfs/etc/systemd/system/reflector-once.service b/releng/airootfs/etc/systemd/system/reflector-once.service new file mode 100644 index 0000000..5a73044 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/reflector-once.service @@ -0,0 +1,11 @@ +[Unit] +Description=Update pacman mirrorlist with reflector +Wants=network-online.target +After=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/reflector -c HU --protocol https --sort rate --latest 20 --download-timeout 5 --threads 20 --save /etc/pacman.d/mirrorlist + +[Install] +WantedBy=multi-user.target diff --git a/releng/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket b/releng/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket new file mode 120000 index 0000000..3897c63 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/pcscd.socket
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket b/releng/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket new file mode 120000 index 0000000..51942c8 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.socket
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/sound.target.wants/livecd-alsa-unmuter.service b/releng/airootfs/etc/systemd/system/sound.target.wants/livecd-alsa-unmuter.service new file mode 120000 index 0000000..98c0fc8 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/sound.target.wants/livecd-alsa-unmuter.service @@ -0,0 +1 @@ +../livecd-alsa-unmuter.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service b/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service new file mode 120000 index 0000000..cabf28b --- /dev/null +++ b/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-time-wait-sync.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service b/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf new file mode 100644 index 0000000..c9f9bce --- /dev/null +++ b/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf @@ -0,0 +1,6 @@ +# Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist, +# network-online.target gets needlessly delayed. +# See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online +[Service] +ExecStart= +ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any diff --git a/releng/airootfs/etc/systemd/system/wpa_supplicant.service b/releng/airootfs/etc/systemd/system/wpa_supplicant.service new file mode 120000 index 0000000..dc1dc0c --- /dev/null +++ b/releng/airootfs/etc/systemd/system/wpa_supplicant.service @@ -0,0 +1 @@ +/dev/null
\ No newline at end of file diff --git a/releng/airootfs/root/.automated_script.sh b/releng/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..f7f3ced --- /dev/null +++ b/releng/airootfs/root/.automated_script.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +script_cmdline() { + local param + for param in $(</proc/cmdline); do + case "${param}" in + script=*) + echo "${param#*=}" + return 0 + ;; + esac + done +} + +automated_script() { + local script rt + script="$(script_cmdline)" + if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then + if [[ "${script}" =~ ^((http|https|ftp|tftp)://) ]]; then + # there's no synchronization for network availability before executing this script + printf '%s: waiting for network-online.target\n' "$0" + until systemctl --quiet is-active network-online.target; do + sleep 1 + done + printf '%s: downloading %s\n' "$0" "${script}" + curl "${script}" --location --retry-connrefused --retry 10 --fail -s -o /tmp/startup_script + rt=$? + else + cp "${script}" /tmp/startup_script + rt=$? + fi + if [[ ${rt} -eq 0 ]]; then + chmod +x /tmp/startup_script + printf '%s: executing automated script\n' "$0" + # note that script is executed when other services (like pacman-init) may be still in progress, please + # synchronize to "systemctl is-system-running --wait" when your script depends on other services + /tmp/startup_script + fi + fi +} + +if [[ $(tty) == "/dev/tty1" ]]; then + automated_script +fi diff --git a/releng/airootfs/root/.config/openbox/autostart b/releng/airootfs/root/.config/openbox/autostart new file mode 100755 index 0000000..b1180b2 --- /dev/null +++ b/releng/airootfs/root/.config/openbox/autostart @@ -0,0 +1,8 @@ +#!/bin/sh + +xset s off +xset -dpms +xset s noblank + +# Launch Calamares fullscreen +calamares & diff --git a/releng/airootfs/root/.config/openbox/menu.xml b/releng/airootfs/root/.config/openbox/menu.xml new file mode 100644 index 0000000..53c742e --- /dev/null +++ b/releng/airootfs/root/.config/openbox/menu.xml @@ -0,0 +1,22 @@ + +<?xml version="1.0" encoding="UTF-8"?> +<openbox_menu> + <menu id="root-menu" label="Openbox"> + <item label="Terminal"> + <action name="Execute"> + <command>xterm</command> + </action> + </item> + <item label="Installer"> + <action name="Execute"> + <command>calamares</command> + </action> + </item> + <separator/> + <item label="Reboot"> + <action name="Execute"> + <command>systemctl reboot</command> + </action> + </item> + </menu> +</openbox_menu> diff --git a/releng/airootfs/root/.config/openbox/rc.xml b/releng/airootfs/root/.config/openbox/rc.xml new file mode 100644 index 0000000..6fb7896 --- /dev/null +++ b/releng/airootfs/root/.config/openbox/rc.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openbox_config> + <theme> + <name>Clearlooks</name> + + <font place="ActiveWindow"> + <name>Noto Sans</name> + <size>10</size> + <weight>Bold</weight> + <slant>Normal</slant> + </font> + + <font place="InactiveWindow"> + <name>Noto Sans</name> + <size>10</size> + <weight>Normal</weight> + <slant>Normal</slant> + </font> + + <font place="MenuHeader"> + <name>Noto Sans</name> + <size>10</size> + <weight>Bold</weight> + <slant>Normal</slant> + </font> + + <font place="MenuItem"> + <name>Noto Sans</name> + <size>10</size> + <weight>Normal</weight> + <slant>Normal</slant> + </font> + + <font place="OnScreenDisplay"> + <name>Noto Sans</name> + <size>10</size> + <weight>Normal</weight> + <slant>Normal</slant> + </font> + </theme> +<applications> + <application class="*"> + <decor>no</decor> + </application> +</applications> +</openbox_config>
\ No newline at end of file diff --git a/releng/airootfs/root/.gnupg/scdaemon.conf b/releng/airootfs/root/.gnupg/scdaemon.conf new file mode 100644 index 0000000..e1f3d1f --- /dev/null +++ b/releng/airootfs/root/.gnupg/scdaemon.conf @@ -0,0 +1,4 @@ +disable-ccid +disable-pinpad +pcsc-driver /usr/lib/libpcsclite.so +pcsc-shared diff --git a/releng/airootfs/root/.loader.conf b/releng/airootfs/root/.loader.conf new file mode 100755 index 0000000..0ca44c8 --- /dev/null +++ b/releng/airootfs/root/.loader.conf @@ -0,0 +1,4 @@ +default raveos.conf +timeout 3 +editor no + diff --git a/releng/airootfs/root/.xinitrc b/releng/airootfs/root/.xinitrc new file mode 100644 index 0000000..2c21291 --- /dev/null +++ b/releng/airootfs/root/.xinitrc @@ -0,0 +1 @@ +exec openbox-session diff --git a/releng/airootfs/root/.zlogin b/releng/airootfs/root/.zlogin new file mode 100644 index 0000000..bf6bc8f --- /dev/null +++ b/releng/airootfs/root/.zlogin @@ -0,0 +1,6 @@ +# fix for screen readers +if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then + setopt SINGLE_LINE_ZLE +fi + +~/.automated_script.sh diff --git a/releng/airootfs/usr/local/bin/Installation_guide b/releng/airootfs/usr/local/bin/Installation_guide new file mode 100755 index 0000000..58b97b0 --- /dev/null +++ b/releng/airootfs/usr/local/bin/Installation_guide @@ -0,0 +1,5 @@ +#!/bin/sh +# +# SPDX-License-Identifier: GPL-3.0-or-later + +exec xdg-open 'https://wiki.archlinux.org/title/Installation_guide' diff --git a/releng/airootfs/usr/local/bin/choose-mirror b/releng/airootfs/usr/local/bin/choose-mirror new file mode 100755 index 0000000..d2349de --- /dev/null +++ b/releng/airootfs/usr/local/bin/choose-mirror @@ -0,0 +1,29 @@ +#!/bin/bash +# +# SPDX-License-Identifier: GPL-3.0-or-later + +get_cmdline() { + local param + for param in $(</proc/cmdline); do + case "${param}" in + "${1}="*) + echo "${param##*=}" + return 0 + ;; + esac + done +} + +mirror="$(get_cmdline mirror)" +[[ "$mirror" == 'auto' ]] && mirror="$(get_cmdline archiso_http_srv)" +[[ -n "$mirror" ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist <<EOF +# +# Arch Linux repository mirrorlist +# Generated by archiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF diff --git a/releng/airootfs/usr/local/bin/livecd-sound b/releng/airootfs/usr/local/bin/livecd-sound new file mode 100755 index 0000000..b92fcf2 --- /dev/null +++ b/releng/airootfs/usr/local/bin/livecd-sound @@ -0,0 +1,239 @@ +#!/usr/bin/env bash +# +# SPDX-License-Identifier: GPL-3.0-or-later + +usage() { + cat <<-_EOF_ + live cd sound helper script. + Usage: livecdsound [OPTION] + OPTIONS + -u, --unmute unmute all sound cards + -p, --pick select a card for speetch output + -h, --help Show this usage message + +_EOF_ +} + +bugout() { + printf "/usr/local/bin/livecdsound: programming error" + stat_fail +} + +echo_card_indices() { + if [[ -f /proc/asound/cards ]]; then + sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards + fi +} + +# The following functions try to set many controls. +# No card has all the controls and so some of the attempts are bound to fail. +# Because of this, the functions can't return useful status values. + +# $1 <card id> +# $2 <control> +# $3 <level> +unmute_and_set_level() { + [[ -n "$3" && -n "$2" && -n "$1" ]] || bugout + systemd-cat -t "livecdsound" printf "Setting: %s on card: %s to %s\n" "$2" "$1" "$3" + systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" unmute + return 0 +} + +# $1 <card id> +# $2 <control> +mute_and_zero_level() { + [[ -n "$1" && -n "$2" ]] || bugout + systemd-cat -t "livecdsound" printf "Muting control: %s on card: %s\n" "$2" "$1" + systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "0%" mute + return 0 +} + +# $1 <card ID> +# $2 <control> +# $3 "on" | "off" +switch_control() { + [[ -n "$3" && -n "$1" ]] || bugout + systemd-cat -t "livecdsound" printf "Switching control: %s on card: %s to %s\n" "$2" "$1" "$3" + systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" + return 0 +} + +# $1 <card ID> +sanify_levels_on_card() { + unmute_and_set_level "$1" "Front" "80%" + unmute_and_set_level "$1" "Master" "80%" + unmute_and_set_level "$1" "Master Mono" "80%" + unmute_and_set_level "$1" "Master Digital" "80%" # E.g., cs4237B + unmute_and_set_level "$1" "Playback" "80%" + unmute_and_set_level "$1" "Headphone" "100%" + unmute_and_set_level "$1" "PCM" "80%" + unmute_and_set_level "$1" "PCM,1" "80%" # E.g., ess1969 + unmute_and_set_level "$1" "DAC" "80%" # E.g., envy24, cs46xx + unmute_and_set_level "$1" "DAC,0" "80%" # E.g., envy24 + unmute_and_set_level "$1" "DAC,1" "80%" # E.g., envy24 + unmute_and_set_level "$1" "Synth" "80%" + unmute_and_set_level "$1" "CD" "80%" + unmute_and_set_level "$1" "PC Speaker" "100%" + + mute_and_zero_level "$1" "Mic" + mute_and_zero_level "$1" "IEC958" # Ubuntu #19648 + + # Intel P4P800-MX + switch_control "$1" "Master Playback Switch" on + switch_control "$1" "Master Surround" on + + # Trident/YMFPCI/emu10k1: + unmute_and_set_level "$1" "Wave" "80%" + unmute_and_set_level "$1" "Music" "80%" + unmute_and_set_level "$1" "AC97" "80%" + + # DRC: + unmute_and_set_level "$1" "Dynamic Range Compression" "80%" + + # Required for HDA Intel (hda-intel): + unmute_and_set_level "$1" "Front" "80%" + + # Required for SB Live 7.1/24-bit (ca0106): + unmute_and_set_level "$1" "Analog Front" "80%" + + # Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard + switch_control "$1" "IEC958 Capture Monitor" off + + # Required for hardware allowing toggles for AC97 through IEC958, + # valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1. + unmute_and_set_level "$1" "IEC958 Playback AC97-SPSA" "0" + + # Required for newer Via hardware + unmute_and_set_level "$1" "VIA DXS,0" "80%" + unmute_and_set_level "$1" "VIA DXS,1" "80%" + unmute_and_set_level "$1" "VIA DXS,2" "80%" + unmute_and_set_level "$1" "VIA DXS,3" "80%" + + # Required on some notebooks with ICH4: + switch_control "$1" "Headphone Jack Sense" off + switch_control "$1" "Line Jack Sense" off + + # Some machines need one or more of these to be on; + # others need one or more of these to be off: + + switch_control "$1" "Audigy Analog/Digital Output Jack" on + switch_control "$1" "SB Live Analog/Digital Output Jack" on + + # D1984 -- Thinkpad T61/X61 + switch_control "$1" "Speaker" on + switch_control "$1" "Headphone" on + + # HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823) + unmute_and_set_level "$1" "Digital" "80%" + + return 0 +} + +# $1 <card ID> | "all" +sanify_levels() { + local ttsdml_returnstatus=0 + local card + case "$1" in + all) + for card in $(echo_card_indices); do + sanify_levels_on_card "$card" || ttsdml_returnstatus=1 + done + ;; + *) + sanify_levels_on_card "$1" || ttsdml_returnstatus=1 + ;; + esac + return "$ttsdml_returnstatus" +} + +# List all cards that *should* be usable for PCM audio. In my experience, +# the console speaker (handled by the pcsp driver) isn't a suitable playback +# device, so we'll exclude it. +list_non_pcsp_cards() { + for card in $(echo_card_indices); do + local cardfile="/proc/asound/card${card}/id" + if [[ -r "$cardfile" && -f "$cardfile" && "$(cat "$cardfile")" != pcsp ]]; then + echo "$card" + fi + done +} + +# Properly initialize the sound card so that we have audio at boot. +unmute_all_cards() { + sanify_levels all +} + +is_numeric() { + local str="$1" + [[ "$str" =~ ^[0-9]+$ ]] +} + +set_default_card() { + local card="$1" + sed -e "s/%card%/$card/g" </usr/local/share/livecd-sound/asound.conf.in \ + >/etc/asound.conf +} + +play_on_card() { + local card="$1" file="$2" + aplay -q "-Dplughw:$card,0" "$file" +} + +# If there are multiple usable sound cards, prompt the user to choose one, +# using auditory feedback. +pick_a_card() { + set -f + usable_cards="$(list_non_pcsp_cards)" + num_usable_cards="$(wc -w <<<"$usable_cards")" + + if (( num_usable_cards == 1 )); then + systemd-cat -t "livecdsound" printf "Only one sound card is detected\n" + exit 0 + fi + systemd-cat -t "livecdsound" printf "multiple sound cards detected\n" + for card in "${usable_cards[@]}"; do + if ! is_numeric "$card"; then + continue + fi + play_on_card "$card" /usr/share/livecd-sounds/pick-a-card.wav & + done + wait + sleep 1 + for card in "${usable_cards[@]}"; do + if ! is_numeric "$card"; then + continue + fi + play_on_card "$card" /usr/share/livecd-sounds/beep.wav + if read -r -t 10; then + systemd-cat -t "livecdsound" printf "Selecting %s sound card as default\n" "$card" + set_default_card "$card" + break + fi + done +} + +if (( $# == 0 )); then + echo "error: No argument passed." + exit 1 +fi +while [[ "${1}" != "" ]]; do + case ${1} in + -h|--help) + usage + exit + ;; + -u|--unmute) + systemd-cat -t "livecdsound" printf "Unmuting all cards" + unmute_all_cards + ;; + -p|--pick) + pick_a_card + ;; + *) + echo "error: Unsupported argument" + usage + exit 1 + ;; + esac + shift +done diff --git a/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in b/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in new file mode 100644 index 0000000..3f9c7aa --- /dev/null +++ b/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in @@ -0,0 +1,3 @@ +Defaults node +defaults.ctl.card %card%; +defaults.pcm.card %card%; diff --git a/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install b/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install new file mode 100755 index 0000000..fc31285 --- /dev/null +++ b/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install @@ -0,0 +1,84 @@ +#!/bin/bash +# Single-entry, systemd-compliant kernel-install hook for CachyOS + +set -e + +COMMAND="$1" # add | remove +KERNEL_VERSION="$2" # e.g. 6.18.4-1-cachyos + +# Only act on CachyOS kernels +case "$KERNEL_VERSION" in + *cachyos*) ;; + *) exit 0 ;; +esac + +BOOT_ROOT="${KERNEL_INSTALL_BOOT_ROOT:-/boot}" +ENTRY_DIR="$BOOT_ROOT/loader/entries" +ENTRY_FILE="$ENTRY_DIR/raveos.conf" + +# -------------------------------------------------- +# Fixed CachyOS kernel paths (non-versioned) +# -------------------------------------------------- +LINUX_IMAGE="/vmlinuz-linux-cachyos" +INITRAMFS_IMAGE="/initramfs-linux-cachyos.img" + +# -------------------------------------------------- +# Microcode (must be first initrd) +# -------------------------------------------------- +MICROCODE="" +[ -f "$BOOT_ROOT/intel-ucode.img" ] && MICROCODE="/intel-ucode.img" +[ -f "$BOOT_ROOT/amd-ucode.img" ] && MICROCODE="/amd-ucode.img" + +# -------------------------------------------------- +# Root device detection +# -------------------------------------------------- +ROOT_SRC="$(findmnt -no SOURCE /)" +ROOT_FS="$(findmnt -no FSTYPE /)" +ROOT_OPTS="$(findmnt -no OPTIONS /)" + +OPTIONS="rw quiet" + +# LUKS +if [[ "$ROOT_SRC" == /dev/mapper/* ]]; then + UUID="$(blkid -s UUID -o value "$ROOT_SRC" || true)" + if [ -n "$UUID" ]; then + OPTIONS="cryptdevice=UUID=$UUID:cryptroot root=/dev/mapper/cryptroot $OPTIONS" + else + OPTIONS="root=$ROOT_SRC $OPTIONS" + fi +else + PARTUUID="$(blkid -s PARTUUID -o value "$ROOT_SRC" || true)" + [ -n "$PARTUUID" ] && OPTIONS="root=PARTUUID=$PARTUUID $OPTIONS" +fi + +# -------------------------------------------------- +# Btrfs subvolume support +# -------------------------------------------------- +if [ "$ROOT_FS" = "btrfs" ]; then + SUBVOL="$(echo "$ROOT_OPTS" | tr ',' '\n' | grep '^subvol=' || true)" + [ -n "$SUBVOL" ] && OPTIONS="$OPTIONS rootflags=$SUBVOL" +fi + +mkdir -p "$ENTRY_DIR" + +case "$COMMAND" in + add) + { + echo "title RaveOS Linux (CachyOS Kernel)" + echo "linux $LINUX_IMAGE" + [ -n "$MICROCODE" ] && echo "initrd $MICROCODE" + echo "initrd $INITRAMFS_IMAGE" + echo "options $OPTIONS" + } > "$ENTRY_FILE" + ;; + + remove) + # Only remove entry if this was the last CachyOS kernel + rm -f "$ENTRY_FILE" + ;; + + *) + exit 0 + ;; +esac + diff --git a/releng/bootstrap_packages b/releng/bootstrap_packages new file mode 100644 index 0000000..64966d0 --- /dev/null +++ b/releng/bootstrap_packages @@ -0,0 +1,2 @@ +arch-install-scripts +base diff --git a/releng/efiboot/loader/entries/01-archiso-linux.conf b/releng/efiboot/loader/entries/01-archiso-linux.conf new file mode 100644 index 0000000..23f917d --- /dev/null +++ b/releng/efiboot/loader/entries/01-archiso-linux.conf @@ -0,0 +1,5 @@ +title RaveOS install medium (%ARCH%, UEFI) +sort-key 01 +linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% cow_spacesize=4G copytoram=n diff --git a/releng/efiboot/loader/entries/03-archiso-memtest86+x64.conf b/releng/efiboot/loader/entries/03-archiso-memtest86+x64.conf new file mode 100644 index 0000000..7a0ef5e --- /dev/null +++ b/releng/efiboot/loader/entries/03-archiso-memtest86+x64.conf @@ -0,0 +1,4 @@ +title Memtest86+ +sort-key 03 +efi /boot/memtest86+/memtest.efi +architecture x64 diff --git a/releng/efiboot/loader/loader.conf b/releng/efiboot/loader/loader.conf new file mode 100644 index 0000000..0384b10 --- /dev/null +++ b/releng/efiboot/loader/loader.conf @@ -0,0 +1,3 @@ +timeout 15 +default 01-archiso-linux.conf +beep off diff --git a/releng/grub/grub.cfg b/releng/grub/grub.cfg new file mode 100644 index 0000000..2d191ae --- /dev/null +++ b/releng/grub/grub.cfg @@ -0,0 +1,105 @@ +# Load partition table and file system modules +insmod part_gpt +insmod part_msdos +insmod fat +insmod iso9660 +insmod ntfs +insmod ntfscomp +insmod exfat +insmod udf + +# Use graphics-mode output +if loadfont "${prefix}/fonts/unicode.pf2" ; then + insmod all_video + set gfxmode="auto" + terminal_input console + terminal_output console +fi + +# Enable serial console +insmod serial +insmod usbserial_common +insmod usbserial_ftdi +insmod usbserial_pl2303 +insmod usbserial_usbdebug +if serial --unit=0 --speed=115200; then + terminal_input --append serial + terminal_output --append serial +fi + +# Get a human readable platform identifier +if [ "${grub_platform}" == 'efi' ]; then + archiso_platform='UEFI' +elif [ "${grub_platform}" == 'pc' ]; then + archiso_platform='BIOS' +else + archiso_platform="${grub_cpu}-${grub_platform}" +fi + +# Set default menu entry +default=archlinux +timeout=15 +timeout_style=menu + + +# Menu entries + +menuentry "RaveOS Install Medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'raveos' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% + initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +} + +if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest.efi + } +fi +if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest + } +fi +if [ "${grub_platform}" == 'efi' ]; then + if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellx64.efi + } + elif [ "${grub_cpu}" == 'i386' -a -f '/shellia32.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellia32.efi + } + elif [ "${grub_cpu}" == 'arm64' -a -f '/shellaa64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellaa64.efi + } + elif [ "${grub_cpu}" == 'riscv64' -a -f '/shellriscv64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellriscv64.efi + } + elif [ "${grub_cpu}" == 'loongarch64' -a -f '/shellloongarch64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellloongarch64.efi + } + fi + + menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { + fwsetup + } +fi + +menuentry 'System shutdown' --class shutdown --class poweroff { + echo 'System shutting down...' + halt +} + +menuentry 'System restart' --class reboot --class restart { + echo 'System rebooting...' + reboot +} + + +# GRUB init tune for accessibility +play 600 988 1 1319 4 diff --git a/releng/grub/loopback.cfg b/releng/grub/loopback.cfg new file mode 100644 index 0000000..6020fbd --- /dev/null +++ b/releng/grub/loopback.cfg @@ -0,0 +1,78 @@ +# https://www.supergrubdisk.org/wiki/Loopback.cfg + +# Search for the ISO volume +search --no-floppy --set=archiso_img_dev --file "${iso_path}" +probe --set archiso_img_dev_uuid --fs-uuid "${archiso_img_dev}" + +# Get a human readable platform identifier +if [ "${grub_platform}" == 'efi' ]; then + archiso_platform='UEFI' +elif [ "${grub_platform}" == 'pc' ]; then + archiso_platform='BIOS' +else + archiso_platform="${grub_cpu}-${grub_platform}" +fi + +# Set default menu entry +default=archlinux +timeout=15 +timeout_style=menu + + +# Menu entries + +menuentry "RaveOS Cosmic install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-cachyos archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" + initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-cachyos.img +} + +if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest.efi + } +fi +if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest + } +fi +if [ "${grub_platform}" == 'efi' ]; then + if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellx64.efi + } + elif [ "${grub_cpu}" == 'i386' -a -f '/shellia32.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellia32.efi + } + elif [ "${grub_cpu}" == 'arm64' -a -f '/shellaa64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellaa64.efi + } + elif [ "${grub_cpu}" == 'riscv64' -a -f '/shellriscv64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellriscv64.efi + } + elif [ "${grub_cpu}" == 'loongarch64' -a -f '/shellloongarch64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellloongarch64.efi + } + fi + + menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { + fwsetup + } +fi + +menuentry 'System shutdown' --class shutdown --class poweroff { + echo 'System shutting down...' + halt +} + +menuentry 'System restart' --class reboot --class restart { + echo 'System rebooting...' + reboot +} diff --git a/releng/packages.x86_64 b/releng/packages.x86_64 new file mode 100644 index 0000000..3a6f879 --- /dev/null +++ b/releng/packages.x86_64 @@ -0,0 +1,187 @@ +alsa-utils +amd-ucode +arch-install-scripts +archinstall +b43-fwcutter +base +bcachefs-tools +bind +bolt +brltty +broadcom-wl-dkms +dkms +linux-headers +btrfs-progs +clonezilla +cloud-init +cryptsetup +darkhttpd +ddrescue +dhcpcd +diffutils +dmidecode +dmraid +dnsmasq +dosfstools +e2fsprogs +edk2-shell +efibootmgr +espeakup +ethtool +exfatprogs +f2fs-tools +fatresize +foot-terminfo +fsarchiver +gpart +gpm +gptfdisk +grml-zsh-config +grub +hdparm +hyperv +intel-ucode +irssi +iw +iwd +jfsutils +kitty-terminfo +ldns +less +lftp +libfido2 +libusb-compat +linux +linux-atm +linux-firmware +linux-firmware-atheros +linux-firmware-broadcom +linux-firmware-intel +linux-firmware-marvell +linux-firmware-mediatek +linux-firmware-qcom +livecd-sounds +lsb-release +lsscsi +lvm2 +lynx +man-db +man-pages +mc +mdadm +memtest86+ +memtest86+-efi +mkinitcpio +mkinitcpio-archiso +mkinitcpio-nfs-utils +mmc-utils +modemmanager +mtools +nano +nbd +ndisc6 +nfs-utils +nilfs-utils +nmap +ntfs-3g +nvme-cli +open-iscsi +open-vm-tools +openconnect +openpgp-card-tools +openssh +openvpn +partclone +parted +partimage +pcsclite +ppp +pptpclient +pv +qemu-guest-agent +refind +reflector +rsync +rxvt-unicode-terminfo +screen +sdparm +sequoia-sq +sg3_utils +smartmontools +sof-firmware +squashfs-tools +sudo +syslinux +systemd-resolvconf +tcpdump +terminus-font +testdisk +tmux +tpm2-tools +tpm2-tss +udftools +usb_modeswitch +usbmuxd +usbutils +vim +virtualbox-guest-utils-nox +vpnc +wireless-regdb +wireless_tools +wpa_supplicant +wvdial +xdg-utils +xfsprogs +xl2tpd +zsh +spice-vdagent +bash-completion + +# Calamares and additional packages +calamares +raveos-calamares-theme +raveos-calamares-module +raveos-gnome-theme +qt6-base +qt6-svg +qt6-declarative +qt6-tools +polkit +frameworkintegration +os-prober + +# Fonts +noto-fonts +noto-fonts-cjk +noto-fonts-emoji +noto-fonts-extra + +# Minimal Xsession +openbox +xorg-server +xorg-xinit +xorg-xset +xterm +sudo +nano +networkmanager + +# Chaotic-AUR +chaotic-keyring +chaotic-mirrorlist +archlinux-keyring + +# Yay +yay-bin + +# Terminal greeting +fastfetch + +# Ad blocker (rave upgrade) +hblock + +# Bluetooth +bluez +bluez-libs +bluez-tools +bluez-utils
\ No newline at end of file diff --git a/releng/pacman.conf b/releng/pacman.conf new file mode 100644 index 0000000..ebe4585 --- /dev/null +++ b/releng/pacman.conf @@ -0,0 +1,108 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# 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 = gnome-session gnome-console gedit gnome-disk-utility gnome-system-monitor eog gnome-calculator baobab gnome-control-center gnome-tweaks gnome-browser-connector gnome-settings-daemon nautilus gnome-shell-extensions mutter +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +Color +#NoProgressBar +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists +ILoveCandy +ParallelDownloads = 5 +#DownloadUser = alpm +#DisableSandbox + +# 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. + +#[core-testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +#[extra-testing] +#Include = /etc/pacman.d/mirrorlist + +[extra] +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 + +[raveos-core-repo] +SigLevel = Never TrustAll +Server = https://page.rp1.hu/x86_64/ + +[chaotic-aur] +Include = /etc/pacman.d/chaotic-mirrorlist diff --git a/releng/profiledef.sh b/releng/profiledef.sh new file mode 100644 index 0000000..959862f --- /dev/null +++ b/releng/profiledef.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2034 + +iso_name="raveos" +iso_label="raveos_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)" +iso_publisher="RaveOS" +iso_application="RaveOS Live/Rescue DVD" +iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" +install_dir="arch" +buildmodes=('iso') +bootmodes=('bios.syslinux' + 'uefi.systemd-boot') +pacman_conf="pacman.conf" +airootfs_image_type="squashfs" +airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M') +bootstrap_tarball_compression=('zstd' '-c' '-T0' '--auto-threads=logical' '--long' '-19') +file_permissions=( + ["/etc/shadow"]="0:0:400" + ["/etc/gshadow"]="0:0:400" + ["/root"]="0:0:750" + ["/root/.automated_script.sh"]="0:0:755" + ["/root/.gnupg"]="0:0:700" + ["/root/.loader.conf"]="0:0:755" + ["/usr/local/bin/choose-mirror"]="0:0:755" + ["/usr/local/bin/Installation_guide"]="0:0:755" + ["/usr/local/bin/livecd-sound"]="0:0:755" + ["/etc/pacman.d/chaotic-mirrorlist"]="0:0:644" + ["/etc/pacman.d/mirrorlist"]="0:0:644" + ["/etc/pacman.d/hooks/reflector-mirrorlist.hook"]="0:0:644" + ["/etc/group"]="0:0:400" + ["/root/.config/openbox/autostart"]="0:0:755" + ["/etc/profile.d/autostart.sh"]="0:0:755" + ["/usr/share/calamares/kernel-install/95-raveos.install"]="0:0:755" +) diff --git a/releng/syslinux/archiso_head.cfg b/releng/syslinux/archiso_head.cfg new file mode 100644 index 0000000..671ab4e --- /dev/null +++ b/releng/syslinux/archiso_head.cfg @@ -0,0 +1,28 @@ +SERIAL 0 115200 +UI vesamenu.c32 +MENU TITLE Arch Linux +MENU BACKGROUND splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to https://wiki.syslinux.org/wiki/index.php/Comboot/menu.c32 + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std + +MENU CLEAR +MENU IMMEDIATE diff --git a/releng/syslinux/archiso_pxe-linux.cfg b/releng/syslinux/archiso_pxe-linux.cfg new file mode 100644 index 0000000..872aae8 --- /dev/null +++ b/releng/syslinux/archiso_pxe-linux.cfg @@ -0,0 +1,32 @@ +LABEL arch_nbd +TEXT HELP +Boot the Arch Linux install medium using NBD. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (%ARCH%, NBD) +LINUX ::/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD ::/%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y +SYSAPPEND 3 + +LABEL arch_nfs +TEXT HELP +Boot the Arch Linux live medium using NFS. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (%ARCH%, NFS) +LINUX ::/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD ::/%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y +SYSAPPEND 3 + +LABEL arch_http +TEXT HELP +Boot the Arch Linux live medium using HTTP. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (%ARCH%, HTTP) +LINUX ::/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD ::/%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y +SYSAPPEND 3 diff --git a/releng/syslinux/archiso_pxe.cfg b/releng/syslinux/archiso_pxe.cfg new file mode 100644 index 0000000..b4c9a80 --- /dev/null +++ b/releng/syslinux/archiso_pxe.cfg @@ -0,0 +1,5 @@ +INCLUDE archiso_head.cfg + +INCLUDE archiso_pxe-linux.cfg + +INCLUDE archiso_tail.cfg diff --git a/releng/syslinux/archiso_sys-linux.cfg b/releng/syslinux/archiso_sys-linux.cfg new file mode 100644 index 0000000..d945c7a --- /dev/null +++ b/releng/syslinux/archiso_sys-linux.cfg @@ -0,0 +1,20 @@ +LABEL arch +TEXT HELP +Boot the Arch Linux install medium on BIOS. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (%ARCH%, BIOS) +LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% + +# Accessibility boot option +LABEL archspeech +TEXT HELP +Boot the Arch Linux install medium on BIOS with speakup screen reader. +It allows you to install Arch Linux or perform system maintenance with speech feedback. +ENDTEXT +MENU LABEL Arch Linux install medium (%ARCH%, BIOS) with ^speech +LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on diff --git a/releng/syslinux/archiso_sys.cfg b/releng/syslinux/archiso_sys.cfg new file mode 100644 index 0000000..662482c --- /dev/null +++ b/releng/syslinux/archiso_sys.cfg @@ -0,0 +1,8 @@ +INCLUDE archiso_head.cfg + +DEFAULT arch +TIMEOUT 150 + +INCLUDE archiso_sys-linux.cfg + +INCLUDE archiso_tail.cfg diff --git a/releng/syslinux/archiso_tail.cfg b/releng/syslinux/archiso_tail.cfg new file mode 100644 index 0000000..e84897c --- /dev/null +++ b/releng/syslinux/archiso_tail.cfg @@ -0,0 +1,35 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 chain.c32 +APPEND hd0 0 + +# https://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX /boot/memtest86+/memtest + +# https://wiki.syslinux.org/wiki/index.php/Hdt_(Hardware_Detection_Tool) +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 hdt.c32 +APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz + +LABEL reboot +TEXT HELP +Reboot computer. +The computer's firmware must support APM. +ENDTEXT +MENU LABEL Reboot +COM32 reboot.c32 + +LABEL poweroff +TEXT HELP +Power off computer. +The computer's firmware must support APM. +ENDTEXT +MENU LABEL Power Off +COM32 poweroff.c32 diff --git a/releng/syslinux/splash.png b/releng/syslinux/splash.png Binary files differnew file mode 100644 index 0000000..64b959a --- /dev/null +++ b/releng/syslinux/splash.png diff --git a/releng/syslinux/syslinux.cfg b/releng/syslinux/syslinux.cfg new file mode 100644 index 0000000..cbda72f --- /dev/null +++ b/releng/syslinux/syslinux.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG archiso_pxe.cfg + +LABEL sys +CONFIG archiso_sys.cfg |