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

[Xen-devel] Cannot get mini-os to compile with LWIP



Hi there.

I am trying to get mini-os to compile with LWIP and no matter what incantation 
I chant or potion I quaff, nothing works.

Any help greatly appreciated! I believe I am doing exactly as the instructions 
in README say.

Here is every step of the way from a clean start:

root@builder:/home/larsr# ls
deps.sh  lwip-1.3.2.zip  lwip132  notes.txt  xen-4.4.2.tar.gz
root@builder:/home/larsr# tar -zxf xen-4.4.2.tar.gz
root@builder:/home/larsr# cd xen-4.4.2
root@builder:/home/larsr/xen-4.4.2# ls
CODING_STYLE  CREDITS    Config.mk.orig  Makefile  autogen.sh    config        
config.sub  configure.ac  extras      m4       stubdom  unmodified_drivers  xen
COPYING       Config.mk  MAINTAINERS     README    buildconfigs  config.guess  
configure   docs          install.sh  scripts  tools    version.sh
root@builder:/home/larsr/xen-4.4.2# cd extras
root@builder:/home/larsr/xen-4.4.2/extras# ls
mini-os
root@builder:/home/larsr/xen-4.4.2/extras# cd mini-os/
root@builder:/home/larsr/xen-4.4.2/extras/mini-os# ls
COPYING    Makefile  app.lds  blkfront.c  daytime.c      events.c   gntmap.c  
hypervisor.c  kernel.c  lock.c       lwip-net.c  minios.mk  netfront.c  sched.c 
 tpm_tis.c  tpmfront.c
Config.mk  README    arch     console     domain_config  fbfront.c  gnttab.c  
include       lib       lwip-arch.c  main.c      mm.c       pcifront.c  test.c  
 tpmback.c  xenbus
root@builder:/home/larsr/xen-4.4.2/extras/mini-os# cat README
 Minimal OS
 ----------

This shows some of the stuff that any guest OS will have to set up.

This includes:

 * installing a virtual exception table
 * handling virtual exceptions
 * handling asynchronous events
 * enabling/disabling async events
 * parsing start_info struct at start-of-day
 * registering virtual interrupt handlers (for timer interrupts)
 * a simple page and memory allocator
 * minimal libc support
 * minimal Copy-on-Write support
 * network, block, framebuffer support
 * transparent access to FileSystem exports (see tools/fs-back)

- to build it just type make.

- to build it with TCP/IP support, download LWIP 1.3.2 source code and type

  make LWIPDIR=/path/to/lwip/source

- to build it with much better libc support, see the stubdom/ directory

- to start it do the following in domain0 (assuming xend is running)
  # xm create domain_config

This starts the kernel and prints out a bunch of stuff and then once every
second the system time.

If you have setup a disk in the config file (e.g.
disk = [ 'file:/tmp/foo,hda,r' ] ), it will loop reading it.  If that disk is
writable (e.g. disk = [ 'file:/tmp/foo,hda,w' ] ), it will write data patterns
and re-read them.

If you have setup a network in the config file (e.g. vif = [''] ), it will
print incoming packets.

If you have setup a VFB in the config file (e.g. vfb = ['type=sdl'] ), it will
show a mouse with which you can draw color squares.

