Skip to content

Instantly share code, notes, and snippets.

@AlmuHS
Last active January 11, 2024 04:03
Show Gist options
  • Save AlmuHS/f0c036631881756e817504d28217a910 to your computer and use it in GitHub Desktop.
Save AlmuHS/f0c036631881756e817504d28217a910 to your computer and use it in GitHub Desktop.
Debian GNU Hurd installation in real hardware

How to install Debian GNU/Hurd in a real PC

Debian GNU/Hurd installation guide to real hardware

Requirements

  • An old PC
  • DVD-R or CD-R
  • Recommended hardware
    • Wired Network Connection
    • CPU with high clock speed
    • AHCI SATA or IDE Hard Disk
    • PS/2 keyboard and mouse
    • >= 512 MB RAM

Steps

  • Step 0: Search an old PC. I recommend to use a CPU with high clock speed. because Hurd only use one logical processor. Also, your PC must be IDE or SATA in AHCI mode.

    Hurd doesn't support USB, so possibly you will need a PS/2 keyboard and mouse.

    To get network connection, you must to use a wired connection. Hurd supports WiFi, but only with a few models, so I recommend to use a wired connection.

  • Step 1: Download iso image from https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/ .

    You can download the latest stable version from here: DVD or CD. To install the system only CD-1 or DVD-1 is needed. The others images only provides a offline repository with all packages included in Debian.

    If you download CD-1 image, may you need a Internet connection to install any package during the installation.

    Optionally, you can download the current image, the latest build uploaded from developers. This images will be more updated than the official version, but It also can contains many errors or be unstable. This images only are offered in CD-1 or DVD-1.

    After download iso image, burn It in a CD or DVD (Hurd don't support USB).

  • Step 2: Insert CD/DVD in the computer, and boot from this. When the CD boots, select "Pseudographical Install" or "Text Install". Optionally, you can to select "Graphical Install", but It use to show more errors than the others.

    Installer Main Menu

  • Step 3: Follow the steps of the installer. It's possible that installer shows blank blue screen during charge of any step.

    • Check Network Connection: In network configuration step, the installer will try to set a network connection via DHCP or, optionally, manual configuration.

      Network Configuration

      Setting DHCP

      If the installer gets network connection, Hurd will have detected correctly the network card. If not, possibly you need to find a compatible NIC (Hurd use driver collection from Linux 2.6.32).

    Continue with the next steps.

  • Step 4: In partitioner step, select "Guided: use entire disk".

    Guided partitioning

    Select your hard disk unit, where you want to install Debian GNU/Hurd

    Select Disk

    Then, select "All files in a one partition". Hurd can fails if any directory are in a separated partition. (you can try it if want, but in some case could produce errors).

    Partition mode

    Press "Finish partitioning and write changes to disk" and, in the dialog, select "Yes" to apply the changes.

    Finish partitioning

    Wait to partitioning and "Install base system" steps.

    Installing base system

  • Step 5: In Configure the packages manager step, when the dialog ask if you wish to scan another CD or DVD select "No".

    Scan CD

    Then, It shows a new dialog, asking to use a network mirror. Select "Yes".

    Add mirror

    In the new dialog, select a mirror.

    Select mirror

    Select mirror2

    Select mirror3

    Wait while apt synchronize the mirror.

    Sync apt

  • Step 6: In "Select and Install software" step, select software in tasksel.

    • In Debian GNU/Hurd 2017, you can to select your favourite Desktop Environment, and other utilities.

      Select software

    • In Debian GNU/Hurd current image, unselect all. (Current images use to fail when select software in tasksel).

      Select software in current

    Wait until software is installed.

  • Step 7: In GRUB step, when dialog ask "Install the GRUB loader to master boot record", select "Yes".

    Installing GRUB

    GRUB MBR

    In the next dialog, select your harddisk unit.

    GRUB unit

    Wait until installation finish, and reboot

    Finish installation

    reboot

  • Step 8: Boot the new system and check It starts correctly and the configuration is correctly applied

    Boot system

Extra steps

  • Install Ping: Ping isn't installed by default, but you can install it with inetutils-ping package.

    # apt install inetutils-ping 
    
  • Configure Xorg: If, during the installation, you have installed any DE; you will needs to configure Xorg.

    • Allow startx: To allow any user to start xorg, you must to execute this command:

      dpkg-reconfigure x11-common xserver-xorg-legacy
      

      Configure xorg

      In the dialog, select "Anybody".

      Execute $ startx (as user) to check that Xorg starts correctly. The first time may during a minutes.

    • Enable ctrl-alt-backspace to kill Xorg:

      To enable this keycomb, create a /etc/X11/xorg.conf with this content:

      Section "InputDevice"
         Identifier "Generic Keyboard"
         Driver "kbd"
         Option "XkbOptions" "terminate:ctrl_alt_bksp"
      EndSection
      
    • Install XDM: In the DE installation, Hurd install lightdm, but It don't runs, so must be replaced by XDM.

      You can install XDM with the command:

      # apt install xdm
      

      During the installation, a dialog will ask about change Desktop Manager by default. Select "ok" and, in the new dialog, select "xdm"

      Configure xdm

      Select xdm as default DM

      Execute # service xdm start to start the DM

      xdm started

  • Add main repositories: In Debian GNU/Hurd 2017, the only repository add by default is ports. But, to get more updates, may be interesting to add the Debian official repository.

    You can add this, adding this lines to /etc/apt/sources.list

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

    After add them, execute apt update to update the apt index.

  • Allow logout from DE: By default, when the DE is started using startx command, and you try to logout, the DE don't finish correctly and don't return to tty.

    To solve this, we can add setuid to xinit, with this command:

    $ chmod u+s /usr/bin/xinit
    
  • Try the desktop

Desktop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment