There are plans for 64-bit kernelland with 32-bit userland, which will notably permit to efficiently make use of more than 2 GiB memory and provide 4 GiB userland addressing space.

A 64-bit GNU/Hurd is also coming soon! Hurd developers ported GNUMach to 64-bit some time ago. Then they started making significant progress on the x86_64 userland port in Feb 2023. As of May 2023, the 64-bit port works well enough to start all the essential Hurd servers and run /bin/sh. We are currently building 64-bit packages. We plan on supporting both a 32-bit and 64-bit Debian GNU/Hurd. However, there is no plan to fix the year 2038 concern on a 32-bit system.

That being said, you can always run a 32-bit version on a 64-bit machine, it just works, processes are just limited to a couple GiB available memory.

What is left for initial support (32-on-64) is

  • Fixing bugs :)

For pure 64bit support, we need to

  • Fix bugs :)
  • bootstrap a distrib

Installing a 64bit chroot

Make sure to have debootstrap >= 1.0.128+nmu2+hurd.1

sudo debootstrap --foreign --verbose --arch hurd-amd64 --keyring=/usr/share/keyrings/debian-keyring.gpg sid chroot-hurd-amd64

Then boot it, it will drop you into a shell. You need to make / writable:

fsysopts / --writable

and then run the second stage of the deboostrap:

/debootstrap/debootstrap --second-stage

set a root password:


and reboot:


Installing a 64bit system

In principle crosshurd should be working, one however needs to add this source:

deb unstable

into /etc/crosshurd/sources.list/gnu

IRC, freenode, #hurd, 2011-10-16

<youpi> it'd be really good to have a 64bit kernel, no need to care about
  addressing space :)
<braunr> yes a 64 bits kernel would be nice
<braunr> i guess it wouldn't be too hard to have a special mach kernel for
  64 bits processors, but 32 bits userland only
<youpi> well, it means tinkering with mig

mig portable rpc declarations.

IRC, freenode, #hurd, 2012-10-03

<braunr> youpi: just so you know in case you try the master-x86_64 with
<braunr> youpi:
<youpi> ok, thx
<braunr> the squeeze version is fine but i had to patch the wheezy/sid one
<youpi> I actually hadn't hoped to boot into 64bit directly from grub
<braunr> youpi: there is code in viengoos that could be reused
<braunr> i've been thinking about it for a time now
<youpi> ok
<braunr> the two easiest ways are 1/ the viengoos one (a -m32 object file
  converted with objcopy as an embedded loader)
<braunr> and 2/ establishing an identity mapping using 4x1 GB large pages
  and switching to long mode, then jumping to c code to complete the
<braunr> i think i'll go the second way with x15, so you'll have the two :)

IRC, freenode, #hurd, 2013-07-02

In context of mondriaan memory protection.

<xscript> BTW, it's not like I have an infinite amount of time for this,
  but having 64-bit support would be valuable for me, so I might contribute
  that back if it's not a too monumental task
<xscript> I saw some discussions about 32bit apps on top of 64bit mach, but
  I'd like a full 64bit system
<xscript> any clues?
<xscript> I suppose the compiler support is all there already
<xscript> is MIG (and mach) the only piece missing?
<braunr> the problem is the interfaces themselves
<braunr> type widths
<braunr> as passed between userspace and kernel

IRC, OFTC, #debian-hurd, 2013-10-05

<dharc> and what about 64 bit support, almost done?
<youpi> kernel part is done
<youpi> MIG 32/64 trnaslation missing

mig portable rpc declarations.