aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorPasha <pasha@member.fsf.org>2024-02-20 18:49:50 +0000
committerPasha <pasha@member.fsf.org>2024-02-20 18:49:50 +0000
commit5e0b8d508ed51004bd836384293be00950ee62c9 (patch)
treee3f16b1aa8b7177032ce3ec429fbad2b1d92a876 /README
downloadgnumach-riscv-5e0b8d508ed51004bd836384293be00950ee62c9.tar.gz
gnumach-riscv-5e0b8d508ed51004bd836384293be00950ee62c9.tar.bz2
init gnumach copy
Diffstat (limited to 'README')
-rw-r--r--README56
1 files changed, 56 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..108452a
--- /dev/null
+++ b/README
@@ -0,0 +1,56 @@
+This is GNU Mach, the GNU distribution of the Mach microkernel,
+<http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html>. Welcome.
+
+GNU Mach is the microkernel upon which a GNU Hurd system is based. It
+provides an Inter Process Communication (IPC) mechanism that the Hurd
+uses to define interfaces for implementing in a distributed multi-server
+fashion the services a traditional operating system kernel provides.
+
+GNU Mach runs on 32-bit x86 machines. A version running on 64-bit x86
+(x86_64) machines is in progress. Volunteers interested in ports to
+other architectures are sought; please contact us (see below) if you'd
+like to help.
+
+libmach, bootloaders, default pagers, and the like are not part of
+this distribution. For libraries, we refer you to the GNU C Library,
+which has Mach support. For bootloaders, we refer you to GRUB. (This
+kernel can be loaded by any bootloader that uses the multiboot
+standard.) For default pagers, we refer you to your particular system
+that you will run on top of Mach.
+
+The Mach Interface Generator (MIG) is no longer part of this distribution, and
+instead is packaged separately: GNU MIG.
+
+Generic installation instructions may be found in the file INSTALL.
+
+By default, most drivers for network boards are included, as well as
+drivers for IDE, SCSI and AHCI disks.
+
+If you want the in-kernel debugger compiled in, specify --enable-kdb
+to configure. This is only useful if you actually anticipate
+debugging the kernel, of course. We don't turn it on by default
+because it adds considerably to the unpageable memory footprint of the
+kernel.
+
+GNU Mach can be cross-built. No specific options need to be given when
+building on a 32-bit x86 ELF userland such as GNU/Linux. Manually switch the
+compiler to 32-bit mode when using a 64-bit x86 (x86_64) ELF toolchain:
+
+ $ [...]/configure --host=i686-gnu CC='gcc -m32' LD='ld -melf_i386'
+
+or point to a 32-bit ELF toolchain:
+
+ $ [...]/configure --host=i686-gnu CC=i686-linux-gnu-gcc LD=i686-linux-gnu-ld
+
+Also, GNU MIG needs to be a 32bit version to properly compile the interfaces,
+you can specify for instance
+
+ $ [...]/configure --host=i686-gnu CC=i686-linux-gnu-gcc LD=i686-linux-gnu-ld MIG=i686-linux-gnu-mig
+
+
+Please read the FAQ at <http://www.gnu.org/software/hurd/faq.html>.
+Bug reports should be sent to <bug-hurd@gnu.org> or filed on
+<http://savannah.gnu.org/bugs/?group=hurd>. Requests for assistance
+should be sent to <help-hurd@gnu.org> or filed on
+<http://savannah.gnu.org/support/?group=hurd>. You can also find us on
+the Freenode IRC network in the #hurd channel.