install.sh fixes: free space detection, btrfs online resize, partition naming #13

Closed
unbrot wants to merge 12 commits from main into devel

12 Commits

Author SHA1 Message Date
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
unbrot 5620e73c4d Add CLAUDE.md with codebase guidance for Claude Code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 16:54:47 +02:00