summaryrefslogtreecommitdiff
path: root/faq/support/sharing_the_user_space.mdwn
blob: 2c31c22b74769a4260b99b84ff1f158caf7d84bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!meta title="Sharing the userspace between GNU Hurd and the Linux kernel"]]

Given that both Linux and GNU Hurd are using the [[ELF]] binary
format, it is in theory possible to have a system installation where you can
dual-boot using either the [[Linux]] kernel, or the GNU Hurd, so that
everything but the kernel is shared.
For this, all programs need to agree to rely on
only one abstraction layer, for example the standard C library ([[glibc]]).
(Additionally, for example for [[system call]]s that are not covered by glibc
calls, you'd need to be able to reliably trap and emulate these.)  However,
Linux' and the GNU Hurd's [[ABI]]'s have sufficiently diverged, so that this is
not easy to do.  That's why you can't currently install a system in this way,
but you need a separate installation of the userspace suited for the Linux
kernel, or the GNU Hurd.