Skip to content

Conversation

@wommy
Copy link

@wommy wommy commented Nov 11, 2025

Closes #565

Summary

Adds a Root on ZFS installation guide for Debian 13 (Trixie), released as current
stable on August 9, 2025. This is a port of the mature Bookworm guide with
version-specific updates.

Changes

New Documentation

  • docs/Getting Started/Debian/Debian Trixie Root on ZFS.rst
    • Ported from Bookworm guide (find/replace: Bookworm → Trixie)
    • Live CD URL updated: cdimage.debian.org/mirror/cdimage/release/current-live/
      cdimage.debian.org/debian-cd/current-live/ (reflects Trixie paths)

Updated Documentation

  • docs/Getting Started/Debian/Debian Bookworm Root on ZFS.rst

    • Added "Newer release available" header pointing to Trixie guide
    • Follows established pattern from Bullseye guide
  • docs/Getting Started/Debian/index.rst

    • Updated backports examples to use trixie-backports

Commits

Baseline Creation (Merge Commit d1acd9d):

  1. Create Trixie baseline from Bookworm guide
    • Merge commit containing two operations:
      • Rename Bookworm guide → Trixie baseline (d212b7e)
      • Restore Bookworm guide for reference (673fad4)
    • GitHub shows as expandable merge with green "renamed from" badge

Trixie-Specific Modifications (5 commits):
2. Update version strings from Bookworm to Trixie (b805e6b)
3. Standardize release navigation headers (9ceed8b)

  • Added "Newer release available" to Bookworm
  • Follows Bullseye→Bookworm pattern
  1. Update Debian index for current stable (7a226b9)
  2. Update GitHub organization references (69a464b)
    • FAQ uses relative link (avoids wiki redirect loop)
    • Issues and commits: zfsonlinux → openzfs
  3. Add non-free-firmware component to backports (ee83839)

Total: 8 commits on GitHub (merge structure visible in Commits tab)

For Reviewers:

Recommended: Use GitHub's UI

  • Commits tab: Shows all 8 commits with expandable merge
    • Click merge commit (d1acd9d) to see the rename + restore operations
    • Green "renamed from" badge shows Trixie's origin from Bookworm
  • Files changed tab:
    • Click "Hide whitespace" for cleaner diff
    • 3 files changed (1 new: Trixie, 2 modified: Bookworm + index)
    • Use blame view to trace line history through the rename

Command-line (if preferred):

# View functional changes only (commits 2-6)
git log d1acd9d..ee83839 --oneline

# See actual diff of modifications
git diff d1acd9d..ee83839 --stat

Quality of Life Improvements in This Port

Minor improvements made during porting:

  • Standardized release navigation pattern (follows Bullseye→Bookworm precedent)
  • Updated GitHub organization references (zfsonlinux → openzfs)
  • FAQ link uses relative reference (avoids wiki redirect)
  • Updated repository examples to current stable (trixie-backports)
  • Updated Live CD paths to reflect Trixie directory structure
  • Added non-free-firmware component to backports repository (required for firmware packages)

These could be backported to earlier guides if desired.

Testing & Validation

Build Status:

  • ✅ Documentation builds successfully with no errors
  • ✅ All internal links verified
  • ✅ RST syntax validated

Installation Testing:

  • ⏳ Full walkthrough pending (contributor will test shortly)
  • 🤝 Community testing welcome and appreciated!

Testing Note: This is a straightforward port from the well-tested Bookworm
guide. Core ZFS installation process is unchanged—only version strings and
repository references updated. The guide serves as a solid foundation for Trixie
users and a launching point for community feedback.

If you test this guide, please report your results in the comments!


cc @rlaager (as requested in the guide)

This commit renames the Bookworm Root on ZFS guide to create the
Trixie baseline. The next commit restores the Bookworm guide for
continued reference.

This approach makes the relationship between Trixie and Bookworm
guides explicit in GitHub's diff view via rename detection.

Signed-off-by: wommy <[email protected]>
Restores the Debian Bookworm Root on ZFS guide so both Bookworm
and Trixie guides coexist in the documentation.

Signed-off-by: wommy <[email protected]>
This merge commit establishes the Debian Trixie Root on ZFS guide
as a derivative of the Bookworm guide through two operations:

1. Rename Bookworm guide → Trixie (shows relationship via git mv)
2. Restore Bookworm guide (maintains both versions)

This approach provides clear visual lineage in GitHub's diff view
while keeping both guides available in the documentation tree.

Subsequent commits apply Trixie-specific modifications.

Signed-off-by: wommy <[email protected]>
Changes all Debian version references:
- Title and heading (Bookworm → Trixie, fixed underline length)
- APT repository URLs (bookworm → trixie)
- Security repository (bookworm-security → trixie-security)
- Updates repository (bookworm-updates → trixie-updates)
- Debootstrap command (bookworm → trixie)
- GitHub issue URL
- Version-specific notes

All changes are mechanical string replacements. No functional changes
to the guide structure or instructions.

Signed-off-by: wommy <[email protected]>
Implements consistent pattern for release navigation following
the established Bullseye→Bookworm precedent:
- Current stable: Use navigation menu (no backward pointer)
- Old stable: Include "Newer release available" (forward pointer)