If you have compiled it with TCP/IP support, it will run a daytime server on
TCP port 13.
root@builder:/home/larsr/xen-4.4.2/extras/mini-os# cd /home/larsr/
root@builder:/home/larsr# ls
deps.sh  lwip-1.3.2.zip  lwip132  notes.txt  xen-4.4.2  xen-4.4.2.tar.gz
root@builder:/home/larsr# ls lwip132/
CHANGELOG  COPYING  FILES  README  doc  src  test
root@builder:/home/larsr# ls lwip132/src
FILES  api  core  include  netif
root@builder:/home/larsr# cd /home/larsr/xen-4.4.2/extras/mini-os
root@builder:/home/larsr/xen-4.4.2/extras/mini-os# make LWIPDIR=/home/larsr/lwip
lwip-1.3.2.zip  lwip132/
root@builder:/home/larsr/xen-4.4.2/extras/mini-os# make 
LWIPDIR=/home/larsr/lwip132/
CHANGELOG  COPYING    FILES      README     doc/       src/       test/
root@builder:/home/larsr/xen-4.4.2/extras/mini-os# make 
LWIPDIR=/home/larsr/lwip132/src/
find: `/home/larsr/lwip132/src//src': No such file or directory
perl 
/home/larsr/xen-4.4.2/extras/mini-os/../../tools/include/xen-external/bsd-sys-queue-h-seddery
 
/home/larsr/xen-4.4.2/extras/mini-os/../../tools/include/xen-external/bsd-sys-queue.h
 --prefix=minios  >include/list.h.new
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
if ! cmp -s include/list.h.new include/list.h; then mv -f include/list.h.new 
include/list.h; else rm -f include/list.h.new; fi
[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
[ -e include/mini-os ] || ln -sf . include/mini-os
[ -e include/x86/mini-os ] || ln -sf . include/x86/mini-os
gcc -DCONFIG_START_NETWORK -DCONFIG_SPARSE_BSS -DCONFIG_BLKFRONT 
-DCONFIG_NETFRONT -DCONFIG_KBDFRONT -DCONFIG_FBFRONT -DCONFIG_CONSFRONT 
-DCONFIG_XENBUS -fno-builtin -Wall -Werror -Wredundant-decls -Wno-format 
-Wno-redundant-decls -fno-stack-protector -fgnu89-inline -Wstrict-prototypes 
-Wnested-externs -Wpointer-arith -Winline -g -D__INSIDE_MINIOS__ -m64 
-mno-red-zone -fno-reorder-blocks -fno-asynchronous-unwind-tables -isystem 
/home/larsr/xen-4.4.2/extras/mini-os/../../extras/mini-os/include -D__MINIOS__ 
-DHAVE_LWIP -isystem /home/larsr/lwip132/src//src/include -isystem 
/home/larsr/lwip132/src//src/include/ipv4 
-D__XEN_INTERFACE_VERSION__=0x00030205  -isystem 
/home/larsr/xen-4.4.2/extras/mini-os/../../extras/mini-os/include/x86 -isystem 
/home/larsr/xen-4.4.2/extras/mini-os/../../extras/mini-os/include/x86/x86_64 -c 
blkfront.c -o /home/larsr/xen-4.4.2/extras/mini-os/blkfront.o
gcc -DCONFIG_START_NETWORK -DCONFIG_SPARSE_BSS -DCONFIG_BLKFRONT 
-DCONFIG_NETFRONT -DCONFIG_KBDFRONT -DCONFIG_FBFRONT -DCONFIG_CONSFRONT 
-DCONFIG_XENBUS -fno-builtin -Wall -Werror -Wredundant-decls -Wno-format 
-Wno-redundant-decls -fno-stack-protector -fgnu89-inline -Wstrict-prototypes 
-Wnested-externs -Wpointer-arith -Winline -g -D__INSIDE_MINIOS__ -m64 
-mno-red-zone -fno-reorder-blocks -fno-asynchronous-unwind-tables -isystem 
/home/larsr/xen-4.4.2/extras/mini-os/../../extras/mini-os/include -D__MINIOS__ 
-DHAVE_LWIP -isystem /home/larsr/lwip132/src//src/include -isystem 
/home/larsr/lwip132/src//src/include/ipv4 
-D__XEN_INTERFACE_VERSION__=0x00030205  -isystem 
/home/larsr/xen-4.4.2/extras/mini-os/../../extras/mini-os/include/x86 -isystem 
/home/larsr/xen-4.4.2/extras/mini-os/../../extras/mini-os/include/x86/x86_64 -c 
daytime.c -o /home/larsr/xen-4.4.2/extras/mini-os/daytime.o
In file included from daytime.c:10:0:
/home/larsr/xen-4.4.2/extras/mini-os/include/netfront.h:3:24: fatal error: 
lwip/netif.h: No such file or directory
 #include <lwip/netif.h>
                        ^
compilation terminated.
make: *** [/home/larsr/xen-4.4.2/extras/mini-os/daytime.o] Error 1
root@builder:/home/larsr/xen-4.4.2/extras/mini-os#
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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