Skip to content
View mcsgeek's full-sized avatar

Block or report mcsgeek

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mcsgeek/README.md

Hi, I'm Scott

I build small, focused Linux utilities for Debian, Ubuntu, and their derivatives, with an emphasis on Btrfs, Snapper, GRUB, and system recovery.

My current work focuses on improving the native Btrfs and Snapper experience without replacing the tools and workflows already provided by the distribution.

BootPrep

BootPrep is my flagship project.

BootPrep is a lightweight boot preparation layer for Debian, Ubuntu, and their derivatives using Btrfs and Snapper.

It is designed to work alongside native tools such as Btrfs, Snapper, GRUB, and grub-btrfs, handling the additional boot preparation needed after snapshot operations.

Companion Utilities

BootPrep is part of a growing collection of focused utilities. Each project has a single responsibility and can be used independently or together.

  • snapshot-chroot – Creates a recovery chroot from a Btrfs/Snapper root snapshot, automatically detecting the last successfully booted snapshot.
  • cleanup-bootstrap-root – Safely cleans the original bootstrap @ root while preserving its Btrfs subvolumes.
  • dpkg-pre-post-snapper – Creates descriptive Snapper pre/post snapshots around Debian package transactions.
  • add_subvolumes – Converts selected root and home directories into independent Btrfs subvolumes.
  • add_updategrub-service – Installs a systemd service that runs update-grub during system shutdown.

Project Philosophy

I prefer tools that are:

  • Focused – one clearly defined responsibility.
  • Native – build on existing Linux components instead of replacing them.
  • Discoverable – detect the system's actual configuration instead of relying on unnecessary hard-coded assumptions.
  • Safe – validate the environment before making filesystem or boot-related changes.
  • Composable – useful independently, but able to work together as part of a larger workflow.

If you're working with Debian, Btrfs, Snapper, GRUB, or snapshot-based system recovery, take a look at BootPrep and the companion projects above.

Pinned Loading

  1. bootprep bootprep Public

    Enables reliable Snapper snapshot activation on systems using a default nested Btrfs subvolume layout.

    Shell 2

  2. add_subvolumes add_subvolumes Public

    Establishes dedicated Btrfs subvolumes for selected root and home paths.

    Shell 1

  3. dpkg-pre-post-snapper dpkg-pre-post-snapper Public

    Creates descriptive Snapper pre/post snapshots for package transactions.

    Shell 1

  4. cleanup-bootstrap-root cleanup-bootstrap-root Public

    Safely cleans the original bootstrap root while preserving Btrfs subvolumes.

    Shell 1

  5. snapshot-chroot snapshot-chroot Public

    Recovery chroot utility for Btrfs/Snapper systems, with automatic last-known-good snapshot selection and writable snapshot recovery.

    Shell 1

  6. debian-sid-artwork debian-sid-artwork Public

    Custom Debian Sid artwork including wallpapers, GRUB backgrounds, Plymouth themes, and KDE Plasma launcher icons.

    1