The Lumber Cartel, local 42 (Canadian branch)
 |   |   |   |   |   |   | 
 
 

Library - Xen - How-to - Install kernels

Firstly, the Xen kernel needs to be installed.  This is the 64-bit hypervisor that performs the intial setup of your Xen environment and then passes control over to your Dom0 kernel (this is where the chainloader comes into play during the boot process).  Use the following command to copy it:

cp /usr/pkg/xen3-kernel/xen.gz /

Secondly, the Dom0 kernel needs to be installed.  On the first CD you created, which you used to install NetBSD, you will find a kernel file under /amd64/binary/kernel/ named netbsd-XEN3_DOM0.gz.  Copy it to / (there's also a netbsd-XEN3_DOMU.gz kernel that you can copy in the same manner if you plan to run NetBSD 5 as a DomU).

These are pre-compiled kernels that are provided for your convenience by the NetBSD developers (thanks!) to save you time.  You will probably want to compile custom kernels at some point, which is described in the remainder of this document; for now, you can skip past this to the Boot process configuration page.

IMPORTANT NOTE:  These pre-compiled kernels are for Xen 3.1.4, not Xen 3.3, and if you use them you will receive kernel mismatch errors.  You will need to compile your own Xen Dom0 (and optionally DomU) kernels to get this working, and the documentation for that will be available sometime in January 2009 (the date of this writing is 2009-Jan-05).

Compiling customized kernels

Copy the .tgz files you downloaded from the source/sets/ directory earlier to an empty temporary directory, then from that temporary directory type the following commands:

mkdir /usr/src
 
tar -zxvpf gnusrc.tgz -C / usr/src/* & \
tar -zxvpf sharesrc.tgz -C / usr/src/* & \
tar -zxvpf src.tgz -C / usr/src/* & \
tar -zxvpf syssrc.tgz -C / usr/src/* &

That command above will cause four extractions to occur simultaneously.  Once completed, you will likely only see statistics for one of the four extractions, even though all four were output to the screen simultaneously.  You can use the "pgrep tar" command to see if any tar processes are still running before moving on to the next step...

For now, we'll be using the default kernels.  You will probably want to customize this later, such as to enable pf (and all the ALTQ options), pflog, cgd, etc., which are commented out by default.  For now, this is how you can compile the GENERIC, DOM0, and DOMU kernels:

cd /usr/src && \
./build.sh -u -U -O /usr/obj tools \
kernel=/usr/src/sys/arch/amd64/conf/GENERIC \
kernel=/usr/src/sys/arch/amd64/conf/XEN3_DOM0 \
kernel=/usr/src/sys/arch/amd64/conf/XEN3_DOMU

Now, copy the DOM0 kernel with the following command:

cp /usr/obj/sys/arch/amd64/compile/XEN3_DOM0/netbsd /netbsd-XEN3_DOM0

[Previous] [Index] [Next]

 
 
[Home] [Profile] [Glossary] [Library] [Resources] [Tools] [FAQ] [Site map] [Contact us]

Copyright © Inter-Corporate Computer & Network Services, Inc.  All rights reserved.
All trademarks are the property of their respective owners.