Hello, Thanks for the interest and support! Since the journaling system is now fully integrated into the ext2 superblock, there are no more files or inode IDs to set up — it’s automatic once the hints are in place. However, one must: - Reserve space outside the ext2 filesystem. - Write the journaling hints into the ext2 superblock without disturbing normal operation. I recommend shrinking the ext2 filesystem by 8 MiB. That’s tiny from ext2’s point of view, but plenty for the journal. This means the journal will live immediately after ext2 stops on disk.
1. Shrink the ext2 filesystem by 8 MiB We’ll work directly on the image, so make a backup first. - Find the ext2 partition start offset $parted -sm debian-hurd.img unit B print Example output: 2:1000341504B:4194303999B:3193962496B:ext2::; The first number after 2: is the byte offset where the ext2 partition starts (1000341504 here). -Attach the ext2 partition as a loop device sudo losetup -o 1000341504 --show -f debian-hurd.img This prints something like /dev/loop0 (use whatever it returns). Check current block count (these are 4 KiB ext2 blocks) sudo tune2fs -l /dev/loop0 | grep 'Block count' Example: Block count: 1035776 Shrink by 8 MiB 8 MiB = 8192 KiB → 8192 / 4 = 2048 ext2 blocks New block count = 1035776 − 2048 = 1033728 sudo e2fsck -f /dev/loop0 (accept everything it asks) sudo resize2fs /dev/loop0 1033728 Replace 1033728 with your calculated value. Verify sudo tune2fs -l /dev/loop0 | grep 'Block count' The number should be exactly 2048 less than the original. Detach loop device sudo losetup -d /dev/loop0 2 Write the journaling hint to the superblock The ext2 superblock is 1024 bytes from the start of the partition. The journaling hint is at offset *264 bytes* from the start of the superblock. You can verify ext2 magic first (0x53ef) like so: xxd -g1 -s $((1000342528 + 0x38)) -l 2 debian-hurd.img (needs to print "53 ef") Instead of doing all the byte math manually, use the attached script: Show current hint ./journal-hint.sh debian-hurd.img show enable journaling hint: ./journal-hint.sh debian-hurd.img on (This assumes the journal lives in the last 8 MiB of partition 2 (safe after the shrink)) Disable journaling hint ./journal-hint.sh debian-hurd.img off The script verifies ext2 magic before touching anything. If the magic doesn’t match, it bails to prevent corruption. Safety first: Always work on a copy of your disk image. If the script writes incorrect offsets, the low-level writer will overwrite whatever is there, potentially corrupting your system! Make sure the journal location is outside the filesystem by following the shrink procedure above. Status: debian-hurd-20230608.img — tested and works great. debian-hurd-20250622.img — functional, but scanning sometimes stalls; working on a fix. Let me know if something needs clarification. Thank you once again!
journal-hint2.sh
Description: application/shellscript