kernel compilation
Richard Kojedzinszky
krichy at tvnetwork.hu
Wed Oct 12 15:46:06 UTC 2011
Dear users,
I've set up a freebsd 8.2 xen domU under debian squeeze, and have compiled
a kernel with the attached config.
The first compilation error is here, due to -Werror:
# cc -c -O2 -pipe -fno-strict-aliasing -march=prescott -std=c99 -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef
-Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/usr/src/sys
-I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS
-include opt_global.h -fno-common -finline-limit=8000 --param
inline-unit-growth=100 --param large-function-growth=1000
-mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow
-mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror
/usr/src/sys/i386/xen/xen_machdep.c
cc1: warnings being treated as errors
/usr/src/sys/i386/xen/xen_machdep.c:217: warning: 'xpq_queue_log' defined
but not used
Then for some reason I've chosen to add an #ifdef around the mentioned
variable, and then the kernel compiled well, and worked well.
Then I decided to strip more options from the kernel I dont use, so I
removed SCTP from the config. Recompiled the kernel, and with that kernel,
the domU crashes upon creation, nothing gets logged on the console.
I would like to investigate this problem, why does removing an
unreferenced variable make the kernel crash upon creation?
But, unfortunately I cannot make my xen dom0 to make coredumps of the
domains, for some reason only empty files get created under
/var/xen/dump/. Do someone have experience with this?
Anyway, I am trying to use freebsd as a xen PV domU, as in my experience a
PV domU can be much faster than a HVM domU. Is it true?
Regards,
Kojedzinszky Richard
TvNetWork Nyrt.
E-mail: krichy (at) tvnetwork [dot] hu
PGP: 0x54B2BF0C8F59B1B7
Fingerprint = F6D4 3FFE AF03 CACF 0DCB 46A1 54B2 BF0C 8F59 B1B7
-------------- next part --------------
#
# XEN -- Kernel configuration for i386 XEN DomU
#
# $FreeBSD: src/sys/i386/conf/XEN,v 1.9.2.2.2.1 2010/12/21 17:09:25 kensmith Exp $
cpu I686_CPU
ident XI
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions MODULES_OVERRIDE=""
#options SCHED_4BSD
options SCHED_ULE # ULE scheduler
#options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options SCTP # Stream Control Transmission Protocol
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 NULLFS
#options UFS_GJOURNAL # Enable gjournal-based UFS journaling
#options NFSCLIENT # Network Filesystem Client
#options NFSSERVER # Network Filesystem Server
#options NFSLOCKD # Network Lock Manager
#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 GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
#options COMPAT_43TTY # BSD 4.3 TTY compat (sgtty)
#options COMPAT_FREEBSD4 # Compatible with FreeBSD4
#options COMPAT_FREEBSD5 # Compatible with FreeBSD5
#options COMPAT_FREEBSD6 # Compatible with FreeBSD6
#options COMPAT_FREEBSD7 # Compatible with FreeBSD7
#options KTRACE # ktrace(1) support
#options STACK # stack(9) 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 AUDIT # Security event auditing
# Debugging for use in -current
#options KDB # Enable kernel debugger support.
#options DDB # Support DDB.
#options GDB # Support remote GDB.
#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
options PAE
nooption NATIVE
option XEN
nodevice atpic
nodevice isa
options MCLSHIFT=12
# To make an SMP kernel, the next two lines are needed
#options SMP # Symmetric MultiProcessor Kernel
#device apic # I/O APIC
device pci
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
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!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
device pf
device pflog
options MAC
options MAC_BIBA
More information about the freebsd-xen
mailing list