2025-04-02 16:11:36 +02:00
2025-04-02 17:21:06 +02:00
2025-04-02 17:10:39 +02:00

Hibernate Setup Script

A Python-based utility for configuring hibernation on Linux systems using a swap file.
This script automates resume configuration for GRUB and initramfs, and optionally creates a swap file of configurable size.


🛠 Features

  • Optionally create and activate a swap file
  • Automatically detect UUID and resume offset
  • Inject resume and resume_offset into GRUB config
  • Regenerate initramfs via mkinitcpio
  • Interactive confirmation before file changes
  • Preview mode for dry-run without changes
  • Supports Arch-based systems (Manjaro, Arch, etc.)
  • Root permission required

📦 Installation

This utility is available via Kevins Package Manager:
➡️ github.com/kevinveenbirkenbach/package-manager

pkgmgr install setup-hibernate

🚀 Usage

Run the script as root:

sudo ./main.py [OPTIONS]

Options

Option Description
--create-swapfile Create and configure a swap file at /swapfile
--swap-size <int> Set the swap file size in GB (default: 32)
-p, --preview Show what would be done without executing any changes (dry-run mode)
--non-interactive Apply all changes automatically without prompting for confirmation

Examples

Create a 40GB swapfile and configure hibernation interactively:

sudo ./main.py --create-swapfile --swap-size 40

Preview what would happen without actually doing anything:

sudo ./main.py --create-swapfile --swap-size 40 --preview

Non-interactive, suitable for automation:

sudo ./main.py --create-swapfile --swap-size 40 --non-interactive

Requirements

  • Python 3
  • Tools: fallocate, mkswap, swapon, filefrag, findmnt, mkinitcpio, update-grub
  • Root privileges

No external Python packages are required (no requirements.txt needed).


🤖 AI-Assisted Development

This script was developed with the help of ChatGPT
🔗 Click here to view the development conversation


👤 Author

Developed by Kevin Veen-Birkenbach
🌐 https://www.veen.world/


📄 License

This project is licensed under the MIT License.
See LICENSE for details.

Description
A Python script to configure hibernation on Linux systems using a swap file, including GRUB and initramfs integration. Optional swap file creation with custom size support.
Readme MIT 59 KiB
Languages
Python 100%