A command-line tool for working with Native Oberon disk images. odit allows you to list, read, write, and mount Native Oberon file systems on modern operating systems.
- List files in Oberon disk images
- Read files from Oberon images to your host file system
- Write files from your host file system to Oberon images
- Mount Oberon images as FUSE filesystems for direct file access
- File information display (size, creation time, disk location)
- Go 1.25.1 or later
- FUSE libraries (for mount functionality)
- Linux:
libfuse-devorfuse3-dev - macOS: Install macFUSE
- Linux:
git clone https://github.com/asig/odit.git
cd odit
go buildodit -image <image_file> [flags] {command}-image <image>- Required: Specifies the Oberon disk image to work on-log-level <level>- Sets the log level (trace, debug, info, warn, error, fatal, panic). Default:error
List all files in the image:
odit -image disk.img listShow detailed information about a specific file:
odit -image disk.img info System.ToolOutput includes:
- File name
- First block address
- File size in bytes
- Creation timestamp
Copy a file from the Oberon image to your host file system:
odit -image disk.img read System.Tool output.txtCopy a file from your host file system to the Oberon image:
odit -image disk.img write input.txt NewFile.ToolNote: File names in Oberon must:
- Start with a letter
- Contain only letters, digits, and dots
- Be 32 characters or less
Mount the Oberon image at a mountpoint using FUSE:
odit -image disk.img mount /mnt/oberonThe filesystem will remain mounted until you unmount it:
# Linux
umount /mnt/oberon
# macOS
diskutil unmount /mnt/oberonWhile mounted, you can access files using standard tools (ls, cat, cp, etc.).
# List all files
odit -image oberon.img list > files.txt
# Read each file
while read filename; do
odit -image oberon.img read "$filename" "backup/$filename"
done < files.txt# Mount the image
mkdir /tmp/oberon
odit -image oberon.img mount /tmp/oberon
# Browse in another terminal
cd /tmp/oberon
ls -l
cat System.Tool
# Unmount when done
umount /tmp/oberon# Write a new file
echo "Hello from modern OS!" > greeting.txt
odit -image oberon.img write greeting.txt Greeting.Text
# Verify it was written
odit -image oberon.img info Greeting.TextCopyright (C) 2025 Andreas Signer asigner@gmail.com
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
See the GNU General Public License for more details.