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

Re: [Xen-devel] [Help] How to build mini-OS with libc support, like Newlib?

å 2014-09-02 06:55:35ï"Samuel Thibault" <
samuel.thibault@xxxxxxxxxxxx> åéï >Lele Ma, le Tue 02 Sep 2014 17:36:36 +0800, a Ãcrit : >> On Tue, Sep 2, 2014 at 3:47 PM, Samuel Thibault >> <samuel.thibault@xxxxxxxxxxxx> wrote: >> > >> > Lele MA, le Tue 02 Sep 2014 15:20:32 +0800, a Ãcrit : >> > > If Newlib can be used to build mini-os, how to do it? Do I have to compile a >> > > cross-compiler first? >> > >> > Yes. But this all already handled by the Makefile in stubdom/, and see >> > the end of README about the c-stubdom target which builds the c/ >> > directory. >> > >> >> Thank you so much! It is great to build newlib so conveniently. But >> when I run 'make c-stubdom' in stubdom/, it yields: >> >> make: *** No rule to make target `mini-os-x86_64-c', needed by >> `c-stubdom'. Stop" >> >> Do you have any idea about how this happen? > >It's been years since I have had a look at that build system :) > >Apparently the c target somehow gets disabled, but you can add it by >hand in > >TARGETS=$(STUBDOM_TARGETS) c

Samuel, Thank you so much, it helps!

But I have to disable the CONFIG_TEST in /stubdom/c/minios.cfg, or it yields multiple definition:
/media/wind/lab/xen/xen/xen-4.4.0/stubdom/mini-os-x86_64-c/test.o: In function `app_main': /media/wind/lab/xen/xen/xen-4.4.0/extras/mini-os/test.c:542: multiple definition of `app_main' /media/wind/lab/xen/xen/xen-4.4.0/stubdom/mini-os-x86_64-c/main.o:/media/wind/lab/xen/xen/xen-4.4.0/extras/mini-os/main.c:187: first defined here
Does the stubdomain allow only one app_main to run?
I have tried adding "__attribute__((weak))" before "int app_main()" in main.c, so that it will be replaced by the new definition in test.c. It builds well but the VM cannot be created with yielding erros.

Another question confuses me a lot. The c-stub domain exit immediately after prints the "Hello world" defined in /stubdom/c/main.c. And the console functions defined in /extras/mini-os/console/console.c has no effect at all. So, how can I enable the console functions? 

The configurations and Makefiles overwhelm me. Any help would be appreciated.

Apologies if questions are too naive.

Best regards,
Lele MA
Xen-devel mailing list



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