There are many tools out there that have similar functions as Aaru. And there are many things Aaru can do that most users don’t even know about.
In this blog post I’m going to start from the beginning of Aaru, to the current day, to hopefully explain the philosophy and evolution behind it.
A long time ago I started collecting operating systems. This was an easy task at first, just using
dd to create a .iso file of a CD or a .img file for floppies.
As the collection grew, I wanted to reach out and see if other collectors had the same images as I did, to verify their contents and quality.
With that in mind, I created a small, modular application, which could show me the filesystem information, or superblock, contained in the images. It also needed to manage several partitioning schemes, as some images come from hard disks that use them, or Apple CDs that also use them.
This was meant as a tool for comparing images, to make sure an image was the same as one created by someone else.
I continued to add support for filesystems to it as I collected more images, starting with ISO9660, FAT, HFS, with the list growing by every iteration of the tool.
But not all other collectors used .iso.
They used a myriad of formats, as many as there are applications to create images from media. This created the need to be able to support and manage several image formats.
To aid in this, I added support for conversion between different formats, being able to compare contents sector by sector independently of the format, and get a checksum of the contents.
I found the Lisa filesystem a very attractive challenge. It is an archaic filesystem, with advanced GUI concepts (it allowed two files to have the same exact name, it stored icon positions, etc).
Very little was known about it. Me and Ray asked everyone we could find, but no one knew, or remembered, how the filesystem was built and structured. David T. Craig was immensely helpful to our research, providing a lot of documentation, but unfortunately the filesystem structure was not to be found.
Then a bomb was suddenly dropped in the Lisa mailing list. Apple donated the Lisa source code floppies to the Computer History Museum. And those floppies were Lisa floppies, using the Lisa filesystem.
That was a turning point, and I used all the tools at my disposal, including a hexadecimal editor, notebook and pen, and Ray’s LisaEm. And within a few days, I had the first implementation of the Lisa filesystem, outside of the Lisa operating system itself.
This was to become a framework to be able to implement any other filesystem I wanted.
So all pastures were green, the sky was clear blue.
Or was it?
The issue of having a wide array of tools to dump was still there. Usually having many tools to choose from when doing a certain task is a good thing, but here it started to become a real problem.
Some tools were designed by preservation groups with very strict requirements in place, such as only having a few drive models supported. Other tools were designed more for piracy in mind, sometimes modifying the data according to what they thought were the best way to bypass copy protections.
And there was basically no tool to dump tapes, even though is was commonly used by many UNIX operating systems.
I was also hearing all kinds of nightmarish stories from other collectors and preservation groups of why they weren’t collaborating, preserving their media, or of the wholly difficult processes they needed to follow.
From that, I decided to set a goal, a philosophy for the tool that has become Aaru:
To allow any user to create the best image (dump) that their hardware allows of the media they have.
Aaru now has full support to create images from real media, in an easy way, by trying to autodetect the best settings, from a combination of the media contents, and the drive used, yet allowing a power user to modify the defaults as they see fit.
So what comes next, you will soon see.
In future blog posts I will talk about all the features of Aaru, how it differs from other tools, and the specifics of each image format, their limitations, and advantages.
This started 9 years ago, and the future, is bright!