What this little Hurd image can do

About this text

This is the README file accompanying a disk_image for running the GNU/Hurd via qemu. To run the disk image, just use qemu -m 512 -drive cache=writeback,file=disk_image.img.

You can find the custom .bashrc used to tell the user about it as well as this text itself in the Mercurial repository hurd_intro.


The Hurd has some unique capabilities, and we created this simple image to enable you to easily try two of them:

  • The simplest of translators: Hello World!
  • Transparent FTP

Hello World

To try out the simplest of translators, you can go the following simple steps:

$ cat hello  
$ setrans hello /hurd/hello  
$ cat hello  
"Hello World!"  
$ settrans -g hello  
$ cat hello  

What you do with these steps is first verifying that the file "hello" is empty.

Then you setup the translator /hurd/hello in the file/node hello.

After that you check the contents of the file, and the translator returns "Hello World!".

To finish it, you tell the translator to go away from the file "hello" via "settrans -g hello" and verify that now the file is empty again.

Transparent FTP

We already setup a a transparent FTP translator for you at /ftp:

With it you can easily access public FTP via the file system, for example the one from the GNU project:

$ ls /ftp://ftp.gnu.org/

But you can also do this very easily yourself:

$ # Setup the translator on the node ftp:  
$ settrans -c ftp: /hurd/hostmux /hurd/ftpfs /

and you can access FTP sites via the pseudo-directory ftp:, for example with

$ ls ftp://ftp.gnu.org/

What you do here is setting up the translator /hurd/hostmux on ftp: and passing it the translator /hurd/ftpfs to use for resolving accesses as well as / as additional path component.

These were only two basic usages of translators on the Hurd. We're sure you'll quickly see many other ways to use this.

As a last comment: You can setup a translator on any node you have access to, so you can for example mount any filesystems as normal user.

You might currently be logged in as root, but you could just as well do the same as normal user.

Why don't you try it out?