[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd
From: |
Janneke Nieuwenhuizen |
Subject: |
[bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd. |
Date: |
Sun, 10 Nov 2024 11:32:14 +0100 |
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Hi,
Lo and behold, the 64bit Hurd boots! Again, thanks to the help from the
kind folks over at libera #hurd and their excellent work. Do something like:
--8<---------------cut here---------------start------------->8---
./pre-inst-env guix system image --image-type=hurd64-qcow2 \
gnu/system/examples/bare-hurd.tmpl
--8<---------------cut here---------------end--------------->8---
producing something like: /gnu/store/...-disk-image.
Run the image in QEMU:
--8<---------------cut here---------------start------------->8---
guix shell qemu@7 -- qemu-system-x86_64 \
--machine q35 \
-m 4096 \
--enable-kvm \
--device rtl8139,netdev=net0 \
--netdev user,id=net0,hostfwd=tcp:0.0.0.0:11022-:2222 \
--snapshot \
--hda /gnu/store/...-disk-image
--8<---------------cut here---------------end--------------->8---
and login
--8<---------------cut here---------------start------------->8---
11:03:20 janneke@dundal:~/src/guix/hurd-team
$ ssh -p 11022 root@localhost
Last login: Sun Nov 10 10:09:00 2024 from 10.0.2.2
This is the GNU Hurd. Welcome.
root@guixygnu ~# uname -a
GNU guixygnu 0.9 GNU-Mach 1.8/Hurd-0.9 x86_64 GNU
--8<---------------cut here---------------end--------------->8---
Most notably, besides the expected updates, this series adds an indirection
for gcc and gcc-toolchain, (current-gcc) and (current-gcc-toolchain)
respectively, as the 64bit Hurd needs gcc-14. We may also want to think about
image names hurd64-qcow2 etc. and their defaults, vs hurd-qcow2/hurd32-qcow2.
We'll probably also want a 64bit childhurd service, etc, etc...
This series builds on/waits for #73927, which I intend to rebase and push
later this weekend if there are no further comments. And I guess that the
pending blog post will also need an update :)
For your hacking convenience I have reset and updated the `hurd-team' branch.
Greetings,
Janneke
Janneke Nieuwenhuizen (31):
gnu: mig: Update to v1.8+git20231217.
gnu: gnumach: Update to v1.8+git20240714.
gnu: hurd: Update to v0.9.git20240714.
gnu: gcc: Add indirections current-gcc, current-gcc-toolchain.
gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.
gnu: cross-libc: Support cross-building for the 64bit Hurd.
gnu: bash-minimal: Fix build for 64bit Hurd.
gnu: elfutils: Fix build for 64bit Hurd.
gnu: grep: Fix build for the 64bit Hurd.
gnu: patch: Fix build for the 64bit Hurd.
gnu: libxcrypt: Support the 64bit Hurd.
gnu: libstdc++: Support the 64bit Hurd.
gnu: gcc-13, gcc-14: Support being used as parent for gcc-static.
DRAFT gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.
system: image: Add hurd64 image types.
gnu: Add libgpg-error-1.50.
gnu: libgcrypt: Use libgpg-error-1.50 for the 64bit Hurd.
gnu: perl: Support cross-building for the 64bit Hurd.
gnu: openssl-3.0: Support the 64bit Hurd.
gnu: pciutils: Support the 64bit Hurd.
gnu: libpciaccess: Support the 64bit Hurd.
gnu: netdde: Update to c0ef248dc7c5ccc1273e2a796f3ece30c5b645df.
gnu: netdde: Support the 64bit Hurd.
gnu: rumpkernel: Update to f1ffd6405f225336e595a0f99f01095ed7438337.
gnu: rumpkernel: Support the 64bit Hurd.
gnu: hurd: Build fixes for the 64bit Hurd.
gnu: git-minimal: Support the 64bit Hurd.
gnu: inetutils: Fix build for the 64bit Hurd.
gnu: grub: Fix build for the 64bit Hurd.
gnu: guile-fibers: Fix build for the 64bit Hurd.
system: hurd: Use 64bit gnumach for the 64bit Hurd.
doc/guix.texi | 9 +-
gnu/ci.scm | 4 +-
gnu/local.mk | 9 +
gnu/packages/admin.scm | 14 +-
gnu/packages/avr.scm | 7 +-
gnu/packages/base.scm | 74 ++++---
gnu/packages/bash.scm | 9 +
gnu/packages/benchmark.scm | 6 +-
gnu/packages/bootloaders.scm | 10 +-
gnu/packages/bootstrap.scm | 46 ++++-
gnu/packages/c.scm | 4 +-
gnu/packages/chicken.scm | 7 +-
gnu/packages/commencement.scm | 35 ++--
gnu/packages/containers.scm | 5 +-
gnu/packages/cross-base.scm | 27 +--
gnu/packages/crypto.scm | 15 ++
gnu/packages/dlang.scm | 3 +-
gnu/packages/elf.scm | 6 +-
gnu/packages/engineering.scm | 4 +-
gnu/packages/gawk.scm | 3 +-
gnu/packages/gcc.scm | 69 ++++---
gnu/packages/gnupg.scm | 19 +-
gnu/packages/golang.scm | 3 +-
gnu/packages/guile-xyz.scm | 2 +-
gnu/packages/hurd.scm | 187 ++++++++++++------
gnu/packages/julia-xyz.scm | 3 +-
gnu/packages/lisp.scm | 3 +-
gnu/packages/llvm.scm | 7 +-
gnu/packages/make-bootstrap.scm | 60 +++---
gnu/packages/mpi.scm | 3 +-
gnu/packages/parallel.scm | 5 +-
gnu/packages/patches/gnumach-version.patch | 23 +++
gnu/packages/patches/grub-hurd64.patch | 32 +++
gnu/packages/patches/hurd-64bit.patch | 56 ++++++
gnu/packages/patches/inetutils-hurd64.patch | 65 ++++++
.../patches/libpciaccess-hurd64.patch | 58 ++++++
gnu/packages/patches/libxcrypt-hurd64.patch | 38 ++++
gnu/packages/patches/netdde-csum.patch | 18 ++
gnu/packages/patches/openssl-hurd64.patch | 99 ++++++++++
gnu/packages/patches/pciutils-hurd64.patch | 31 +++
gnu/packages/pciutils.scm | 25 ++-
gnu/packages/perl.scm | 20 +-
gnu/packages/rocm.scm | 3 +-
gnu/packages/tls.scm | 9 +
gnu/packages/version-control.scm | 8 +-
gnu/packages/xorg.scm | 23 ++-
gnu/system.scm | 1 -
gnu/system/hurd.scm | 11 +-
gnu/system/images/hurd.scm | 47 ++++-
guix/packages.scm | 8 +-
guix/platforms/x86.scm | 11 +-
guix/utils.scm | 15 +-
m4/guix.m4 | 12 +-
53 files changed, 1025 insertions(+), 246 deletions(-)
create mode 100644 gnu/packages/patches/gnumach-version.patch
create mode 100644 gnu/packages/patches/grub-hurd64.patch
create mode 100644 gnu/packages/patches/hurd-64bit.patch
create mode 100644 gnu/packages/patches/inetutils-hurd64.patch
create mode 100644 gnu/packages/patches/libpciaccess-hurd64.patch
create mode 100644 gnu/packages/patches/libxcrypt-hurd64.patch
create mode 100644 gnu/packages/patches/netdde-csum.patch
create mode 100644 gnu/packages/patches/openssl-hurd64.patch
create mode 100644 gnu/packages/patches/pciutils-hurd64.patch
base-commit: 7105e7125882be35e334448eafd6d81b37b627f0
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
- [bug#74290] [PATCH 00/31] Add support for x86_64-gnu, aka the 64bit Hurd.,
Janneke Nieuwenhuizen <=
- [bug#74290] [PATCH 02/31] gnu: gnumach: Update to v1.8+git20240714., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 03/31] gnu: hurd: Update to v0.9.git20240714., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 01/31] gnu: mig: Update to v1.8+git20231217., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 06/31] gnu: cross-libc: Support cross-building for the 64bit Hurd., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 08/31] gnu: elfutils: Fix build for 64bit Hurd., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 10/31] gnu: patch: Fix build for the 64bit Hurd., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 11/31] gnu: libxcrypt: Support the 64bit Hurd., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 05/31] gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd., Janneke Nieuwenhuizen, 2024/11/10
- [bug#74290] [PATCH 04/31] gnu: gcc: Add indirections current-gcc, current-gcc-toolchain., Janneke Nieuwenhuizen, 2024/11/10