[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/3] Rumpkernel in GNU Guix
From: |
Janneke Nieuwenhuizen |
Subject: |
Re: [PATCH 0/3] Rumpkernel in GNU Guix |
Date: |
Tue, 16 May 2023 14:04:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Sergey Bugaev writes:
Hello,
> On Tue, May 16, 2023 at 11:58 AM Janneke Nieuwenhuizen <janneke@gnu.org>
> wrote:
>> Sadly when actually using them booting hangs:
>>
>> start: pci.arbiter:
>>
>> So, yeah. To be continued.
>
> Not that I know anything about any of this, but:
>
> * why are you passing --store-type=typed to pci-arbiter? (Bad
> copy-paste from ext2fs options?) AFAICS pci-arbiter does not
> accept that option and does not even link to libstore. (it is
> probably trying to report the error to you, but at that point it has
> not yet opened the Mach console device)
Oops, yeah nice catch; fixed.
> * you have to link everything prior to and including ext2fs
> statically, i.e. the exec server can be the first dynamically-linked
> bootstrap task
I was wondering about that as Debian's grub.cfg uses the static
variants, but in the Guix build only ext2fs.static got built. As I
couldn't find any reference to how building ex2fs.static was triggered,
I ignored it...
Also, until recently Guix simply used /hurd/ext2fs, but that failed on
some machines
https://issues.guix.gnu.org/58320
so it was --kind of reluctantly-- changed. It would be good to know
we're simply supposed to use ext2fs.static.
Thanks to your remark I now found
https://salsa.debian.org/hurd-team/hurd/-/blob/master/debian/rules#L32
and by adding
--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi
to our package the .STATIC variants got nicely built and I used them for
our grub.cfg.
> * you probably need acpi in there too, before rumpdisk?
Ah, I that could be as the boot now hangs at:
start cpi.arbiter: pci pci.arbiter: Starting the PCI system: Gratuitous
error
which got me puzzled; the /boot/grub/grub.cfg from
https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/debian-hurd-20220824.img
now has is pretty similar to ours; it also doesn't start acpi.
I would like to try it but am not sure how to do that, I've tried to
look at
https://salsa.debian.org/installer-team/grub-installer/-/blob/master/otheros.sh#L147
if acpi.static might have been removed recently, but I can only find
ext2fs.static, not even a reference to rumpdisk.static?
Also, there was this recent commit in rumpkernel:
debian/patches/acpi.diff: Disable for now as it breaks booting
https://salsa.debian.org/hurd-team/rumpkernel/-/commit/58540d6ee101fd29894d4f05553cb306229cb74d
Hmm?
Anyway, I've added acpi.static* and it now hangs on that
start acpi:
> Hope this helps :)
Yes, thanks! Not there yet...
Greetings,
Janneke
*)
menuentry "GNU with the Hurd 0.9-2.3ff7053" {
multiboot .../boot/gnumach root=device:hd0s1
root=87c2de13-0154-3617-d0fa-141f87c2de13 gnu.system=...-system
gnu.load=/gnu/store/0q0rwwjhmd3l4y2zkqxx3ai1xmkhjyf6-system/boot
module .../hurd/acpi.static acpi --host-priv-port='${host-port}'
--device-master-port='${device-port}' --next-task='${pci-task}'
'$(apci-task=task-create)' '$(task-resume)'
module .../hurd/pci-arbiter.static pci.arbiter --next-task='${disk-task}'
'$(pci-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}' --store-type=typed
--x-xattr-translator-records '${root}' '$(fs-task=task-create)'
module .../hurd/exec.static exec '$(exec-task=task-create)'
}
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com