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: Sergey Bugaev
Subject: Re: Guix hurd with rumpdisk boots! [WAS Re: Some progress, Guix rumpdisk still crashes...]
Date: Thu, 18 May 2023 12:21:55 +0300

On Thu, May 18, 2023 at 11:07 AM Janneke Nieuwenhuizen <janneke@gnu.org> wrote:
> Now that was really a great help, thanks!
>
> Ah, I had no idea; this is so helpful.  Maybe a good idea to have this
> on the website/wiki, right?

Glad I was able to help :D

> Is there a way to pass the "console=com0" argument from the QEMU command
> line?  That would be nice!

I don't think you can alter the GRUB script from QEMU cmdline, but
note that on 32-bit x86 (i?86) you don't even technically need GRUB:
QEMU itself can act as a multiboot bootloader. Something like the
following should work:

$ qemu-system-x86_64 -other-args -kernel /path/to/gnumach -append
"console=com0 other kernel args" -initrd "/path/to/pci-arbiter.static
pci-arbiter args,/path/to/rumpdisk.static rumpdisk
args,/path/to/ext2fs.static ext2fs args"

(but I've only tried that with a single bootstrap task).

> Just for fun, find the succesful log attached.

But that... does not look like rumpdisk actually gets used? The
in-kernel IDE drivers are enabled, as you can see here:

> ide: Intel 82371 PIIX3 (dual FIFO) DMA Bus Mastering IDE
>     Controller on PCI bus 0 function 9
> ide: BM-DMA feature is not enabled (BIOS), enabling
>     ide0: BM-DMA at 0xc140-0xc147
>     ide1: BM-DMA at 0xc148-0xc14f
> hd0: got CHS=677/64/63 CTL=c8 from BIOS
> intnull(14)
> hd0: QEMU HARDDISK, 1333MB w/256kB Cache, CHS=677/64/63
> intnull(15)
> hd2: QEMU DVD-ROM, ATAPI CDROM drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15

pass "noide" on gnumach cmdline to disable them, or just compile them
out. I don't see it in your rumpdisk output, but when run this way it
typically discovers that the kernel is already driving IDE, and does
nothing.

Then you're passing "hd0s1" to ext2fs as the device to open; that's
again a reference to the Mach-implemented device (and partition). The
rumpdisk drive is named 'wd0', and you also have to do partitions
libstore-side, so: root=part:1:device:wd0

Sergey



reply via email to

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