Commit Graph

190 Commits

Author SHA1 Message Date
obel1x fdbd4e44f5 Merge branch 'devel' into main 2026-04-30 18:33:34 +02:00
unbrot a960c084b7 Undo test install.sh 2026-04-30 18:09:09 +02:00
unbrot 1ffa1adafa Test install.sh 2026-04-30 18:06:24 +02:00
unbrot b088a03f88 Describe how to install with testenvironment 2026-04-30 18:01:48 +02:00
unbrot 8263d92b5b Add install_from_repo.sh 2026-04-30 17:16:26 +02:00
unbrot 58b23b00e7 mozilla_pre: fixed server adress 2026-04-30 16:45:45 +02:00
unbrot 554ef23c7e Encryption: Add user_allow_other to /etc/fuse.conf 2026-04-30 16:43:46 +02:00
unbrot b586de545e check crypt setup file 2026-04-30 16:36:34 +02:00
unbrot 7a3f610740 Crypt: Better check for configured 2026-04-30 16:34:01 +02:00
unbrot ee2ae055e9 Crypt: Add Passfile 2026-04-30 16:23:56 +02:00
unbrot fe9f6841f3 Cryptfilesystem: Allow root to access encrypted directory 2026-04-30 16:19:01 +02:00
unbrot 0d86bc3d1a Div visual updates 2026-04-30 15:37:19 +02:00
unbrot 4a7ee59559 configure: CLIENT_SOFTWARE_SRC not needed 2026-04-30 15:19:58 +02:00
unbrot d0932a2fda Configure: Make IPAVAULTNAME again possible 2026-04-30 15:15:20 +02:00
unbrot 29c87be593 Replace instable HOSTNM determination by file for installation. 2026-04-30 15:06:47 +02:00
unbrot f89d0f36f1 Write DMI UUID to machine_uuid.sys for user-accessible machine ID
install.sh writes the last 12 chars of the DMI system UUID to
config.d/machine_uuid.sys (0444) after git clone, so non-root scripts
can derive the hardware-bound hostname without needing dmidecode.

conf.dist reads machine_uuid.sys first; falls back to dmidecode (root)
or hostname -s (user) if the file is absent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 14:55:33 +02:00
unbrot bcbcc3392d install.sh: offer to install missing tools via dnf
Instead of dying immediately, check_tools now lists missing packages,
asks the user to install them with dnf, and re-verifies after install.
Decline still aborts as before.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 13:06:49 +02:00
unbrot d316a7b605 Refactor configure.sh: per-variable validation loop with DNS domain check
Each variable is now prompted in a retry loop so a failed test re-prompts
that specific variable instead of restarting the whole wizard. Adds DNS-based
IPA domain validation (_ldap._tcp SRV + _kerberos TXT + _kerberos._udp SRV),
matching what ipa-client-install --domain performs. Fixes syntax errors
(bare `do` → `while true; do`, `continue` → `break`). Expands VARS to include
IPAVAULTNAME, CLIENT_SOFTWARE_SRC, DISTCONFIGPATH_SRC.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 12:52:41 +02:00
unbrot 2032bde99d IPA-register use Terminal 8 for better logging 2026-04-30 12:51:59 +02:00
unbrot 0b1ade5771 Anaconda ks.cfg: use also nvme drives 2026-04-30 12:36:05 +02:00
obel1x da3ac68586 Merge branch 'main' into devel 2026-04-29 22:16:32 +02:00
obel1x 92453699a8 Merge pull request 'Add configure.sh wizard, server checks, KS profile selection, and install improvements' (#16) from unbrot/fedora-OEMDRV:main into devel
Reviewed-on: obel1x/fedora-OEMDRV#16
2026-04-29 22:13:45 +02:00
unbrot 0721550e9c Add kickstart profile selection to configure.sh
After server checks pass, present all ks_base_profiles/*.cfg files
with their first-paragraph description and require the user to pick
one. The selected profile is copied to ks.cfg in the repo root.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 19:38:52 +02:00
unbrot 340cef962f Remove single ks.cfg 2026-04-29 19:32:41 +02:00
unbrot 2a359b36a6 Prepare base profiles for selection 2026-04-29 19:31:07 +02:00
unbrot d363a806c0 Replace token test in configure.sh with server reachability checks
Instead of obtaining a Nextcloud WebDAV token, verify the configured
servers directly:
- Nextcloud: check /status.php for "installed":true and show version
- FreeIPA: check /ipa/session/json for HTTP 200 or 401

Both checks offer restart or quit on failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 19:03:33 +02:00
unbrot 9cb2977527 Fix Firefox display access when configure.sh runs via su
Pass DISPLAY and WAYLAND_DISPLAY explicitly through the su call in
install.sh so Firefox can connect to the user's display session.
Remove the now-unnecessary DISPLAY=:0 fallback from get_nc_token.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 18:02:20 +02:00
unbrot a5c8d596fa Configure.sh: make dynamic variable prompts and run without tokenfile 2026-04-29 17:52:26 +02:00
unbrot a9be4d0ac9 Bugfixing configure and make temporary token possible 2026-04-29 17:05:46 +02:00
unbrot d3f4345f97 Install.sh: Make changes possible for first setup 2026-04-29 16:28:41 +02:00
unbrot f69b423b30 Add repo URL verification via curl checksum in install.sh
Before partitioning, check_repo_url() downloads
system_setup/install.sh from REPO_URL and compares its sha256sum
against the running script. Warns and asks to continue if the URL
is unreachable or the checksums differ.

Also accept an optional first argument to override REPO_URL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 16:17:33 +02:00
unbrot 05a47a140d Add configure.sh wizard and offer to run it after install
- system_setup/configure.sh: interactive first-time setup wizard that
  edits config.d/configure.conf, tests the encrypted home mount, and
  obtains a Nextcloud WebDAV token
- configure.md: short usage documentation for configure.sh
- system_setup/install.sh: after cloning the repo, ask whether to run
  configure.sh immediately (as the sudo-invoking user via su)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 14:12:11 +02:00
unbrot 3eee476fc4 Add Cinnamon kickstart profile based on KDE fullsetup
Replaces KDE desktop environment group and KDE-specific packages
with Cinnamon equivalents (transmission-gtk replaces ktorrent).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 13:29:52 +02:00
unbrot 3df883dc63 Make use of config.d/configure.conf file for first setup 2026-04-29 13:14:33 +02:00
unbrot 99d5799581 Gitignore +ks_pc_prof 2026-04-29 12:05:15 +02:00
unbrot 70b26facc8 Updated ks base-profiles 2026-04-29 11:58:36 +02:00
obel1x 33e23f52e2 Merge pull request 'Fix nextcloud Desktop account and first Version of install script' (#15) from devel into main
Reviewed-on: obel1x/fedora-OEMDRV#15
2026-04-27 18:56:36 +02:00
obel1x f4e5de2f5a Merge pull request 'install.sh: free space detection, btrfs online resize, sfdisk, partition naming + install.md fix' (#14) from unbrot/fedora-OEMDRV:main into devel
Reviewed-on: obel1x/fedora-OEMDRV#14
2026-04-27 17:26:03 +02:00
unbrot 1f17ef5c2f Update install.md: download script before running with sudo
Process substitution does not survive sudo, so the script must be
downloaded to a temp file first.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 17:15:06 +02:00
unbrot 296026b667 Set GPT partition name to anacondainstall for OEMDRV partition
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 16:45:16 +02:00
unbrot 5ef48c84e5 Replace parted resizepart with sfdisk --force
parted fails to resize a mounted partition non-interactively.
sfdisk --no-reread --force writes the updated partition table
directly without TTY/confirmation issues, and partprobe
re-reads it afterwards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 16:40:18 +02:00
unbrot 5c2182a1c9 Fix parted failing on busy partition in script mode
parted -s answers confirmation prompts with "no" (conservative),
causing resizepart/mkpart to fail on a mounted partition. Pipe
"Yes" to parted stdin instead so busy-partition warnings are
confirmed and the operation proceeds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 16:30:19 +02:00
unbrot bf71540f66 Fix btrfs resize: use online resize instead of unmount/remount
btrfs supports live filesystem resize, so there is no need to
unmount a mounted btrfs partition before shrinking it. This also
avoids umount failures when the partition is busy (e.g. /home with
an active SSH session). ext4 still requires offline resize.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 16:26:27 +02:00
unbrot bfa5515d75 Fix double /dev/ prefix bug in collect_partitions
lsblk -p returns PKNAME as a full path (/dev/sda), so stripping
the basename before prepending /dev/ avoids /dev//dev/sda.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 16:23:51 +02:00
unbrot 9e16162077 Add free space detection to install.sh as alternative to partition shrinking
If a disk has unpartitioned space >= 4096 MiB, it is offered as a direct
target for the OEMDRV partition, avoiding any filesystem resize.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 14:59:14 +02:00
unbrot 9974facd45 Fix install.sh exiting immediately when not run as root
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 14:07:02 +02:00
unbrot 4d9ec0d356 Moved install-md to top level 2026-04-27 13:45:55 +02:00
unbrot 6bb7cac7ad Add install.md with usage instructions for install.sh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 21:23:55 +02:00
unbrot 5d0c674bec Add install.sh bootstrap script to create OEMDRV partition
Shrinks a selected ext4/btrfs partition by 4 GiB, creates a new BTRFS
partition labeled OEMDRV, mounts it to /opt/sys_config and clones the
repository into it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 21:14:41 +02:00
unbrot 576363cdca Fix Nextcloud app password not stored in KWallet after autoprovisioning
The Flatpak autoprovisioning command does not reliably write credentials
to KWallet from inside the sandbox. After provisioning, directly write
both KWallet entries (user:url/:0 and user_app-password:url/:0) via
qdbus, creating the Nextcloud folder first if needed. kwallet-query was
tried but silently returns 0 without creating missing folders.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:30:49 +02:00