diff options
| author | Nippy <nippy@Nippy-Mac-mini.local> | 2026-10-09 12:53:18 +0200 |
|---|---|---|
| committer | Nippy <nippy@Nippy-Mac-mini.local> | 2026-10-09 12:53:18 +0200 |
| commit | 224347aee80daad096556250a2939d9e3fd31880 (patch) | |
| tree | 9ef025a5ecb08f8a70bc7d15606916d3b1fa3be7 | |
| parent | 44d4aa3cb4688ffb45ef234f9cebbe00dc51b8d0 (diff) | |
| download | RaveOS-build-iso-224347aee80daad096556250a2939d9e3fd31880.tar.gz RaveOS-build-iso-224347aee80daad096556250a2939d9e3fd31880.zip | |
fix
35 files changed, 147 insertions, 155 deletions
diff --git a/.forgejo/workflows/build-iso.yml b/.forgejo/workflows/build-iso.yml index 6284e78..80723a2 100644 --- a/.forgejo/workflows/build-iso.yml +++ b/.forgejo/workflows/build-iso.yml @@ -23,12 +23,11 @@ jobs: mkdir -p "${GITHUB_WORKSPACE}/.tmp" df -h - - name: Fix raveos-core-repo pacman repo (overwrite clean, first in order) + - name: Fix raveos-core-repo pacman repo (overwrite clean) run: | set -euo pipefail sudo sed -i '/^\[raveos-core-repo\]/,/^$/d' /etc/pacman.conf sudo sed -i '/^\[core\]/i\[raveos-core-repo]\nSigLevel = Required DatabaseOptional\nServer = https://page.rp1.hu/x86_64/\n' /etc/pacman.conf - echo "=== repo sorrend ellenorzes:" grep -n '^\[raveos-core-repo\]\|^\[core\]' /etc/pacman.conf - name: Verify archiso @@ -186,11 +185,9 @@ jobs: echo "${{ secrets.VPS_RELEASE_KEY }}" > ~/.ssh/vps_release_key chmod 600 ~/.ssh/vps_release_key - # Új ISO feltöltése scp -i ~/.ssh/vps_release_key -P ${{ secrets.VPS_PORT }} -o StrictHostKeyChecking=no \ "$ISO_FILE" "${{ secrets.VPS_USER }}@${{ secrets.VPS_HOST }}:${{ secrets.VPS_RELEASES_PATH }}/${ISO_NAME}" - # 3-nál régebbi ISO-k törlése a VPS-ről ssh -i ~/.ssh/vps_release_key -p ${{ secrets.VPS_PORT }} -o StrictHostKeyChecking=no \ ${{ secrets.VPS_USER }}@${{ secrets.VPS_HOST }} "ls -t ${{ secrets.VPS_RELEASES_PATH }}/*.iso 2>/dev/null | tail -n +4 | xargs -r rm -f" @@ -228,7 +225,6 @@ jobs: [[ "$RELEASE_ID" =~ ^[0-9]+$ ]] || { echo "HIBA: Ervenytelen RELEASE_ID: $RELEASE_ID"; exit 1; } echo "Release ID: $RELEASE_ID" - # External link hozzáadása attachment helyett curl -f -s --retry 3 \ -X POST "https://git.rp1.hu/api/v1/repos/RaveOS/RaveOS-Releases/releases/${RELEASE_ID}/assets?external_url=https://release.rp1.hu/${ISO_NAME}" \ -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ @@ -239,7 +235,6 @@ jobs: echo "TAG=${TAG}" >> "$GITHUB_ENV" echo "ISO_SHA256=${ISO_SHA256}" >> "$GITHUB_ENV" - # Regi release-ek torlese (3-nal tobbet nem tartunk) RELEASES=$(curl -f -s --retry 3 --retry-delay 5 \ "https://git.rp1.hu/api/v1/repos/RaveOS/RaveOS-Releases/releases?limit=50" \ -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}") @@ -296,6 +291,68 @@ jobs: bash scripts/discord-notify.sh "${DISCORD_WEBHOOK}" "${TAG}" "${ISO_NAME}" "${ISO_SHA256}" + - name: Update website release data (rp1-blog) + if: success() + env: + RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }} + TAG: ${{ env.TAG }} + ISO_NAME: ${{ env.ISO_NAME }} + ISO_SHA256: ${{ env.ISO_SHA256 }} + run: | + set -euo pipefail + if [ -z "${RELEASE_TOKEN:-}" ] || [ -z "${ISO_NAME:-}" ] || [ -z "${ISO_SHA256:-}" ]; then + echo "FIGYELMEZTETES: hianyzo adatok, weboldal frissites kihagyva" + exit 0 + fi + + ISO_FILE=$(ls output/*.iso 2>/dev/null | head -1 || true) + SIZE_FMT="2.3 GB" + if [ -n "${ISO_FILE:-}" ]; then + SIZE_RAW=$(du -h "$ISO_FILE" | cut -f1) + SIZE_FMT=$(echo "$SIZE_RAW" | sed 's/G$/ GB/; s/M$/ MB/') + fi + export SIZE_FMT + + python3 - <<'PY' + import base64, json, os, urllib.request + from datetime import date + + token = os.environ["RELEASE_TOKEN"] + iso_name = os.environ["ISO_NAME"] + iso_sha = os.environ["ISO_SHA256"] + tag = os.environ.get("TAG", "").lstrip("v") + size_fmt = os.environ.get("SIZE_FMT") or "2.3 GB" + + api = "https://git.rp1.hu/api/v1/repos/RaveOS/rp1-blog/contents/src/_data/releases.json" + hdr = {"Authorization": "token " + token, "Content-Type": "application/json"} + + with urllib.request.urlopen(urllib.request.Request(api, headers=hdr), timeout=30) as r: + data = json.load(r) + + doc = json.loads(base64.b64decode(data["content"]).decode()) + latest = doc.setdefault("latest", {}) + latest["version"] = tag or latest.get("version", "") + latest["codename"] = ("RaveOS v" + tag) if tag else latest.get("codename", "") + latest["releaseDate"] = date.today().isoformat() + latest["isoFilename"] = iso_name + latest["isoSize"] = size_fmt + latest["sha256"] = iso_sha + latest["downloadUrl"] = latest.get("downloadUrl") or "https://links.rp1.hu/raveos-download" + + new_content = json.dumps(doc, ensure_ascii=False, indent=2) + "\n" + body = json.dumps({ + "content": base64.b64encode(new_content.encode()).decode(), + "sha": data["sha"], + "message": "release " + (tag or iso_name), + "branch": "main", + }).encode() + + req = urllib.request.Request(api, data=body, headers=hdr, method="PUT") + with urllib.request.urlopen(req, timeout=30) as r: + result = json.load(r) + print("Weboldal adatok frissitve, commit:", result.get("commit", {}).get("sha", "?")) + PY + - name: Cleanup (SAFE) if: always() run: | @@ -1,4 +1,4 @@ -# RaveOS — ISO Build.... +# RaveOS - ISO Build.... Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizált telepítővel és teljes témarendszerrel. # @@ -134,7 +134,7 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá #### `[theme]` COSMIC billentyűzet-kiosztás javítás - A `raveos-cosmic-apply.sh` boot-kor, bejelentkezés előtt beírja a Calamares által választott kiosztást a `~/.config/cosmic/com.system76.CosmicComp/v1/xkb_config`-ba - (skel + meglévő userek) — korábban rossz fájlba írt, ezért a COSMIC angol + (skel + meglévő userek) - korábban rossz fájlba írt, ezért a COSMIC angol billentyűzettel indult. - `raveos-cosmic-first-login.sh`: a helyes `xkb_config` fájlba és RON formátumba ír. @@ -193,13 +193,13 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá #### `[calamares]` GNOME Wayland billentyűzet-kiosztás javítás - `raveos-calamares-theme/etc/calamares/modules/keyboard.conf` létrehozva - (`configure: { gnome: true, useLocale1: true }`) — eddig a Calamares gyári + (`configure: { gnome: true, useLocale1: true }`) - eddig a Calamares gyári `gnome: false` alapértéke miatt a telepítéskor választott billentyűzetkiosztás nem érvényesült a GNOME Wayland session-ben #### `[app]` App Installer: Kdenlive flatpak-ra, Steam proton-cachyos-slr javítás - `kdenlive`: pacman → `flatpak-user` (`org.kde.kdenlive`) -- Steam telepítő script: `proton-cachyos` → `proton-cachyos-slr` — a `proton-cachyos` +- Steam telepítő script: `proton-cachyos` → `proton-cachyos-slr` - a `proton-cachyos` önmagában nem is létezik csomagként a chaotic-aur-ban, csak `-native`/`-slr` variánsok, emiatt a helytelen (natív) build került be korábban @@ -209,17 +209,17 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá #### `[calamares]` Vivaldi felvéve a kötelező csomagok közé - `desktopselect.conf` `mandatory_packages`: `vivaldi` hozzáadva (hivatalos Arch - `extra` csomag) — eddig egyik asztali környezetnél sem volt alapértelmezett + `extra` csomag) - eddig egyik asztali környezetnél sem volt alapértelmezett böngésző, emiatt pl. a `raveos-welcome` támogatás-linkje sem tudott megnyílni #### `[iso]` `raveos-core-repo` redundáns mirror + `Include=`-alapú mirrorlist - `[raveos-core-repo]` `pacman.conf`-ban az eddigi közvetlen `Server=` sor helyett - `Include = /etc/pacman.d/raveos-core-mirrorlist` — a mirrorlist tartalmát mostantól + `Include = /etc/pacman.d/raveos-core-mirrorlist` - a mirrorlist tartalmát mostantól a `raveos-mirrorlist` csomag szolgáltatja (meglévő telepítéseken automatikusan átállítja a configot egy install-hook, ha még a régi formátumban van) - Az élő ISO-ba közvetlenül bekerül a `raveos-core-mirrorlist` fájl is, benne az elsődleges (`page.rp1.hu`) és a tartalék GitHub Releases szerver - (`github.com/rave-os/RaveOS-core-repo-mirror`) — ha az elsődleges nem elérhető, + (`github.com/rave-os/RaveOS-core-repo-mirror`) - ha az elsődleges nem elérhető, pacman automatikusan átvált #### `[iso]` `raveos-core-repo` publikálás: git → rsync átállás, adatbázis-hibák javítva @@ -231,7 +231,7 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá #### `[iso]` `chaotic-mirrorlist` felesleges `.pacnew` elkerülése - A `chaotic-rankmirrors.service` minden boot-kor élő méréssel felülírja a `chaotic-mirrorlist` tartalmát, emiatt egy csomagfrissítéskor pacman `.pacnew`-t - hozott létre rá feleslegesen — `NoUpgrade = etc/pacman.d/chaotic-mirrorlist` + hozott létre rá feleslegesen - `NoUpgrade = etc/pacman.d/chaotic-mirrorlist` hozzáadva a `pacman.conf`-hoz, hogy pacman ne is próbálja kezelni ezt a fájlt ## Build 2026-07-18 @@ -246,24 +246,24 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá - Záró biztonsági háló a telepítés végén (`calamares-fix-bootentry.sh`): ha valamelyik bejegyzésből mégis hiányozna a `root=`, az `/etc/fstab`-ból pótolja #### `[calamares]` Btrfs subvolume-elrendezés bevezetve -- Eddig `erase` módban egyetlen lapos `@` subvolume jött létre — nincs elkülönítve semmi +- Eddig `erase` módban egyetlen lapos `@` subvolume jött létre - nincs elkülönítve semmi - Mostantól archinstall-stílusú elrendezés (`partition.conf`): `@` → `/`, `@home` → `/home`, `@log` → `/var/log`, `@pkg` → `/var/cache/pacman/pkg`, `@snapshots` → `/.snapshots` - Előfeltétele a snapshot-alapú eszközöknek (`grub-btrfs`, Snapper) ## Build 2026-07-06 #### `[security]` GPG csomag-aláírás bevezetve -- `[raveos-core-repo]` `SigLevel` átállítva `Never TrustAll`-ról `Required DatabaseOptional`-ra — minden csomag aláírás-ellenőrzés kötelező, az adatbázis-aláírás opcionális -- `raveos-keyring` csomag hozzáadva a `packages.x86_64`-hez és a `shellprocess-pacstrap.conf` kezdeti pacstrap listájához — ez biztosítja hogy a célrendszer bizalma a kulcsban már a nagy csomag-batch előtt beálljon +- `[raveos-core-repo]` `SigLevel` átállítva `Never TrustAll`-ról `Required DatabaseOptional`-ra - minden csomag aláírás-ellenőrzés kötelező, az adatbázis-aláírás opcionális +- `raveos-keyring` csomag hozzáadva a `packages.x86_64`-hez és a `shellprocess-pacstrap.conf` kezdeti pacstrap listájához - ez biztosítja hogy a célrendszer bizalma a kulcsban már a nagy csomag-batch előtt beálljon #### `[iso]` `packages.x86_64` nagytakarítás -- ~70 elavult rescue/live-környezet/VM-guest csomag eltávolítva — RaveOS mára tisztán telepítő-orientált, nincs külön live/rescue pozicionálás -- `yay-bin` eltávolítva (a `packages.x86_64`-ből és a `shellprocess-pacstrap.conf`-ból is) — pacman repo-elsőbbség miatt ha nálunk van pinnelve, sosem frissül a Chaotic-AUR-ról; most szabadon a Chaotic-AUR-ról jön -- `bluez`/`bluez-libs`/`bluez-tools`/`bluez-utils` és `hblock` átkerült a `packages.x86_64`-ből (élő ISO) a `desktopselect.conf` mandatory_packages-ébe (végleges rendszer) — az élő médiumon nem kellenek, de a telepített rendszeren igen -- `cow_spacesize=75%` — a korábbi hiányzó érték miatt az archiso alapértelmezett 256M-re esett vissza (az eredeti szándék 4G volt) +- ~70 elavult rescue/live-környezet/VM-guest csomag eltávolítva - RaveOS mára tisztán telepítő-orientált, nincs külön live/rescue pozicionálás +- `yay-bin` eltávolítva (a `packages.x86_64`-ből és a `shellprocess-pacstrap.conf`-ból is) - pacman repo-elsőbbség miatt ha nálunk van pinnelve, sosem frissül a Chaotic-AUR-ról; most szabadon a Chaotic-AUR-ról jön +- `bluez`/`bluez-libs`/`bluez-tools`/`bluez-utils` és `hblock` átkerült a `packages.x86_64`-ből (élő ISO) a `desktopselect.conf` mandatory_packages-ébe (végleges rendszer) - az élő médiumon nem kellenek, de a telepített rendszeren igen +- `cow_spacesize=75%` - a korábbi hiányzó érték miatt az archiso alapértelmezett 256M-re esett vissza (az eredeti szándék 4G volt) #### `[calamares]` Telepítési hibajavítások (valódi telepítési tesztekkel feltárva) -- `lsb-release` visszaállítva a csomaglistába — hiánya a `shellprocess-branding.conf`-ot törte +- `lsb-release` visszaállítva a csomaglistába - hiánya a `shellprocess-branding.conf`-ot törte - `raveos-kde-theme` → helyes név `raveos-plasma-theme` (két helyen: `desktopselect.conf` és `shellprocess-final.conf` auto-apply ellenőrzés) - `plasma-bigscreen` eltávolítás `-Rns`-ről `-Rcns`-re javítva (a `-Rns` némán elhasalt függőség-ütközésen) - `raveos-sddm-theme`: `qt6-multimedia` függőség hozzáadva (SDDM alapértelmezett megjelenésre esett vissza nélküle) @@ -279,10 +279,10 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá ### Build 2026-05-10 -#### `[iso]` chaotic-rankmirrors — automatikus mirror rangsoroló +#### `[iso]` chaotic-rankmirrors - automatikus mirror rangsoroló - Boot után automatikusan teszteli az összes Chaotic-AUR mirrort válaszidő (TTFB) alapján - A top 5 leggyorsabb mirrort írja be a `/etc/pacman.d/chaotic-mirrorlist`-be -- `After=network-online.target` — mire a Calamares indul, már a legjobb mirror aktív +- `After=network-online.target` - mire a Calamares indul, már a legjobb mirror aktív - Tesztelt mirrorok: de, cdn, geo, pl, nl, ch, se, fr, gb és régióspecifikus variánsaik #### `[iso]` Mirror optimalizálás @@ -294,12 +294,12 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá #### `[ci]` Build workflow javítások - Runner verzió eltérésnél automatikus `pacman -Syu` fut le, nem épít hibát -- ISO mount loop eszköz hiba kezelés javítva — ha a loop eszköz nem elérhető, figyelmeztetés helyett folytatódik a build +- ISO mount loop eszköz hiba kezelés javítva - ha a loop eszköz nem elérhető, figyelmeztetés helyett folytatódik a build - ISO feltöltés: részletesebb logolás, `-f` flag hozzáadva - Régi release-ek automatikus törlése: mindig csak az utolsó 3 marad #### `[ci]` raveos-core-repo repoadd workflow javítás -- `actions/checkout@v4` lecserélve manuális SSH klónra — az HTTPS-en keresztüli nagy bináris repo (1.8GB) SSL EOF hibát okozott Nginx mögött +- `actions/checkout@v4` lecserélve manuális SSH klónra - az HTTPS-en keresztüli nagy bináris repo (1.8GB) SSL EOF hibát okozott Nginx mögött - SSH klón megkerüli az SSL terminálást, stabil nagy repo esetén is ### Build 2026-04-08 @@ -319,49 +319,49 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá #### `[app]` RaveOS App Installer -- **rave CLI integráció** — `rave` rendszer karbantartó parancs (upgrade, clean, autoremove, install, remove, search, stb.) és bash completion (`rave-comp.sh`) beépítve a csomagba. Orphan cleanup guard fix (`pacman -Qtdq` üres → skip). -- **13 dconf INI fájl** — 6 új beállítás fájl: `nautilus.ini` (tree-view, show-hidden), `media-keys.ini` (Ctrl+Alt+T = Terminal), `peripherals.ini` (numlock, flat mouse), `session.ini` (idle-delay 900), `app-folders.ini` (System mappa), `gtk4-file-chooser.ini` (sort-directories-first). 2 frissített: `shell.ini`, `extensions.ini`. -- **Hidden apps** — 6 felesleges alkalmazás (`bssh`, `bvnc`, `avahi-discover`, `vim`, `qvidcap`, `qv4l2`) elrejtése NoDisplay=true override-dal a `~/.local/share/applications/` mappában. -- **dash-to-dock frissítés** — fekete háttér, 33% átlátszóság, 44px ikonok, DOTS running indicator stílus, minimize-or-overview kattintás. -- **burn-my-windows** — `aura-glow-animation-time=444` hozzáadva. +- **rave CLI integráció** - `rave` rendszer karbantartó parancs (upgrade, clean, autoremove, install, remove, search, stb.) és bash completion (`rave-comp.sh`) beépítve a csomagba. Orphan cleanup guard fix (`pacman -Qtdq` üres → skip). +- **13 dconf INI fájl** - 6 új beállítás fájl: `nautilus.ini` (tree-view, show-hidden), `media-keys.ini` (Ctrl+Alt+T = Terminal), `peripherals.ini` (numlock, flat mouse), `session.ini` (idle-delay 900), `app-folders.ini` (System mappa), `gtk4-file-chooser.ini` (sort-directories-first). 2 frissített: `shell.ini`, `extensions.ini`. +- **Hidden apps** - 6 felesleges alkalmazás (`bssh`, `bvnc`, `avahi-discover`, `vim`, `qvidcap`, `qv4l2`) elrejtése NoDisplay=true override-dal a `~/.local/share/applications/` mappában. +- **dash-to-dock frissítés** - fekete háttér, 33% átlátszóság, 44px ikonok, DOTS running indicator stílus, minimize-or-overview kattintás. +- **burn-my-windows** - `aura-glow-animation-time=444` hozzáadva. - **blur-my-shell, vitals, shutdowntimer** beállítások frissítése. -- **SHA256 manifest** — 623 fájl, 0 FAIL. +- **SHA256 manifest** - 623 fájl, 0 FAIL. #### `[theme]` profile.d export fix -- **profile.d export bug javítás** — `export _RAVEOS_GREETING_DONE=1` → `_RAVEOS_GREETING_DONE=1` (export nélkül). A GDM login shellje source-olja a `/etc/profile.d/` scripteket → `export` esetén a változó öröklődik a gnome-session és minden gyerek processzhez → a guard blokkolta a fastfetch-et minden terminálon. Fix: shell-local változó, nem öröklődik. +- **profile.d export bug javítás** - `export _RAVEOS_GREETING_DONE=1` → `_RAVEOS_GREETING_DONE=1` (export nélkül). A GDM login shellje source-olja a `/etc/profile.d/` scripteket → `export` esetén a változó öröklődik a gnome-session és minden gyerek processzhez → a guard blokkolta a fastfetch-et minden terminálon. Fix: shell-local változó, nem öröklődik. #### `[iso]` Csomagok -- **`hblock` hozzáadva** a `packages.x86_64`-hez — a `rave upgrade` parancs használja, nélküle "command not found" hiba volt. +- **`hblock` hozzáadva** a `packages.x86_64`-hez - a `rave upgrade` parancs használja, nélküle "command not found" hiba volt. #### `[theme]` Terminál és SHA256 javítások -- **GNOME Console terminál téma javítás** — a `/etc/profile.d/` scriptek csak login shellben futnak, de a GNOME Console (kgx) nem login shellt indít. Megoldás: `.bashrc` snippet hozzáadva, ami source-olja a profile.d scriptet. Guard változó (`_RAVEOS_GREETING_DONE`) megakadályozza a dupla futást login shelleknél. -- **GNOME kitty telepítés javítás** — a GNOME téma többé nem telepíti automatikusan a kitty csomagot (csak `fastfetch`). A kitty konfig fájlok a témában maradnak, így ha a felhasználó kézzel felrakja a kitty-t, a téma azonnal érvényes. -- **Hyprland terminál támogatás bővítés** — a Hyprland `theme-data.tar.gz` mostantól tartalmazza a fastfetch, kitty és profile.d fájlokat (korábban hiányoztak). A `metadata.json` kiegészítve terminal szekciókkal, a kitty automatikusan települ. -- **SHA256 metadata.json javítás** — mindkét metadata.json (GNOME + Hyprland) frissítve, manifest újragenerálva, 437/437 fájl hash egyezik. +- **GNOME Console terminál téma javítás** - a `/etc/profile.d/` scriptek csak login shellben futnak, de a GNOME Console (kgx) nem login shellt indít. Megoldás: `.bashrc` snippet hozzáadva, ami source-olja a profile.d scriptet. Guard változó (`_RAVEOS_GREETING_DONE`) megakadályozza a dupla futást login shelleknél. +- **GNOME kitty telepítés javítás** - a GNOME téma többé nem telepíti automatikusan a kitty csomagot (csak `fastfetch`). A kitty konfig fájlok a témában maradnak, így ha a felhasználó kézzel felrakja a kitty-t, a téma azonnal érvényes. +- **Hyprland terminál támogatás bővítés** - a Hyprland `theme-data.tar.gz` mostantól tartalmazza a fastfetch, kitty és profile.d fájlokat (korábban hiányoztak). A `metadata.json` kiegészítve terminal szekciókkal, a kitty automatikusan települ. +- **SHA256 metadata.json javítás** - mindkét metadata.json (GNOME + Hyprland) frissítve, manifest újragenerálva, 437/437 fájl hash egyezik. ### Build 2026-02-26 #### `[app]` RaveOS App Installer -- **SHA256 integritásvédelem** — minden művelet (telepítés, törlés, mentés, visszaállítás, téma alkalmazás) blokkolva van, ha bármely követett fájl módosult. Az Infó oldalon valós idejű integritás állapot látható a módosult fájlok listájával. ISO telepítés alatt (Calamares) még nincs manifest, így az ellenőrzés nem blokkol. -- **Terminál üdvözlő rendszer** — a téma alkalmazás mostantól telepíti a fastfetch + kitty csomagokat és beállít egy rendszerszintű terminál üdvözlőt az `/etc/profile.d/`-n keresztül. GNOME Console-ban ASCII "RAVE OS" szöveges banner jelenik meg, Kitty terminálban a teljes bagoly logó PNG-ként a kitty grafikus protokollon keresztül. A kitty kép reszponzív — 8–24 sor között skálázódik a terminál magasságától függően. -- **Extension frissítés** — a `unity-like-appswitcher@gonza.com` lecserélve a karbantartott fork-ra: `unity-like-appswitcher-reforged@gabeszm` (magyar lokalizációval). -- **Téma oldal UI** — a GNOME és Hyprland téma kártyák most már vízszintesen középre igazítottak. -- **Hyprland terminál támogatás** — a `_setup_terminal()` hívás a `apply_gnome_theme()` és `apply_hyprland_theme()` függvényekből is meghívódik, így mindkét asztali környezet megkapja a fastfetch + kitty beállítást. -- **Verzió konzisztencia** — minden belépési pont (`main.py`, `bin/raveos-app-installer.py`) a központi `config.py`-ból importálja az `APP_VERSION`-t a beégetett stringek helyett. -- **Infó oldal** — alkalmazás verzió, lista verzió, téma verzió és SHA256 integritás állapot egyetlen kártya elrendezésben. +- **SHA256 integritásvédelem** - minden művelet (telepítés, törlés, mentés, visszaállítás, téma alkalmazás) blokkolva van, ha bármely követett fájl módosult. Az Infó oldalon valós idejű integritás állapot látható a módosult fájlok listájával. ISO telepítés alatt (Calamares) még nincs manifest, így az ellenőrzés nem blokkol. +- **Terminál üdvözlő rendszer** - a téma alkalmazás mostantól telepíti a fastfetch + kitty csomagokat és beállít egy rendszerszintű terminál üdvözlőt az `/etc/profile.d/`-n keresztül. GNOME Console-ban ASCII "RAVE OS" szöveges banner jelenik meg, Kitty terminálban a teljes bagoly logó PNG-ként a kitty grafikus protokollon keresztül. A kitty kép reszponzív - 8-24 sor között skálázódik a terminál magasságától függően. +- **Extension frissítés** - a `unity-like-appswitcher@gonza.com` lecserélve a karbantartott fork-ra: `unity-like-appswitcher-reforged@gabeszm` (magyar lokalizációval). +- **Téma oldal UI** - a GNOME és Hyprland téma kártyák most már vízszintesen középre igazítottak. +- **Hyprland terminál támogatás** - a `_setup_terminal()` hívás a `apply_gnome_theme()` és `apply_hyprland_theme()` függvényekből is meghívódik, így mindkét asztali környezet megkapja a fastfetch + kitty beállítást. +- **Verzió konzisztencia** - minden belépési pont (`main.py`, `bin/raveos-app-installer.py`) a központi `config.py`-ból importálja az `APP_VERSION`-t a beégetett stringek helyett. +- **Infó oldal** - alkalmazás verzió, lista verzió, téma verzió és SHA256 integritás állapot egyetlen kártya elrendezésben. #### `[theme]` GNOME Téma (theme-data.tar.gz) -- `fastfetch/config.jsonc` — szöveges logó konfig hagyományos terminálokhoz -- `fastfetch/config-kitty.jsonc` — PNG képes logó konfig "RaveOS Beta 2.0" fejléccel -- `fastfetch/raveos-logo.txt` — színes RAVE OS blokkbetűs banner (zöld + cián) -- `fastfetch/raveos-logo.png` — 256×256 optimalizált bagoly logó kitty protokollhoz -- `kitty/kitty.conf` — Nord sötét téma, JetBrains Mono betűtípus, 0.92 átlátszóság -- `profile.d/raveos-fastfetch.sh` — rendszerszintű üdvözlő script reszponzív képpel +- `fastfetch/config.jsonc` - szöveges logó konfig hagyományos terminálokhoz +- `fastfetch/config-kitty.jsonc` - PNG képes logó konfig "RaveOS Beta 2.0" fejléccel +- `fastfetch/raveos-logo.txt` - színes RAVE OS blokkbetűs banner (zöld + cián) +- `fastfetch/raveos-logo.png` - 256×256 optimalizált bagoly logó kitty protokollhoz +- `kitty/kitty.conf` - Nord sötét téma, JetBrains Mono betűtípus, 0.92 átlátszóság +- `profile.d/raveos-fastfetch.sh` - rendszerszintű üdvözlő script reszponzív képpel - Extension csere: `unity-like-appswitcher@gonza.com` → `unity-like-appswitcher-reforged@gabeszm` - `dconf/shell.ini` enabled-extensions lista frissítve az új extension UUID-val @@ -385,7 +385,7 @@ Arch Linux alapú egyedi disztribúció tőbb asztali környezettel, automatizá - Discord telepítő script tartalmazza a Vencord + OpenAsar modokat és pacman hookot az automatikus újratelepítéshez Discord frissítés után -### Build 2026-02-15 — Első béta +### Build 2026-02-15 - Első béta - Első nyilvános béta kiadás (`RaveOS-2.0-Beta`) - GNOME asztali környezet Yaru-olive-dark témával, zöld akcentussal @@ -16,7 +16,7 @@ echo " Output: $OUTDIR" echo " Work: $WORKDIR" echo "" -mkarchiso -v -w "$WORKDIR" -o "$OUTDIR" releng/ +mkarchiso -v -w "$WORKDIR" -o "$OUTDIR" -c "$CACHEDIR" releng/ echo "" echo "==> Build completed successfully!" diff --git a/plymouth-assets/generate_text_assets.py b/plymouth-assets/generate_text_assets.py index 1b6ee4a..068e2e0 100644 --- a/plymouth-assets/generate_text_assets.py +++ b/plymouth-assets/generate_text_assets.py @@ -1,23 +1,18 @@ #!/usr/bin/env python3 -"""Wordmark + tagline + status PNG-k generalasa a Plymouth temahoz. -Placeholder fontokkal (nincs Bebas Neue a rendszeren): Noto Sans Condensed -ExtraBold a wordmarkhoz, Ubuntu Mono a tagline/status szoveghez. -""" from PIL import Image, ImageDraw, ImageFont -SCALE = 3 # 3x render, majd a Plymouth script kicsinyiti - crisp marad +SCALE = 3 WORDMARK_FONT = "/usr/share/fonts/noto/NotoSans-CondensedExtraBold.ttf" MONO_FONT = "/usr/share/fonts/ubuntu/Ubuntu-B.ttf" MONO_FONT_REGULAR = "/usr/share/fonts/ubuntu/Ubuntu-R.ttf" -RAVE_COLOR = (232, 232, 230, 255) # #e8e8e6 -OS_COLOR = (98, 160, 82, 255) # #62a052 -MUTED_COLOR = (122, 125, 130, 255) # #7a7d82 +RAVE_COLOR = (232, 232, 230, 255) +OS_COLOR = (98, 160, 82, 255) +MUTED_COLOR = (122, 125, 130, 255) def draw_tracked_text(draw, xy, text, font, fill, tracking): - """Szoveg rajzolasa kezi betukoz-nyujtassal (PIL-nek nincs natix tracking).""" x, y = xy for ch in text: draw.text((x, y), ch, font=font, fill=fill) @@ -41,7 +36,7 @@ def make_wordmark(): d = ImageDraw.Draw(tmp) w_rave = measure_tracked(d, "RAVE", font, tracking) w_os = measure_tracked(d, "OS", font, tracking) - gap = tracking # a ket szo kozott is annyi hely mint a betukoz + gap = tracking total_w = int(w_rave + gap + w_os) + 20 ascent, descent = font.getmetrics() total_h = ascent + descent + 10 diff --git a/plymouth-assets/raveos-installed.script b/plymouth-assets/raveos-installed.script index 90ee177..0ba695a 100644 --- a/plymouth-assets/raveos-installed.script +++ b/plymouth-assets/raveos-installed.script @@ -1,4 +1,3 @@ -// RaveOS Plymouth boot splash script (installed system) Window.SetBackgroundTopColor(0.102, 0.106, 0.114); Window.SetBackgroundBottomColor(0.075, 0.078, 0.086); @@ -6,7 +5,6 @@ Window.SetBackgroundBottomColor(0.075, 0.078, 0.086); screen_width = Window.GetWidth(); screen_height = Window.GetHeight(); -// --- logo: owl icon, centered --- owl_image = Image("raveos-owl.png"); owl_width = owl_image.GetWidth(); @@ -23,7 +21,6 @@ owl_x = screen_width / 2 - owl_width / 2; owl_y = screen_height / 2 - owl_height / 2 - 20; owl_sprite.SetPosition(owl_x, owl_y, 10); -// --- status text: single static message --- status_image = Image("status-installed.png"); status_scale = 0.5; @@ -38,7 +35,6 @@ Plymouth.SetBootProgressFunction(fun(duration, progress) { }); -// --- password prompt (LUKS unlock) --- fun display_password_callback(prompt, bullets) { diff --git a/plymouth-assets/raveos.script b/plymouth-assets/raveos.script index 70ee581..e92e3c4 100644 --- a/plymouth-assets/raveos.script +++ b/plymouth-assets/raveos.script @@ -1,4 +1,3 @@ -// RaveOS Plymouth boot splash script (live install medium) Window.SetBackgroundTopColor(0.102, 0.106, 0.114); Window.SetBackgroundBottomColor(0.075, 0.078, 0.086); @@ -6,7 +5,6 @@ Window.SetBackgroundBottomColor(0.075, 0.078, 0.086); screen_width = Window.GetWidth(); screen_height = Window.GetHeight(); -// --- logo: owl icon, centered --- owl_image = Image("raveos-owl.png"); owl_width = owl_image.GetWidth(); @@ -23,7 +21,6 @@ owl_x = screen_width / 2 - owl_width / 2; owl_y = screen_height / 2 - owl_height / 2 - 20; owl_sprite.SetPosition(owl_x, owl_y, 10); -// --- status text: pre-rendered PNG cycling by boot progress --- status_count = 6; status_images[0] = Image("status-01.png"); @@ -40,7 +37,6 @@ status_y = owl_y + owl_height + 40; seconds_per_stage = 1.2; -// --- progress dots --- dot_lit_image = Image("dot-lit.png"); dot_dim_image = Image("dot-dim.png"); @@ -86,16 +82,12 @@ fun update_status(index) update_status(0); -# "duration" a valos eltelt masodperc a boot ota - ez mindig pontos, -# ellentetben a "progress" becslessel (ami elozo boot-idomeresre tamaszkodik, -# es elso/friss elo boot-nal megbizhatatlan / gyakorlatilag 0-n ragad). Plymouth.SetBootProgressFunction(fun(duration, progress) { index = Math.Int(duration / seconds_per_stage); update_status(index); }); -// --- password prompt (LUKS unlock) --- fun display_password_callback(prompt, bullets) { diff --git a/releng/airootfs/etc/profile.d/raveos-fastfetch.sh b/releng/airootfs/etc/profile.d/raveos-fastfetch.sh index 55460b8..e6324c7 100644 --- a/releng/airootfs/etc/profile.d/raveos-fastfetch.sh +++ b/releng/airootfs/etc/profile.d/raveos-fastfetch.sh @@ -1,6 +1,4 @@ #!/bin/bash -# RaveOS terminal greeting -# Guard: prevent double execution (login shell profile.d + .bashrc) [[ -n "$_RAVEOS_GREETING_DONE" ]] && { return 2>/dev/null || exit 0; } _RAVEOS_GREETING_DONE=1 diff --git a/releng/airootfs/etc/resolv.conf b/releng/airootfs/etc/resolv.conf index 8dda3fc..3639662 100644..120000 --- a/releng/airootfs/etc/resolv.conf +++ b/releng/airootfs/etc/resolv.conf @@ -1 +1 @@ -nameserver 1.1.1.1 +/run/systemd/resolve/stub-resolv.conf
\ No newline at end of file diff --git a/releng/airootfs/etc/skel/.bashrc b/releng/airootfs/etc/skel/.bashrc index 2d2fb5e..51de665 100644 --- a/releng/airootfs/etc/skel/.bashrc +++ b/releng/airootfs/etc/skel/.bashrc @@ -1,16 +1,10 @@ -# -# ~/.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/systemd/network/20-wwan.network b/releng/airootfs/etc/systemd/network/20-wwan.network deleted file mode 100644 index 6e1c8dd..0000000 --- a/releng/airootfs/etc/systemd/network/20-wwan.network +++ /dev/null @@ -1,19 +0,0 @@ -[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/system/cloud-init.target.wants/cloud-config.service b/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service deleted file mode 120000 index ebc50f0..0000000 --- a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index 80fa3c8..0000000 --- a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index dd8e9f1..0000000 --- a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index 875ff73..0000000 --- a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index ae77734..0000000 --- a/releng/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index dcf7c8e..0000000 --- a/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index 4c158e6..0000000 --- a/releng/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/systemd-networkd.service
\ No newline at end of file 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 deleted file mode 120000 index dcf7c8e..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/ModemManager.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 deleted file mode 120000 index 20ac7b2..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index a7eac4a..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index eae19ef..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service +++ /dev/null @@ -1 +0,0 @@ -/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/vboxservice.service b/releng/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service deleted file mode 120000 index cb2d560..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index e0a11a7..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index 173f306..0000000 --- a/releng/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index 7d6ad92..0000000 --- a/releng/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/systemd-networkd-wait-online.service
\ No newline at end of file diff --git a/releng/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket b/releng/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket deleted file mode 120000 index 3897c63..0000000 --- a/releng/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket +++ /dev/null @@ -1 +0,0 @@ -/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 deleted file mode 120000 index 51942c8..0000000 --- a/releng/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/systemd-networkd.socket
\ No newline at end of file diff --git a/releng/airootfs/usr/local/bin/livecd-sound b/releng/airootfs/usr/local/bin/livecd-sound index b92fcf2..19a83ff 100755 --- a/releng/airootfs/usr/local/bin/livecd-sound +++ b/releng/airootfs/usr/local/bin/livecd-sound @@ -191,7 +191,7 @@ pick_a_card() { exit 0 fi systemd-cat -t "livecdsound" printf "multiple sound cards detected\n" - for card in "${usable_cards[@]}"; do + for card in $usable_cards; do if ! is_numeric "$card"; then continue fi @@ -199,7 +199,7 @@ pick_a_card() { done wait sleep 1 - for card in "${usable_cards[@]}"; do + for card in $usable_cards; do if ! is_numeric "$card"; then continue fi diff --git a/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in b/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in index 3f9c7aa..b08b147 100644 --- a/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in +++ b/releng/airootfs/usr/local/share/livecd-sound/asound.conf.in @@ -1,3 +1,2 @@ -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 index 94b4330..c4ffaa5 100755 --- a/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install +++ b/releng/airootfs/usr/share/calamares/kernel-install/95-raveos.install @@ -1,12 +1,10 @@ #!/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 ;; @@ -16,13 +14,9 @@ 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" -# CPU Microcode detection (Intel vs AMD) MICROCODE="" CPU_VENDOR="$(grep -m1 'vendor_id' /proc/cpuinfo 2>/dev/null | awk '{print $3}' || true)" if [ "$CPU_VENDOR" = "GenuineIntel" ] && [ -f "$BOOT_ROOT/intel-ucode.img" ]; then @@ -34,9 +28,6 @@ else [ -f "$BOOT_ROOT/amd-ucode.img" ] && MICROCODE="/amd-ucode.img" fi -# Root device detection with fallback. -# findmnt prints btrfs mounts as "/dev/vda2[/@]" (device plus subvolume), -# which is not a valid device node for blkid/mount -- strip the bracket part. ROOT_SRC="$(findmnt -no SOURCE / | sed 's/\[.*\]//' || true)" ROOT_FS="$(findmnt -no FSTYPE / || true)" ROOT_OPTS="$(findmnt -no OPTIONS / || true)" @@ -62,9 +53,10 @@ esac OPTIONS="rw quiet splash" -# LUKS Encryption & Root Device Fallbacks if [[ "$ROOT_SRC" == /dev/mapper/* ]]; then - UUID="$(blkid -s UUID -o value "$ROOT_SRC" || true)" + PARENT_NAME="$(lsblk -no pkname "$ROOT_SRC" 2>/dev/null | head -n1)" + UUID="" + [ -n "$PARENT_NAME" ] && UUID="$(blkid -s UUID -o value "/dev/$PARENT_NAME" 2>/dev/null || true)" if [ -n "$UUID" ]; then OPTIONS="cryptdevice=UUID=$UUID:cryptroot root=/dev/mapper/cryptroot $OPTIONS" else @@ -84,9 +76,6 @@ else fi fi -# -------------------------------------------------- -# Btrfs subvolume support -# -------------------------------------------------- if [ "$ROOT_FS" = "btrfs" ]; then SUBVOL="$(echo "$ROOT_OPTS" | tr ',' '\n' | grep '^subvol=' || true)" [ -n "$SUBVOL" ] && OPTIONS="$OPTIONS rootflags=$SUBVOL" @@ -106,7 +95,6 @@ case "$COMMAND" in ;; remove) - # Only remove entry if this was the last CachyOS kernel rm -f "$ENTRY_FILE" ;; diff --git a/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script index 70ee581..e92e3c4 100644 --- a/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script +++ b/releng/airootfs/usr/share/plymouth/themes/raveos/raveos.script @@ -1,4 +1,3 @@ -// RaveOS Plymouth boot splash script (live install medium) Window.SetBackgroundTopColor(0.102, 0.106, 0.114); Window.SetBackgroundBottomColor(0.075, 0.078, 0.086); @@ -6,7 +5,6 @@ Window.SetBackgroundBottomColor(0.075, 0.078, 0.086); screen_width = Window.GetWidth(); screen_height = Window.GetHeight(); -// --- logo: owl icon, centered --- owl_image = Image("raveos-owl.png"); owl_width = owl_image.GetWidth(); @@ -23,7 +21,6 @@ owl_x = screen_width / 2 - owl_width / 2; owl_y = screen_height / 2 - owl_height / 2 - 20; owl_sprite.SetPosition(owl_x, owl_y, 10); -// --- status text: pre-rendered PNG cycling by boot progress --- status_count = 6; status_images[0] = Image("status-01.png"); @@ -40,7 +37,6 @@ status_y = owl_y + owl_height + 40; seconds_per_stage = 1.2; -// --- progress dots --- dot_lit_image = Image("dot-lit.png"); dot_dim_image = Image("dot-dim.png"); @@ -86,16 +82,12 @@ fun update_status(index) update_status(0); -# "duration" a valos eltelt masodperc a boot ota - ez mindig pontos, -# ellentetben a "progress" becslessel (ami elozo boot-idomeresre tamaszkodik, -# es elso/friss elo boot-nal megbizhatatlan / gyakorlatilag 0-n ragad). Plymouth.SetBootProgressFunction(fun(duration, progress) { index = Math.Int(duration / seconds_per_stage); update_status(index); }); -// --- password prompt (LUKS unlock) --- fun display_password_callback(prompt, bullets) { diff --git a/releng/efiboot/loader/entries/02-archiso-linux-nomodeset.conf b/releng/efiboot/loader/entries/02-archiso-linux-nomodeset.conf new file mode 100644 index 0000000..344eca3 --- /dev/null +++ b/releng/efiboot/loader/entries/02-archiso-linux-nomodeset.conf @@ -0,0 +1,5 @@ +title RaveOS install medium (%ARCH%, UEFI, nomodeset) +sort-key 02 +linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% cow_spacesize=75% copytoram=n quiet splash nomodeset diff --git a/releng/packages.x86_64 b/releng/packages.x86_64 index 1bac919..0ab48fc 100644 --- a/releng/packages.x86_64 +++ b/releng/packages.x86_64 @@ -30,6 +30,8 @@ linux-firmware-intel linux-firmware-marvell linux-firmware-mediatek linux-firmware-qcom +intel-ucode +amd-ucode lsb-release lvm2 man-db diff --git a/releng/profiledef.sh b/releng/profiledef.sh index 230e1d9..f56a2f4 100644 --- a/releng/profiledef.sh +++ b/releng/profiledef.sh @@ -12,10 +12,11 @@ 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') +airootfs_image_tool_options=('-comp' 'zstd' '-Xcompression-level' '15') bootstrap_tarball_compression=('zstd' '-c' '-T0' '--auto-threads=logical' '--long' '-19') file_permissions=( ["/etc/shadow"]="0:0:400" + ["/etc/sudoers"]="0:0:440" ["/etc/gshadow"]="0:0:400" ["/root"]="0:0:750" ["/root/.gnupg"]="0:0:700" @@ -26,7 +27,7 @@ file_permissions=( ["/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" + ["/etc/group"]="0:0:644" ["/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_sys-linux.cfg b/releng/syslinux/archiso_sys-linux.cfg index 5615abd..98615d2 100644 --- a/releng/syslinux/archiso_sys-linux.cfg +++ b/releng/syslinux/archiso_sys-linux.cfg @@ -1,20 +1,29 @@ LABEL arch TEXT HELP -Boot the Arch Linux install medium on BIOS. -It allows you to install Arch Linux or perform system maintenance. +Boot the RaveOS install medium on BIOS. +It allows you to install RaveOS or perform system maintenance. ENDTEXT -MENU LABEL Arch Linux install medium (%ARCH%, BIOS) +MENU LABEL RaveOS 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% quiet splash -# Accessibility boot option +LABEL archnomodeset +TEXT HELP +Boot the RaveOS install medium on BIOS with nomodeset. +Use this if the installer shows a black screen. +ENDTEXT +MENU LABEL RaveOS install medium (%ARCH%, BIOS, ^nomodeset) +LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% quiet splash nomodeset + 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. +Boot the RaveOS install medium on BIOS with speakup screen reader. +It allows you to install RaveOS or perform system maintenance with speech feedback. ENDTEXT -MENU LABEL Arch Linux install medium (%ARCH%, BIOS) with ^speech +MENU LABEL RaveOS 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 |