Files
fedora-OEMDRV/install.md
T
Daniel unbrot Pätzold 9264ca8e92 Relocate dist files, fix path references, and misc script improvements
- Move setup_system.conf.dist to system_setup/config.dist/ and
  skel.tar.zst.dist + pack_skel.sh to system_setup/skel/; config/ now
  holds only gitignored local files
- Fix configure.sh CONF_DIST path (was pointing at non-existent
  config/setup_system.conf.dist)
- Fix skel/pack_skel.sh: remove vestigial source line whose path was
  wrong in both old and new location
- Update error messages in setup_system.inc.sh and
  sync_client_software.sh to reference new dist file location
- Move machine_uuid reading/writing into setup_system.inc.sh so all
  scripts have MACHINEID available; setup_system.conf.dist now uses
  MACHINEID conditionally with a hostname fallback
- sync_client_software.sh: fix && / typo (should be && \) that broke
  the flatpak remote-add → install chain; add network error handling
  after flatpak install; cleanup upgrade logic and chown placement
- Update CLAUDE.md and install.md to reflect new dist file locations

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 13:28:44 +02:00

2.4 KiB

OEMDRV Bootstrap — install.sh

the script ./system_setup/install.sh prepares a target machine for automated Fedora deployment. It shrinks an existing partition to carve out a dedicated OEMDRV partition, which Anaconda/Kickstart will detect automatically during installation.

What it does

  1. Lists all ext4 and btrfs partitions that have enough free space to be shrunk.
  2. Asks you to select one and shrinks it by 4 GiB.
  3. Creates a new 4 GiB BTRFS partition labeled OEMDRV in the freed space.
  4. Mounts it to /opt/sys_config with compress=zstd:6.
  5. Clones this repository (depth 1) into /opt/sys_config.

Prerequisites

  • Run as root on the target machine (live system or installed OS).
  • The following tools must be present: parted, e2fsck, resize2fs or btrfs-progs, mkfs.btrfs, git, curl.
  • The partition you want to shrink must not be the root filesystem (/) and must have at least 4.5 GiB free.
  • Network access to gitea.dtext.online.

Run directly from the repository

Download the script first, then run it as root:

curl -fsSL https://gitea.dtext.online/obel1x/fedora-OEMDRV/raw/branch/main/system_setup/install.sh -o /tmp/install.sh
sudo bash /tmp/install.sh

Run directly from another repository

If you are on another fork or branch and you want to test your changes, do:

export REPO_URL="https://yourgitserver.tld/.../fedora-OEMDRV.git"
export REPO_BRANCH="anotherbranch"
curl -fsSL ${REPO_URL%.git}/raw/branch/${REPO_BRANCH:-main}/system_setup/install.sh -o /tmp/install.sh
sudo -E bash /tmp/install.sh

Both are optional. That way, install.sh should know what to pull.

After the script completes

Configure your environment before running any installation:

cp /opt/sys_config/system_setup/config.dist/setup_system.conf.dist /opt/sys_config/config/setup_system.conf
# Edit setup_system.conf — set TLDOMAIN, SERVERFQDN_IPA, SERVERFQDN_NC, and paths.

Optionally add local per-machine overrides in config.d/:

# Example: use the devel branch on this machine
echo 'export UPGRADEBRANCH="devel"' > /opt/sys_config/config.d/system_defines.conf

Once configured, boot the Fedora installer from USB — Anaconda will detect the OEMDRV partition and run the Kickstart automatically.

Supported filesystems for shrinking

Filesystem Method
ext4 e2fsck + resize2fs (offline)
btrfs btrfs filesystem resize (temporary mount)