summaryrefslogtreecommitdiff
path: root/open_issues/64-bit_port.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'open_issues/64-bit_port.mdwn')
-rw-r--r--open_issues/64-bit_port.mdwn151
1 files changed, 12 insertions, 139 deletions
diff --git a/open_issues/64-bit_port.mdwn b/open_issues/64-bit_port.mdwn
index b3e826b7..01a2aad5 100644
--- a/open_issues/64-bit_port.mdwn
+++ b/open_issues/64-bit_port.mdwn
@@ -13,152 +13,25 @@ License|/fdl]]."]]"""]]
[[!inline pages="title(Is there a 64-bit version?)" feeds="no" raw="yes"]]
-**What is left for initial support (32-on-64) is**
-
- * Fixing bugs :)
-
**For pure 64bit support, we need to**
- * bootstrap a distrib
- * port gdb
- * Fix bugs :)
- * Notably it seems to be requiring at least 2G memory to boot.
-
-**Installing a 64bit chroot**
-
-You can use the pre-built image from https://people.debian.org/~sthibault/hurd-i386/initrd-amd64.img.gz and boot that.
-
-Make sure to have `debootstrap >= 1.0.128+nmu2+hurd.1`
-
- debootstrap --foreign --verbose --arch hurd-amd64 --include=debian-keyring,wget,curl,inetutils-ping,openssh-server,openssh-client,nano,less --keyring=/usr/share/keyrings/debian-keyring.gpg sid chroot-hurd-amd64 https://people.debian.org/~sthibault/tmp/hurd-amd64
- mkdir chroot-hurd-amd64/etc/apt/trusted.gpg.d
- ln -s /usr/share/keyrings/debian-keyring.gpg chroot-hurd-amd64/etc/apt/trusted.gpg.d/
-
-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 (and clear debs):
-
- /debootstrap/debootstrap --second-stage
- apt clean
-
-set a root password:
-
- passwd
-
-Avoid core dumpings for now (not supported and hangs):
-
- rm -f /servers/crash
- ln -s crash-kill /servers/crash
-
-Disable the Hurd console, buggy for now:
-
- export TERM=mach
- nano /etc/default/hurd
- # set ENABLE to 'false'
-
-And reboot:
-
- reboot-hurd
+ * bootstrap a distribution. Debian is done. Alpine-Hurd is mostly
+ bootstrapped. Reach out to Sergey if you are interested in an
+ Alpine-Hurd distribution with bleeding-edge software. Reach out
+ to Guix, if you want to help them bootstrap a 64bit Hurd.
-After reboot, you'll probably want to setup network:
+**TODO**
- vi /etc/network/interfaces
- # put there this:
- # auto /dev/eth0
- # iface /dev/eth0 inet static
- # address 10.0.2.15/16
- # gateway 10.0.2.2
+ * Fix swapping with rumpdisk
+ * Fix crash-dump-core server
-**Creating a 64bit disk image**
+**Installing via the installer image**
-You can use the pre-built image from https://people.debian.org/~sthibault/hurd-i386/disk-amd64.img.gz and boot that.
+The installer works fine in qemu. Give it a shot! Let us know
+how it works in real hardware!
-To make a bootable system we really better make the disk image partitioned, and mount the partition:
-
- dd < /dev/zero > disk.img bs=1M count=1 seek=1000
- fdisk disk.img
- # create a new primary partition spanning the whole disk: n p and just accept the defaults, and finish with w
- settrans -ca disk /hurd/storeio -T typed file:disk.img
- settrans -ca disk1 /hurd/storeio -T typed part:1:file:disk.img
- mke2fs disk1
- settrans -ca chroot-hurd-amd64 /hurd/ext2fs disk1
-
-(here we assume that fdisk puts the partition at sector 2048, that's indeed the
-current default behavior)
-
-Then run the same debootstrap command as above.
-
-You can then make the disk bootable:
-
- mkdir chroot-hurd-amd64/boot/grub
- tee chroot-hurd-amd64/boot/grub/grub.cfg << 'EOF'
- set default="0"
- set timeout=5
- menuentry "Debian GNU/Hurd amd64" {
- insmod ext2
- set root=(hd0,1)
- multiboot /boot/gnumach-1.8-486.gz root=part:1:device:wd0
- module /hurd/pci-arbiter.static pci-arbiter \
- --host-priv-port='${host-port}' --device-master-port='${device-port}' \
- --next-task='${disk-task}' \
- '$(pci-task=task-create)' '$(task-resume)'
- module /hurd/rumpdisk.static rumpdisk \
- --next-task='${fs-task}' \
- '$(disk-task=task-create)'
- module /hurd/ext2fs.static ext2fs --readonly \
- --multiboot-command-line='${kernel-command-line}' \
- --exec-server-task='${exec-task}' -T typed '${root}' \
- '$(fs-task=task-create)'
- module /lib/ld-x86-64.so.1 exec /hurd/exec '$(exec-task=task-create)'
- }
- EOF
- grub-install --modules="part_msdos ext2" --boot-directory chroot-hurd-amd64/boot disk
- settrans -ga chroot-hurd-amd64
- settrans -ga disk
- settrans -ga disk1
-
-Note: you need to set the uuid in the grub config according to the uuid produced by the `mke2fs` command.
-
-Then boot it, and proceed like for the chroot case.
-
-**Installing from the debian-ports archive**
-
-For now it's quite empty (not even gcc), but it can be debootstrapped. That will be used to build packages on the buildds.
-
- debootstrap --foreign --verbose --arch hurd-amd64 --extra-suites=unreleased --include=debian-ports-archive-keyring --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg sid chroot-hurd-amd64 https://deb.debian.org/debian-ports/
-
-**Creating a pbuilder chroot**
-
-Here is a sample `/etc/pbuilderrc`:
-
- MIRRORSITE=https://people.debian.org/~sthibault/tmp/hurd-amd64
- AUTOCLEANAPTCACHE=yes
- EXTRAPACKAGES="eatmydata"
- if [ -z "$LD_PRELOAD" ]; then
- LD_PRELOAD=libeatmydata.so
- else
- LD_PRELOAD="$LD_PRELOAD":libeatmydata.so
- fi
- export LD_PRELOAD
- DEBOOTSTRAPOPTS=(
- '--variant=buildd'
- '--force-check-gpg'
- '--keyring=/usr/share/keyrings/debian-keyring.gpg'
- )
- APTKEYRINGS=(/usr/share/keyrings/debian-keyring.gpg)
-
-And this is needed until we get the `aptitude` package built:
-
- sudo ln -sf pbuilder-satisfydepends-apt /usr/lib/pbuilder/pbuilder-satisfydepends
-
-And then you can run `sudo pbuilder create` , `sudo pbuilder login` , `pdebuild`
+[[http://cdimage.debian.org/cdimage/ports/latest/hurd-amd64/current/]]
**Installing a 64bit system**
-In principle crosshurd should be working, one however should add this source to get more packages for now:
-
- deb http://people.debian.org/~sthibault/tmp/hurd-amd64 unstable
-
-into /etc/crosshurd/sources.list/gnu
+In principle crosshurd should be working.