Debian GNU Hurd

Install Debian GNU/Hurd in VirtualBox

Posted by

GNU Hurd is a multiserver microkernel, it’s a part of the GNU project to make an entire free Operating System. Even if the first release is from 1990, the project is still in progress. The Debian project has a variant who is using this Kernel, instead of Linux. Unfortunately it’s difficult to run it on real hardware (especially the GUI), so we will install it in VirtualBox.

Before starting

Get the ISO image

Download the debian-sid-hurd-i386 iso from the Debian website. Take the CD or the DVD one, but don’t take the NETINST version, the installation has a high risk of failure.

VirtualBox configuration

Create a new virtual machine, select Linux 2.4 (32-bit) as Operating system and attribute it minimum 1GB of memory (2GB recommended). Create a new virtual hard disk with minimum 20GB. Start the VM and mount your ISO file in the virtual optical drive.

Installation

The installation process is very similar to a Classic Debian installation. There is just one trap, be careful with the instructions.

  • Choose Pseudo-graphical install
  • Pick your Language
  • Select your Country
  • Choose your Locales
  • Select your Keymap

The network will configure its self automatically. If you get problems with the auto configuration, try to change the type of Network card in VirtualBox.

  • Define the Hostname
  • Don’t enter anything as domain if you don’t know what your are doing
  • Define your root password
  • Create an user and define its password

My advice for the disk configuration is to select the automatic one with everything in the same partition. If you plan to use Hurd for more than testing, you should consider a separated Home partition for more safety. Validate to go to the next steps.

We arrive to the tricky part. The system base system will be installed, you will maybe see error about /hurd/random, it’s normal. Choose to DON’T use a network mirror, else the installation will fail. Unfortunately, Hurd has been moved to the Debian ports, so sometimes packages are broken.

After the package survey question, you will arrive to the Software selection. Press enter to keep the default choices. Install the Grub boot loader to the master boot record and select /dev/hd0 for the installation. The installation is now complete, remove the disk and your Virtual Machine will restart.

Customization

Redirect a port

In your machine’s settings. Select Network, Advanced, Port forwarding and enter the following redirection.

  • Protocol: TCP
  • Host IP: 127.0.0.1
  • Host Port: 10022
  • Guest IP: 10.0.2.15
  • Guest Port: 22
SSH port forwarding

You will now be able to connect from your host to your VM using SSH.

ssh youruser@127.0.0.1 -p 10022

Sources

Edit as root /etc/apt/sources.list

deb http://ftp.ports.debian.org/debian-ports unstable main
deb http://ftp.ports.debian.org/debian-ports unreleased main

#Uncomment to add the sources
#deb-src http://ftp.debian.org/debian unstable main contrib non-free
#deb-src http://mirrors.kernel.org/debian unstable main contrib non-free
#deb-src http://ftp.debian-ports.org/debian unreleased main

To update your system

apt update && apt upgrade -y

System improvements

By default, some binaries are missing from the PATH. Add at the end of your /root/.bashrc file

export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin

Create a script called fixdisk in /usr/local/sbin, you will call it to fix your disk if your system is crashed. Adapt it if you have more than one partition on your disks.

fsck -y -f /dev/hd0s1
/sbin/reboot-hurd

Make it executable

chmod +x /usr/local/sbin/fixdisk

Conclusion

Our system is now installed and ready to be used. In a future article we will see how to install a graphical interface or some server components.

uname -a on GNU/Hurd

Leave a Reply

Your email address will not be published. Required fields are marked *