and docs
3.3 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
- Lists all ext4 and btrfs partitions that have enough free space to be shrunk.
- Asks you to select one and shrinks it by 4 GiB.
- Creates a new 4 GiB BTRFS partition labeled
OEMDRVin the freed space. - Mounts it to
/opt/sys_configwithcompress=zstd:6. - 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,resize2fsorbtrfs-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 export parameters are optional. That way, install.sh should know what to pull and use it for your new setup.
After the script completes
At the end of the installation, you will be asked wheter to run configure.sh . You are encouraged to do this always.
But bevor letting configure.sh start, there are some options for making your life easier:
-
You can either get some
setup_system.conffile from your system admin and put it to/opt/sys_config/config. That way all your settings will be prefilled the right way. -
You may also use some preconfigured file from
config.d/configure.conf(.bak)and put it toconfig.d/configure.conf- if thats existing from the first setup of this pc. Pleas mind, that in the meantime your config may have changed dramatically, so this may be only a good choice if your last configure was not that long ago. -
You may also configure your environment before manually:
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, paths and all you need
Mind, that this would be the job of configure.sh
- Optionally add additional local per-machine overrides in
config.d/:
# Example: always use the devel branch on this machine, no matter what was specified anywhere
echo 'export REPO_BRANCH="devel"' > /opt/sys_config/config.d/system_defines.conf
- Otherwise, let
configure.shdo it's job.
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) |