Hi, list!
Currently I am trying to write C programs on Stubdom. In my
understanding, the c-stubdom is trying to show us that we can just write
standard C programs, linking it to mini-os,(with the APP_OBJS points to the
appropriate obj files), then we can run the program as a separate Xen
Domain, am I right?
I successfully compiled the c-stubdom ( by "make c-stubdom"
in
XEN_ROOT/stubdom ), and i got the mini-os.gz. Does it mean that i can use it
as a kernel to create a new domain, and what it would do is simply out put
"hello wolrd" then hangs up? But i get the VMWare crash when i tried
to do
this. ( Yes, i deployed XEN 3.3 in VMware).
On the other hand, to find out how stubdom links applications (such
ioemu, grub) with MiniOS, I examined the Makefile in XEN_ROOT/stubdom, I
noticed that it is achieved by passing "APP_OBJ= target objects" to
the make
command of miniOS. In the Makefile of MiniOS, I found the following scripts:
$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds
$(LD) -r -d $(LDFLAGS) -\( $^ -\) $(APP_LDLIBS) --undefined main -o $@
Is the purpose of this scrpits to adjust the APP_OBJS according to
app.lds, so it can be linked to MiniOS?
then:
$(OBJ_DIR)/$(TARGET): links $(OBJS) $(OBJ_DIR)/$(TARGET)_app.o arch_lib
$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJ_DIR)/$(TARGET)_app.o $(OBJS)
$(LDARCHLIB) $(LDLIBS) -o $@.o
$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
Above scripts replaces the "__attribute__((weak)) int
app_main(start_info_t *si)" within XEN_ROOT/Extra/Mini-os/Kernel.c with the
adjusted APP_OBJS?
Thanks!
--
Regards!
Ryan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel