amarao (amarao_san) wrote,

How to compile examples from "Definitive guide to the Xen Hypervisor" under ubuntu

I met compilation error due to relocated includes. The error looks like:

cc -D__ASSEMBLY__  -I../xen/xen/include/public  -c -o bootstrap.x86_32.o bootstrap.x86_32.S
bootstrap.x86_32.S:1: fatal error: arch-x86_32.h: No such file or directory
compilation terminated.


1. You need to install following packages to your system (I assume Ubuntu 32), other systems shall be almost same:

build-essential (or gcc, make, libc6-dev in case of non-debian systems)
linux-headers (at this moment: linux-headers-2.6.32-305)

2. You need change (for chapter2) includes and Makefile:

replace line with CPPFLAGS by following:
CPPFLAGS += -I/usr/src/linux-headers-2.6.32-305/include/

change includes in file bootstrap.x86_32.S to:
#include <xen.h>

in files debug.h and kernel.c replace #include <xen.h> with line
#include <xen/xen.h>

After that make will complete successfully.

P.S. Link to samples download:

JFI, вот так выглядит простейшее ядро операционной системы с hello world:

#include <xen/xen.h>
#include "debug.h"

/* Some static space for the stack */
char stack[8192];

/* Main kernel entry point, called by trampoline */
void start_kernel(start_info_t * start_info)
        HYPERVISOR_console_io(CONSOLEIO_write,12,"Hello World\n");
Tags: howto, xen

  • фурикури

    Я тут его ещё раз пересмотрел, и за гламурным дребезгом (который хорош), я, наконец-таки, рассмотрел сюжет. Первые три серии (я про оригинальный…

  • поздне-анимешное

    Один из интересных водоразделов между западной и восточной (японской, японской) культурой я вижу в районе толстовской фразы "Все счастливые семьи…

  • berserk 2017

    Внезапно, если кто не заметил, уже аж 4 серии нового сезона. И он не менее офигенен, чем предыдущий. При том, что местами анимация провисает, история…

  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment