On Tue, Mar 5, 2019 at 5:37 PM Waldek Kozaczuk <[email protected]> wrote:

>
> 2019-03-05T14:47:40.839064594 [anonymous-instance:WARN:vmm/src/lib.rs:1080]
>> Guest-boot-time =  62091 us 62 ms,  69244 CPU us 69 CPU ms
>> *root=/dev/vda: No such file or directory*
>> program exited with status 1
>> VFS: unmounting /dev
>> VFS: unmounting /proc
>> VFS: unmounting /
>> Powering off.
>> 2019-03-05T14:47:40.848183837 [anonymous-instance:ERROR:vmm/src/
>> lib.rs:1320] Failed to log metrics while stopping: Logger was not
>> initialized.
>> 2019-03-05T14:47:40.862006: End
>>
>>
>> I don't where this message comes from, I am guessing that something got
>> broken in the command line and OSv tried to run the string "root=/dev/vda"
>> as the command line instead of the desired command line (/usr/games/rogue)?
>> Using build fs=ramfs does not help, so it seems the new virtio stuff is
>> working, just something in the command line got broken?
>>
> Indeed the issue is with the command line and I am actually not surprised.
> I very rarely use rogue as I am not really familiar with this game ;-)
> Never came across it in the 80ties.
>

I wholeheartedly recommend this game. Dennis Ritchie once called it "the
biggest waste of CPU cycles in history". I guess this was a few decades
before Fortnight ;-)

Anyway, I never actually played a full game of rogue on OSv. It just has a
short name, and runs something non-obvious, so I tend to use it as an
example when I need to run something without thinking too much what to
run...



> I any case firecracker appends some Linux-specific parameters to the
> command line
>

You're right. It's very strange, I was assuming it prepends, but it indeed
appends. And when rogue is given a parameter it indeed tries to use it as a
file - apparently a file for a previously saved game (you can stop a game
in the middle and save it to a file, and later restore it).

Anyway, thanks for fixing it.


> (see here for command line example -
> https://github.com/firecracker-microvm/firecracker/releases - default 
> "reboot=k
> panic=1 pci=off nomodules 8250.nr_uarts=0 i8042.noaux i8042.nomux
> i8042.nopnp i8042.dumbkbd") that we do not care for except for
> virtio-mmio stuff which we parse and remove from command line before we
> pass it on the downstream logic. The applications that I have used to test
> OSv on firecracker (*-hello, *-httpserver ones for example) do not care
> about extra parameters but in the rogue case it somehow cares. The
> particular one (*root=/dev/vda*) I think comes from the fact that adding
> block device makes it add this parameter to command line. I think the rouge
> would boot properly with previous version of firecracker.py where it did
> not add block device to firecracker instance. BTW it would be nice to
> change OSv to show received command line in verbose mode. I would find it
> very handy.
>

> Long story short in order to address these command line woes, we need to
> come up with some sort of 'OSv command line marker' scheme. For example we
> could add logic to look for some special end of command line sequence of
> characters or add new boot option called '--cmdline_end_marker' which would
> explicitly state what to look for end of the command line. Do you have
> other ideas?
>

I don't know, your choice :-)

>
> Relatedly you may have noticed that new firecracker.py automatically
> converts usr.img to usr.raw as firecracker cannot deal with qcow :-(
>

I noticed, but also saw a few people on the Internet giving firecracker
examples with a qcow2 image, so how sure are you that it doesn't deal with
qcow2?


> This is not a problem with rofs images (which btw I typically use with
> firecracker as it boots much faster) but leads to 10G usr.raw file when we
> use zfs. Obviously one can pass fs_size_mb parameter to build script but I
> wonder if there is a better way to handle it. Change default 10G to
> something smaller?
>

Perhaps. This 10G was completely arbitrary. Maybe the default should be
smaller and make it clearer in the README or Makefile how to change it.

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to