FreeBSD/Xen DOMU w/PAE support
Becky Hester
becky at 3tera.com
Fri Sep 21 11:17:26 PDT 2007
I am currently trying to get FreeBSD 7-CURRENT running as DomU under
CentOS 4.4 and XEN 3.0.4. However, the kernel provided at
http://www.fsmware.com/xenofreebsd/7.0/download/ does not include PAE
support. I have a few questions related to building the kernel from
sources:
I currently have FreeBSD 7-CURRENT installed on native hardware -
FreeBSD 7.0-CURRENT-200708 - and was able to successfully rebuild the
kernel w/o xen support and w/ PAE support resulting in FreeBSD being
able to see all 8G of memory on the machine.
I downloaded the sources from www.fsmware.com (fbsd_xen3.tgz) and tried
to build the kernel with the following commands:
cd /usr/src/sys/i386-xen/conf
config XENCONF
cd ../compile/XENCONF
make cleandepend
make depend
The 'make depend' command fails (see below for output of make depend as
well as the contents of the kernel configuration file.
Any help/suggestions would be appreciated.
Here is the last part of the output from 'make depend'
===> xl (obj)
/usr/src/sys.both/i386-xen/compile/XENCONF/modules/usr/src/sys.both/modu
les/xl created for /usr/src/sys.both/modules/xl
===> zlib (obj)
/usr/src/sys.both/i386-xen/compile/XENCONF/modules/usr/src/sys.both/modu
les/zlib created for /usr/src/sys.both/modules/zlib
cd ../../../modules;
MAKEOBJDIRPREFIX=/usr/src/sys.both/i386-xen/compile/XENCONF/modules
KMODDIR=/boot/kernel DEBUG_FLAGS="-g" MACHINE=i386-xen
KERNBUILDDIR="/usr/src/sys.both/i386-xen/compile/XENCONF" make depend
===> 3dfx (depend)
@ -> /usr/src/sys.both
machine -> /usr/src/sys.both/i386-xen/include
i386 -> /usr/src/sys.both/i386/include
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I-
-DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq
-I/usr/src/sys.both/i386-xen/compile/XENCONF
/usr/src/sys.both/modules/3dfx/../../dev/tdfx/tdfx_pci.c
cc1: note: obsolete option -I- used, please use -iquote instead
===> 3dfx_linux (depend)
@ -> /usr/src/sys.both
machine -> /usr/src/sys.both/i386-xen/include
i386 -> /usr/src/sys.both/i386/include
rm -f .depend
mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I-
-DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq
-I/usr/src/sys.both/i386-xen/compile/XENCONF
/usr/src/sys.both/modules/3dfx_linux/../../dev/tdfx/tdfx_linux.c
cc1: note: obsolete option -I- used, please use -iquote instead
In file included from
/usr/src/sys.both/modules/3dfx_linux/../../dev/tdfx/tdfx_linux.c:37:
@/dev/tdfx/tdfx_linux.h:35:36: error: machine/../linux/linux.h: No such
file or directory
@/dev/tdfx/tdfx_linux.h:36:42: error: machine/../linux/linux_proto.h: No
such file or directory
mkdep: compile failed
*** Error code 1
Stop in /usr/src/sys.both/modules/3dfx_linux.
*** Error code 1
Stop in /usr/src/sys.both/modules.
*** Error code 1
Here are the contents of my config file: (ultimately I would like to
build it with SMP & PAE support)
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-c
onfig.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check
first
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.394.2.3 2004/01/26 19:42:11
nectar Exp $
machine i386-xen
cpu I686_CPU
ident XEN
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" #Default places to look for
devices.
makeoptions DEBUG=-g #Build kernel with gdb(1) debug
symbols
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options SOFTUPDATES #Enable FFS soft updates support
options UFS_ACL #Support for access control
lists
options UFS_DIRHASH #Improve performance on big
directories
options MD_ROOT #MD is a potential root device
options NFSCLIENT #Network Filesystem Client
options NFSSERVER #Network Filesystem Server
# options NFS_ROOT #NFS usable as /, requires
NFSCLIENT
#options MSDOSFS #MSDOS Filesystem
#options CD9660 #ISO 9660 Filesystem
options PROCFS #Process filesystem (requires
PSEUDOFS)
options PSEUDOFS #Pseudo-filesystem framework
options COMPAT_43 #Compatible with BSD 4.3 [KEEP
THIS!]
options COMPAT_FREEBSD4 #Compatible with FreeBSD4
options SCSI_DELAY=15000 #Delay (in ms) before probing
SCSI
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time
extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options CPU_DISABLE_SSE # don't turn on SSE framework
with Xen
#options PFIL_HOOKS # pfil(9) framework
# Debugging for use in -current
options KDB #Enable the kernel debugger
options INVARIANTS #Enable calls of extra sanity
checking
options INVARIANT_SUPPORT #Extra sanity checks of internal
structures, required by INVARIANTS
#options WITNESS #Enable checks to detect
deadlocks and cycles
#options WITNESS_SKIPSPIN #Don't run witness on spinlocks
for speed
# To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
# Bus support
device pci
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
#device ch # SCSI media changers
device da # Direct Access (disks)
#device sa # Sequential Access (tape etc)
#device cd # CD
device pass # Passthrough device (direct SCSI
access)
#device ses # SCSI Environmental Services (and
SAF-TE)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device vga # VGA video card driver
#device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device sc
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt
console
#options FAT_CURSOR # start with block cursor
#device agp # support several AGP chipsets
#defaults
# Floating point support - do not disable.
device npx
device isa
device mem
device io
#######################################
# Serial (COM) ports
#device sio # 8250, 16[45]50 based serial ports
# Parallel port
#device ppc
#device ppbus # Parallel port bus (required)
#device lpt # Printer
#device plip # TCP/IP over parallel
#device ppi # Parallel port interface device
#device vpo # Requires scbus and da
# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to the sio and/or ppc drivers):
#device puc
# Pseudo devices - the number indicates how many units to allocate.
device random # Entropy device
device loop # Network loopback
device ether # Ethernet support
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filter
options XEN
options XEN_PHYSDEV_ACCESS
options XEN_PRIVILEGED_GUEST
options MCLSHIFT=12 # this has to be enabled for Xen as we
can only have one cluster per page
options MSIZE=256
options DIAGNOSTIC
options MAXMEM=(256*1024)
#options NOXENDEBUG=1 # Turn off Debugging
printfs
options DDB
# Our stuff for testing
device em # Intel PRO/1000 adapter Gigabit
Ethernet Card
device if_bridge # Bridging
options XEN_NETDEV_BACKEND
#options XEN_BLKDEV_BACKEND
options XEN_PCIDEV_FRONTEND
More information about the freebsd-current
mailing list