From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: Xen Unikernel: from zero to Hello World! Date: Wed, 28 Oct 2015 12:02:36 +0000 Message-ID: <5630B95C.3010104@citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Carl Patenaude Poulin , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 27/10/15 19:42, Carl Patenaude Poulin wrote: > Hi all, > > Thanks to Andrew Cooper's priceless help, I've managed to put > together a Xen PV kernel that does nothing except loop forever. I'm > going to try making it print "Hello, world!". > > I was hoping someone could fact-check my research. What I've dug up > is: > * I need to load my unikernel with `xl -c` to get console output. -c is a parameter to `xl create` Alternatively, you could do `xl create` followed by `xl console` later. However, there are usability issues with both of these approaches in combination with short-lived domains. > * My kernel currently refuses to load with the `-c` option. From > what I've read online, this is because I need to implement a console > device driver, similar to Mini-OS's xencons_ring.c. What is the error message you get? A PV guest always has a console, so there is no refusal available to happen. I suspect you have actually hit one of the usability issues I eluded to above. > * On Xen debug builds, I don't need a console device driver, I can > just do HYPERVISOR_console_io hypercalls. Always do all development with a debug hypervisor. Even for guests, you get more useful information out when something goes wrong. Longterm you will want a better way of getting logging out of the guest, but console_io hypercalls are a good start for very early bits. ~Andrew