[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Custom Guest OS not booting



Hi,
Im trying to get a grip on developing with xen and I'm trying to create my own
guest os. The OS is very simple, it prints out a message and then exits.
Source listing below.
When I try to boot this image with xm create -c hello (hello just points
kernel to ivanos) one of two things happen. 

1)
It prints:
Using config file "hello".
Started domain IvanOS, console on port 9627
************ REMOTE CONSOLE: CTRL-] TO QUIT ********

I press return twice and it prints
************ REMOTE CONSOLE EXITED *****************

2)
it prints:
Using config file "hello".
Started domain IvanOS, console on port 9628
************ REMOTE CONSOLE: CTRL-] TO QUIT ********

************ REMOTE CONSOLE EXITED *****************
(104, 'Connection reset by peer')
Error: Error connecting to xend, is xend running?

xend is running. in both cases xend.log shows 
--SNIP--
[2005-10-02 19:10:32 xend] INFO (XendRoot:112) EVENT> xend.console.create [13,
28, 9628]
[2005-10-02 19:10:32 xend] DEBUG (blkif:155) Connecting blkif
<BlkifBackendInterface 28 0>
[2005-10-02 19:10:32 xend] INFO (XendRoot:112) EVENT> xend.domain.create
['IvanOS', '28']
[2005-10-02 19:10:32 xend] INFO (XendRoot:112) EVENT> xend.domain.unpause
['IvanOS', '28']
[2005-10-02 19:10:32 xend] DEBUG (XendDomain:244) XendDomain>reap> domain died
name=IvanOS id=28
[2005-10-02 19:10:32 xend] INFO (XendDomain:564) Destroying domain:
name=IvanOS
[2005-10-02 19:10:32 xend] DEBUG (XendDomainInfo:665) Destroying vifs for
domain 28
--END SNIP--

If someone could point out where im going wrong it would be very much
appreciated. Is there any way to get a more detailed trace of what xen is
doing?

Best regards
Ivan Kelly

--SNIP go.S--
.section __xen_guest
        .ascii "GUEST_OS=ivanos,GUEST_VER=2.0,XEN_VER=2.0,LOADER=generic"
        .byte 0

        .text   
.globl start

start:
        cld
        movl $18,%eax
        movl $0,%ebx
        movl $hello_len,%ecx
        movl $ivanhello,%edx
        int $0x82

        movl $6,%eax
        movl $2,%ebx
        movl $0,%ecx
        int  $0x82

hang:   jmp hang


ivanhello:      .ascii "Welcome to Ivan Os. Have fun!\n"
        hello_len = . - ivanhello
--END SNIP--

--SNIP Makefile--
CC := gcc
LD := ld

# Linker should relocate monitor to this address
MONITOR_BASE := 0xE0100000

# NB. '-Wcast-qual' is nasty, so I omitted it.
CFLAGS := -fno-builtin -O3 -Wall -I. -Wredundant-decls
CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline -ansi

OBJS := 
TARGET := ivanos

default: $(TARGET)

$(TARGET): go.o $(OBJS)
        $(LD) -N -Txen.lds go.o $(OBJS) -o $@.elf
        objcopy -R .note -R .comment $@.elf $@
        gzip -f -9 -c $@ >$@.gz

clean:
        find . -type f -name '*.o' | xargs rm -f
        rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
        find . -type l | xargs rm -f

%.o: %.c $(HDRS) Makefile
        $(CC) $(CFLAGS) -c $< -o $@

%.o: %.S $(HDRS) Makefile
        $(CC) $(CFLAGS) -D__ASSEMBLY__ -c $< -o $@
--END SNIP--

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.