This pattern ensures new users find the current guide while
existing users on older releases are directed to upgrades.

Changes:
- Added "Newer release available" section to Bookworm guide
- Trixie guide uses navigation menu for finding older releases

Signed-off-by: wommy <[email protected]>
Updates the backports repository examples to use trixie-backports
instead of bookworm-backports, reflecting that Trixie is now the
current stable release.

Changes:
- Backports filename: bookworm-backports → trixie-backports
- Repository URLs: bookworm-backports → trixie-backports
- Pin release: n=bookworm-backports → n=trixie-backports

Signed-off-by: wommy <[email protected]>
Updates references from deprecated zfsonlinux organization to
current openzfs organization.

FAQ link changed to relative reference within openzfs-docs to
avoid redirect loop (wiki redirects to openzfs-docs anyway).

Changes:
- FAQ: Use relative link to docs (avoids wiki redirect loop)
- Commit 82a37189: zfsonlinux → openzfs
- Issue #7734: zfsonlinux → openzfs
- Issue openzfs#330: zfsonlinux → openzfs (2 instances)

Signed-off-by: wommy <[email protected]>
Adds the non-free-firmware component to the Debian backports
repository configuration. This component is required for
firmware packages on many systems.

The non-free-firmware component was split from non-free in
Debian 12 (Bookworm) to better support systems requiring
proprietary firmware while maintaining free software
principles for other non-free packages.

See: https://www.debian.org/releases/bookworm/amd64/release-notes/ch-whats-new.en.html#non-free-split
Signed-off-by: wommy <[email protected]>
Copy link
Member

@gmelikov gmelikov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! I diffed it, it's really is just a bookworm->trixie rebranding (which is expected), changes are good.

Minor note - I thought that Rename Bookworm guide to Trixie baseline commit will give us strange blame on Bookworm, but somehow it didn't, so LGTM. Maybe Bookworm restore commit is somehow special?

@wommy
Copy link
Author

wommy commented Nov 11, 2025

yeah i havent used it since 2018 or so and i only used it 5 times then
git mv file.a file.b ; git commit
git checkout HEAD~1 -- file.a ; git commit
git merge --no-ff tmp_branch
i could have swore you needed the merge commit

EDIT: proven false
but i just double checked, i think it can be even more simple with:
git mv oldfile.txt newfile.txt ; git checkout HEAD -- oldfile.txt ; git commit

i was actually really curious as to the right way to do this
i juggled like 5 options and wasnt happy with either bc +1207 newlines
i felt like this was the most clear

ALSO EDIT: i spent 2 hours diving into it, i tested
git mv + checkout (needs -C -C flags) - what i put up above
Interactive rebase (rewrites history)
filter-branch (rewrites history)
filter-repo (corrupts repo)
jujutsu/jj (needs -C -C flags)
2 commits sequential (loses Bookworm blame)
Parallel branches + merge (only keeps one file)

you need the merge --no-ff and a minimum of 3 commits
id love to hear if someone has a smoother way to achieve this

@wommy
Copy link
Author

wommy commented Nov 11, 2025

btw i found quite a few inconsistencies across the docs
in docs: Update GitHub organization references in Trixie guide
this same problem plagues the docs across most distros
but i wanted to kick this off first and ask for feedback on how to approach that

another thing that sent me for a loop:
the ordering here dictates the subnav in the sidebar on the index page link
the glob search of *Root on ZFS gives an alphabetical list
and initially i was pretty confused why trixie was at the bottom of the list when its the newest
i already have a commit somewhere that manually enters them in a reversed chronological order (newest first)
i dont think glob is necessary as it literally hides information while reducing only 3 (now 4) lines of code
and its not like a huge workload to add another entry every 18months whenever the next debian drops
but then again, adding the version number to the filename
Debian Trixie Root on ZFS.rst => Debian 13 Trixie Root on ZFS.rst or Debian 13 (Trixie) Root on ZFS.rst
i think debian usually leans into the latter
could be supported with toctree :reversed:
and that could be just as easily done too

Comment on lines +580 to +591
vi /mnt/etc/apt/sources.list

.. code-block:: sourceslist

deb http://deb.debian.org/debian trixie main contrib non-free-firmware
deb-src http://deb.debian.org/debian trixie main contrib non-free-firmware

deb http://deb.debian.org/debian-security trixie-security main contrib non-free-firmware
deb-src http://deb.debian.org/debian-security trixie-security main contrib non-free-firmware

deb http://deb.debian.org/debian trixie-updates main contrib non-free-firmware
deb-src http://deb.debian.org/debian trixie-updates main contrib non-free-firmware
Copy link

@chrisstornowski chrisstornowski Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Debian Trixie is using:

/etc/apt/sources.list.d/debian.sources

https://wiki.debian.org/SourcesList

Types: deb deb-src
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main contrib non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb deb-src
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main contrib non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Copy link
Author

@wommy wommy Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great! you activated my first trap card - i had a followup waiting in the wings exactly for this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Debian Trixie Root on ZFS

3 participants