unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Assaf Gordon <assafgordon@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: GUIX 0.7 under QEMU/KVM with virtio
Date: Sat, 04 Oct 2014 20:15:55 -0400	[thread overview]
Message-ID: <54308DBB.9070103@gmail.com> (raw)
In-Reply-To: <87bnprh8ha.fsf@gnu.org>

Hi,

Thanks for the help.
Some more details (replying out of order):

On 10/04/2014 04:42 PM, Ludovic Courtès wrote:

>> Is there a way to fix this? force the kernel to load virto driver?
>
> Currently all the drivers needed to mount the root partition must be
> explicitly loaded in the initrd.  So yes, you would need to have the
> virtio modules loaded from the initrd (info "(guix) Initial RAM Disk"):
>
>    (operating-system
>      ...
>      (initrd (lambda (file-systems . rest)
>                (apply base-initrd file-systems
>                       #:extra-modules '("virtio.ko" "virtio_ring.ko"
>                                         "virtio_blk.ko")
>                       rest))))
  
Two more things were needed:
1. adding"virtio_pci.ko" and "virtio_net.ko"  to the list of drivers.
2. Labeling "/dev/vda1" as "gnu-disk-image" (when doing "mkfs.ext4 -L").
    This wasn't needed to boot from "/dev/sda1", but was needed to use "/dev/vda1".
    Perhaps some hard-coded thing ?

With these, the VM boots with virtio disk and network.
>
>> After boot (before setup), I'm trying to get a login prompt on the serial port (which QEMU's redirect to the terminal).
>> I can do the following:
>>     echo "hello" > /dev/ttyS0   => appears on the terminal
>>
>> I can also boot with "console=ttyS0,9600n8" (in the GRUB command line), and the kernel messages appear on the console.
>> However, I can't get a login prompt on the serial console.
>>
>> I tried variations of:
>>     agetty -L 9600 ttyS0 linux
>>
>> But they all exit after a timeout of few seconds, and no prompt appears on the serial console.
>> Any ideas ?
>
> I haven’t tried agetty, but it seems to have a hard-coded default login
> program of “/bin/login”, which doesn’t exist here.  Could you try
> invoking it with -l $(guix build shadow)/bin/login ?
>
> Alternately you could try adding a mingetty service to the
> configuration:
>
>    (operating-system
>      ...
>      (services (cons (mingetty-service "ttyS0")
>                      %base-services)))
>

I still can't get serial console to work, perhaps needs more fidgeting.
Trying "mingetty ttyS0" from the command line fails with:
     ttyS0: no controlling tty: Operation not permitted
So I'm not sure 'mingetty' is the way to go.

I'm not well-versed in scheme, so it will take me some more time to figure things out...

-Assaf

  reply	other threads:[~2014-10-05  0:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-04  4:59 GUIX 0.7 under QEMU/KVM with virtio Assaf Gordon
2014-10-04 20:42 ` Ludovic Courtès
2014-10-05  0:15   ` Assaf Gordon [this message]
2014-10-05 12:29     ` Ludovic Courtès
2014-10-05 23:29       ` Assaf Gordon
2014-10-06 19:28         ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54308DBB.9070103@gmail.com \
    --to=assafgordon@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).