[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dual boot Hurd/Linux?



Hello Martin-Éric,

On Tue, Apr 22, 2025 at 04:23:19PM +0300, Martin-Éric Racine wrote:
> Can you share the custom script you use to detect Hurd kernels on the
> Hurd partition and add them to the menu with the correct Hurd-specific
> disk names?

Nothing fancy here, I just manage the hurd entry by hand: on linux, I added to
/etc/grub.d/40_custom the following

menuentry "Debian GNU/Hurd" {
        set root='hd0,msdos1'
        echo    'Loading GNU Mach ...'
        multiboot       /boot/gnumach-1.8-486-up.gz root=part:1:device:hd0
        echo    'Loading the Hurd ...'
        module  /hurd/pci-arbiter.static pci-arbiter \
                --host-priv-port='${host-port}' --device-master-port='${device-port}' \
                --next-task='${acpi-task}' \
                '$(pci-task=task-create)' '$(task-resume)'
        module  /hurd/acpi.static acpi \
                --next-task='${disk-task}' \
                '$(acpi-task=task-create)'
        module  /hurd/rumpdisk.static rumpdisk \
                --next-task='${fs-task}' \
                '$(disk-task=task-create)'
        module  /hurd/ext2fs.static ext2fs \
                --multiboot-command-line='${kernel-command-line}' \
                --exec-server-task='${exec-task}' -T typed '${root}' \
                '$(fs-task=task-create)'
        module  /hurd/exec.static exec '$(exec-task=task-create)'
}

This uses disk drivers in gnumach. You may want to use rumpdisk instead, in
which case you want to change the multiboot line to:

        multiboot       /boot/gnumach-1.8-486-up.gz root=part:1:device:wd0 noide

and change /etc/fstab on the hurd partition accordingly.

Grub + os-prober usually detects the hurd partition, but I'm not sure if the
version in stable creates a functional entry. The version in unstable should
create something closer to the above.

I hope that helps.
João


Reply to: