bug-hurd
[Top][All Lists]
Advanced

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

Re: Guix hurd with rumpdisk boots! [WAS Re: Some progress, Guix rumpdisk


From: Janneke Nieuwenhuizen
Subject: Re: Guix hurd with rumpdisk boots! [WAS Re: Some progress, Guix rumpdisk still crashes...]
Date: Fri, 19 May 2023 13:38:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Sergey Bugaev writes:

> On Fri, May 19, 2023 at 1:20 PM Janneke Nieuwenhuizen <janneke@gnu.org> wrote:
>> Okay, yeah I tried
>>
[..]
> See, it's only seeing a single bootstrap module, treating
> hurd/exec.static and the rest as just further arguments to
> hurd/ext2fs.static. I believe you have to separate modules with a
> comma -- see how I've done it in my previous letter. Here's what man
> qemu says:
>
> -initrd "file1 arg=foo,file2"
> This syntax is only available with multiboot. Use file1 and file2 as
> modules and pass arg=foo as parameter to the first module.

Oops, yes I missed that.  New try:

--8<---------------cut here---------------start------------->8---
guix shell qemu -- qemu-system-i386 \
-m 4096 \
--enable-kvm \
--device rtl8139,netdev=net0 \
--netdev user,id=net0,hostfwd=tcp:0.0.0.0:11022-:2222 \
--snapshot \
--no-reboot \
--device virtio-serial-pci \
--nographic \
--serial mon:stdio \
--hda debian-hurd-20220824.img \
--kernel gnumach-1.8-486 \
--append "root=part:2:device:wd0 console=com0" \
--initrd "hurd/ext2fs.static ex2fs \
--multiboot-command-line='\${kernel-command-line}' \
--host-priv-port='\${host-port}' \
--device-master-port='\${device-port}' \
--exec-server-task='\${exec-task}' \
--store-type=typed \
--x-xattr-translator-records \
'\${root}' \
'\$(task-create)' \
'\$(task-resume)' \
,hurd/exec.static exec \
'\$(exec-task=task-create)'"
--8<---------------cut here---------------end--------------->8---

gives

--8<---------------cut here---------------start------------->8---
module 0: hurd/ext2fs.static ex2fs 
--multiboot-command-line='${kernel-command-line}' 
--host-priv-port='${host-port}' --device-master-port='${device-port}' 
--exec-server-task='${exec-task}' --store-type=typed 
--x-xattr-translator-records '${root}' '$(task-create)' '$(task-resume)' 
module 1: hurd/exec.static exec '$(exec-task=task-create)'
2 multiboot modules
[hang]
--8<---------------cut here---------------end--------------->8---

>> When I use noide with
>>
>>      http://cdimage.debian.org/cdimage/ports/latest/hurd-i386/ 
>> debian-hurd-20220824.img
>>
>> like so
>>
>>     multiboot /boot/gnumach-1.8-486.gz root=part:2:device:wd0 console=com0 
>> noide
>>
>> I get
>>
>>     ext2fs: part:2:device:wd0: No such device or address
>
> Wait, no, don't try that with an installer image (that's what
> "cdimage" is, right?).

No, it's not a cdimage (the name of the url is fu), this is a
pre-installed qemu qcow image.  The README says

    To give Debian GNU/Hurd a try, it is probably easier to simply run the
    preinstalled image, which is provided here: [...]

so using this instead of installing something myself ensures we are
looking an the same thing.  Is there any newer image that I could try?

> Install it properly first and boot the installed system. The
> installation image, as I understand from Samuel's explanations, does
> not actually access the drive/cdrom, it's located on a ramdisk that is
> loaded into RAM by GRUB.

Yeah, so what I've tried should really work, right?

>> see full log attached.  The root (disk) is already in the format that
>> rump expects, rigth?
>
> Not that I know anything about rump, but my understanding is it does
> not care about the format, it's ext2fs that does. rumpdisk simply
> exposes the device.

Ah, that makes sense, right.

>>  Is there anything else I'd need to do; I would
>> like to get this to work on Debian first!
>
> Using rumpdisk on Debian should be a matter of changing
> part:1:device:hd0 to part:1:device:wd0 (why part:2?), and adding
> noide. (Unless I'm misremembering, of course, and note I'm not at all
> qualified to talk about any of this).

Hmm, the image above already has wd0 (part:2:device:wd0)...but it does
not use rump, now it really gets confusing...

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]