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: Joshua Branson
Subject: Re: Guix hurd with rumpdisk boots! [WAS Re: Some progress, Guix rumpdisk still crashes...]
Date: Thu, 18 May 2023 14:06:00 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu)

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> Sergey Bugaev writes:
>
> Hello Sergey,
>
>> On Wed, May 17, 2023 at 9:25 PM Janneke Nieuwenhuizen <janneke@gnu.org> 
>> wrote:
>
>> I've recently been doing this kind of debugging early boot-up process
>> *a lot*, so maybe I could provide some tips indeed. For getting more
>> lines of output, try console=com0 on gnumach cmdline, and run qemu
>> with -nographic -serial stdio or something like that.
>
> Now that was really a great help, thanks!  It helped me (e)diff many
> different qemu runs: plain debian, debian+guix/pci-arbiter,
> debian+guix/pci-arbiter+guix/rumpdisk, plain guix,
> guix+debian/pci-arbiter, guix+debian/pci-arbiter+debian/rumpdisk...
>
> It was immediately obvious that the messages from rumpdisk were (nearly)
> identical.  As the boot went silent at the end I assumed a crash or a
> hang in rumpdisk.  After inspecting the diffs and seeing nothing really
> different, I noticed that I used -m 4096 for debian and -m 1024 for guix
> on the qemu command line.  Do'h, turns out rumpdisk needs at least
> 1200MB...
>
> With
>
>     https://gitlab.com/janneke/guix/-/tree/wip-hurd
>
> I've now succesfully been doing
>
> --8<---------------cut here---------------start------------->8---
> ./pre-inst-env guix system image -t hurd-raw 
> gnu/system/examples/bare-hurd.tmpl
> cp /gnu/store/r5dpblnfsj08jh3hdmn8s6l9xaczwn65-disk-image guix.img
> sudo losetup -o $((512*2048)) /dev/loop0 guix.img
> sudo mount /dev/loop0 /mnt
> edit /mnt/boot/grub/grub.cfg, adding console=com0
> sudo umount /mnt
> --8<---------------cut here---------------end--------------->8---
>
>
> and then
>
> --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 r5dpblnfsj08jh3hdmn8s6l9xaczwn65-disk-image+CONSOLE=COM0
> --8<---------------cut here---------------end--------------->8---
>
> Just for fun, find the succesful log attached.
>
> Is there a way to pass the "console=com0" argument from the QEMU command
> line?  That would be nice!
>
>> Other than that, just attach gdb and see what it crashes on? Like this:
>>
>> $ gdb /path/to/gnumach
>> (gdb) tar rem :1234
>> (gdb) b i386_exception
>> (gdb) b task_terminate
>> (gdb) b Panic
>> (gdb) add-symbol-file /path/to/rumpdisk.static
>> blah-blah (y/n?) y
>> (gdb) c
>
> [..]
>
> Ah, I had no idea; this is so helpful.  Maybe a good idea to have this
> on the website/wiki, right?

Yes it will be.  I will send a patch for it soon.  Adding it for my todo
list.

>
> Greetings,
> Janneke

-- 

Joshua Branson
Sent from the Hurd



reply via email to

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