[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#34276: ‘guix system disk-im age’ successfully builds a bad image
From: |
Ludovic Courtès |
Subject: |
bug#34276: ‘guix system disk-im age’ successfully builds a bad image |
Date: |
Sat, 21 Mar 2020 16:58:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi Brice,
Brice Waegeneire <address@hidden> skribis:
>> I investigated a bit. I managed to get our code to cause a kernel
>> panic
>> upon failure (patch below). However I fail to turn that guest kernel
>> panic into a different QEMU exit code.
>>
>> I tried to use the “pvpanic” paravirtualized device (the ‘pvpanic.ko’
>> module in the guest, and “-device pvpanic” on the QEMU command line),
>> but unfortunately that thing is almost undocumented and I can’t get it
>> to turn the panic into a non-zero exit code, nor do I know if it’s
>> possible.
>>
>> Thoughts anyone?
>
> I looked a little into it and I have found how to use pvpanic.
> Unfortunately it's not as straight forward as getting a non-zero exit
> code form qemu. When pvpanic is loaded in a VṂ, as you did with
> “-device
> pvpanic”, generate events[0] on the QMP interface when a crash happen
> and qemu either shutdown or pause when using --no-shutdown[1].
>
> (gnu build marionette) which use the “-monitor” interface could be
> recycled to use “-qmp” a machine interface using JSON.
>
> Following is log of a QMP session where the guest panicked[2]:
Oooh, I see, thanks for digging into this!
Any idea how to implement it? Is QMP a request/reply kind of interface
like the monitor?
Ludo’.