freebsd on opensolaris dom0
Bruno Damour
llama at ruomad.net
Fri Jun 5 05:01:04 UTC 2009
Adrian Chadd wrote:
> 2009/6/5 Bruno Damour <llama at ruomad.net>:
>
>> Hello,
>> I have tried for some time to get to install freeBSD on an up-to-date (SXCE
>> b114) opensolaris xvm box (xen 3.1.4) which already has had success in
>> running in a quite stable xay NetBSD and Gentoo Linux as PV domUs and
>> different Windows flavours (Server 2008, Win7 RC, Xp, Server 2003) as HVM
>> domUs.
>>
>
> G'day!
>
> I've been meaning to trial FreeBSD under Opensolaris/Xen. Thanks for
> trying it out!
>
>
>> However, freeBSD does not boot as an HVM host and xen-kernel have been
>> impossible to find.
>>
>
> It should boot as a HVM host. Please post further details. I admit I
> haven't even looked at HVM support yet as I just use PVM exclusively
> here.
>
>
>> So I'm glad eventually Adrian put some kernel/images, which I have tried to
>> test.
>> My goal is to be able to install and run a current freebsd.
>>
>> It has been a bit hacky, but it boots allright with adrians kernel and image
>> as xbd0. I've even succeeded to install a 7.2-RELEASE via sysinstall/ftp to
>> a zvol (under xbd2).
>>
>
> Could you please post what you've done here?
>
>
>> However, even if ftp install works, network traffic in general (ftp to dom0,
>> ssh, csup) panics the domu and in about 1 case of 4 even freezes the dom0.
>>
>
> I'll upload a more recent filesystem image now for you to test. It
> should be more stable. I'd like to fix all all of the DomU panics as
> soon as possible. I'd also be curious about the DomU messing up the
> Dom0 - I've seen it happen before locally using Linux. I think the
> various Xen related groups out there would love to hear about any
> issues which upset dom0 stability.
>
>
>> It might be related to my dom0 being an amd64 (intel core2 quad E6600)
>> whereas adrian's system is i386 ?
>>
>
> Later versions of the Xen hypervisor should support 32-bit PVM on
> 64-bit hypervisor/dom0.
>
>
>> I cannot even try to build a new kernel because :
>> - there is no xen in 7.2-RELEASE which I can isntall
>> - updating via csup to current does not work (as mentioned)
>> - I cannot find a way to install a current snapshot as I cannot boot from
>> the downloaded iso images i have (no cdrom, Adrian's kernel only boots from
>> root image)
>> - I have no bare metal freebsd host I can use to build a different kernel
>>
>> Any ideas ?
>>
>
> I've built a more recent -current image here to do tests with. I'll
> upload it as a filesystem image for you to do testing with.
>
> I'd like whatever information you can provide about the domU panic. It
> should dump you into the kernel debugger. Please type "bt" at the
> (ddb) prompt and then provide me with a copy of the domU console
> output. Don't kill the domain either; I may ask for further ddb
> commands.
>
> My goal is to try and sort out the majority of stability issues in the
> single vcpu DomU case before 8.0-RELEASE. I don't have any plans (ie,
> I just can't dedicate any further unpaid time) to work on making 64
> bit support function or making the installation process easier.
>
Thanks for your quick reply !
Here is a summary of the process to install on a zvol
<xen config : dworkin.cfg
[...]
bootloader = "/usr/lib/xen/bin/pygrub"
<kernel from adrian chadd>
kernel = "/boot/kernel/kernel"
extra = "vfs.root.mountfrom=ufs:xbd0"
extra += ",boot_verbose=yes,kern.hz=256"
[...]
disk = [
'file:/tank/xvm/FreeBSD/root-head-r192577.img,0xCA00,w',
'phy:/dev/zvol/dsk/tank/dworkin.raw,0xCA20,w'
]
<NB: important to use xbd2 not xbd1, it would be used as swap>
# zfs create -V 15G tank/dworkin.raw
# xm new dworkin.cfg
<in xterm to get menu right>
# xm start dworkin -c
<boot>
# sysinstall
< ->Index->Partition
xbd2, auto, write
->Exit Install>
# halt
# xm start dworkin -c
</dev/xbd2s1 shows up>
# sysinstall
< ->Index->Label
xbd1, auto, write (ignore errors)
->Exit Install>
# halt
<halt fails : # xm shutdown dworkin from Dom0)
# xm start dworkin -c
<all new slices show up>
# mkdir /mnt/freebsd
# newfs /dev/xbd2s1a
# mount -t ufs /dev/xbd2s1a /mnt/freebsd/
# mkdir /mnt/freebsd/var
# newfs /dev/xbd2s1d
# mount -t ufs /dev/xbd2s1d /mnt/freebsd/var/
# mkdir /mnt/freebsd/tmp
# newfs /dev/xbd2s1e
# mount -t ufs /dev/xbd2s1e /mnt/freebsd/tmp
# mkdir /mnt/freebsd/usr
# newfs /dev/xbd2s1f
# mount -t ufs /dev/xbd2s1f /mnt/freebsd/usr
# swapon /dev/xbd2s1b
# ifconfig xn0 inet 192.168.0.196 && route add default 192.168.0.1
# echo domain ruomad.local >/etc/resolv.conf
# echo nameserver 192.168.0.1 >>/etc/resolv.conf
# cat /etc/resolv.conf
# ping www.freebsd.org
<network OK>
# cd /mnt/freebsd
# sysinstall
<->Standard->
sysinstall get all, install to /mnt/freebsd, tem /mnt/tmp, IPv6, >
<reboot>
cd /mnt/freebsd
tweak /etc/ttys (add xc0), /etc resolv.conf, /etc/fstab
<halt>
change dworkin.cfg with :
extra = "vfs.root.mountfrom=ufs:xbd2s1a"
it boots !!! ;-) but I cannot cvs
And here is the panic.
This one is directly after booting to your kernel and image and cd to a
free space on the freshly mounted zvol (as above).
csup /root/stable-supfile
Connected to 64.74.207.33
Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex xennetif_tx (network transmit lock) r = 0
(0xc39440a0) locked @
/home/adrian/work/freebsd/xen/svn/head/sys/dev/xen/netfront/netfront.c:1118
KDB: stack backtrace:
X_db_sym_numargs(c0360308,c3527ab8,c0111ac5,c0383ef6,45e,...) at
X_db_sym_numargs+0x146
kdb_backtrace(c0383ef6,45e,ffffffff,c0511ef4,c3527af0,...) at
kdb_backtrace+0x29
witness_display_spinlock(c036278d,c3527b04,4,1,0,...) at
witness_display_spinlock+0x75
witness_warn(5,0,c038c634,c3527b60,c,...) at witness_warn+0x1fd
trap(c3527b8c) at trap+0x13e
alltraps(c39440a0,0,c0383ef6,45e,6450ffff,...) at alltraps+0x1b
xlvbd_add(c3944000,c3527cc8,c00c3814,c03d5d00,c3783738,...) at xlvbd_ad
intr_event_execute_handlers(c37097ec,c3783700,c0358a72,4e9,c3783770,...
_event_execute_handlers+0x125
intr_event_add_handler(c3708bf0,c3527d38,c03587a5,336,c37097ec,...) at
t_add_handler+0x41f
fork_exit(c00afcd0,c3708bf0,c3527d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc3527d70, ebp = 0 ---
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x3
fault code = supervisor read, page not present
instruction pointer = 0x21:0xc0300ad9
stack pointer = 0x29:0xc3527bcc
frame pointer = 0x29:0xc3527bfc
code segment = base 0x0, limit 0xf9800, type 0x1b
= DPL 1, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 12 (irq135: xn)
[thread pid 12 tid 100024 ]
Stopped at xlvbd_add+0x2039: cmpl $0,0(%edi)
db>
And here is the only message I have got about Dom0 crash
Jun 5 01:43:57 amber xnb: [ID 703724 kern.warning] WARNING:
xnb_from_peer: failed to map buffer: -3
I will try your knew image this evening (after work ;-)
Thanks a lot
Bruno
More information about the freebsd-xen
mailing list