[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Updated the emacs open issues page.
From: |
Luca |
Subject: |
Re: [PATCH] Updated the emacs open issues page. |
Date: |
Tue, 5 Sep 2023 21:06:56 +0200 |
Hi,
Il 05/09/23 20:27, Guy-Fleury Iteriteka ha scritto:
https://people.debian.org/~sthibault/hurd-i386/initrd-amd64.img.gz
ยป
And how you launch this one. I get: no bootable module
It can be used as a ramdisk; one way to use it (maybe not the simplest,
but more or less the one I used) is to build a bootable grub iso image:
* from the ramdisk extract ext2fs.static and exec.static
* compile gnumach for x86_64 user and kernel (with --disable-user32),
make sure to include debian's ramdisk patch (or maybe take the image
from
https://people.debian.org/~sthibault/tmp/hurd-amd64/pool-hurd-amd64/g/gnumach/gnumach-image-1.8-486_1.8+git20230526-3_hurd-amd64.deb)
* use as grub.cfg something like this:
------------>8--------------------------------
set timeout=0
set default=0
menuentry "gnumach test" {
multiboot /boot/gnumach console=com0 TERM=mach-gnu-color init=/bin/sh
module --nounzip /boot/initrd.gz initrd '$(ramdisk-create)'
module /hurd/ext2fs.static ext2fs \
--multiboot-command-line='${kernel-command-line}' \
--host-priv-port='${host-port}' \
--device-master-port='${device-port}' \
--exec-server-task='${exec-task}' -T typed
gunzip:device:rd0 \
'$(task-create)' '$(task-resume)'
module /hurd/exec.static exec \
--device-master-port='${device-port}' \
'$(exec-task=task-create)'
boot
}
------------>8--------------------------------
* then assemble the grub image and run it:
------------>8--------------------------------
mkdir -p isofiles/boot/grub
mkdir -p isofiles/hurd
cp grub.cfg isofiles/boot/grub/grub.cfg
cp gnumach initrd-amd64.img.gz isofiles/boot/
cp ext2fs.static exec.static isofiles/hurd/
grub-mkrescue -o test-ramhurd.iso ./isofiles
qemu-system-x86_64 -cdrom test-ramhurd.iso -m 4096 -nographic -no-reboot
-boot d
------------>8--------------------------------
* once you have the ramdisk running, launch debootstrap's second stage
as in https://www.gnu.org/software/hurd/open_issues/64-bit_port.html
To have something persistent, I installed it on a second disk attached
to qemu:
- attach a disk image with -hda testdisk.img (which can also be a copy
of initrd-amd64.img.gz, unpacked)
- once the first ramdisk debootstrap completes, mount the disk using the
rumpdisk driver on /dev/wd0, chroot into it and run the --second-stage again
- to boot from disk, I use a similar .iso image, with a different
grub.cfg, taking also the pci-arbiter.static and rumpdisk.static files
from the disk image as above (I haven't tried installing grub on disk
from hurd-amd64 yet):
------------>8--------------------------------
set timeout=0
set default=0
menuentry "gnumach test" {
multiboot /boot/gnumach console=com0 root=part:1:device:wd0
module /boot/pci-arbiter.static pci-arbiter \
--host-priv-port='${host-port}' \
--device-master-port='${device-port}' \
--next-task='${disk-task}' \
'$(task-create)' '$(task-resume)'
module /boot/rumpdisk.static rumpdisk \
--next-task='${fs-task}' \
'$(disk-task=task-create)'
module /boot/ext2fs.static ext2fs \
--multiboot-command-line='${kernel-command-line}' \
--exec-server-task='${exec-task}' -T typed '${root}' \
'$(fs-task=task-create)'
module /boot/exec.static exec '$(exec-task=task-create)'
boot
}
------------>8--------------------------------
- once installed, you can configure a network interface and ssh into it
as a 32-bit hurd virtual machine
Probably there is a simpler way to use it, but I hope this helps :)
I guess once the port is stabilized, it will be easier to have it running.
Luca