59 lines
2.1 KiB
Plaintext
59 lines
2.1 KiB
Plaintext
FreeBSD HOWTO
|
|
|
|
This assumes that you are running Xen 2.0 or the unstable as of a week ago.
|
|
|
|
Running the current image:
|
|
1) download kernel-5.2.1.bz2, mdroot.gz, freebsd.sample, and xenargs.sample
|
|
2) uncompress the kernel and mdroot (the mdroot requires 1.4GB uncompressed)
|
|
3) export the mdroot as a loopback device:
|
|
> /sbin/losetup /dev/loopa /var/mdroot
|
|
(This may not work if you have an older losetup - FC2 is known to work)
|
|
4) localize the freebsd.sample to your environment
|
|
5) run the xenargs.sample script
|
|
6) The root password is sundance
|
|
-- If you have problems you can boot into single user mode (look at the options in
|
|
freebsd.sample) and edit /etc/rc.conf to reflect your environment
|
|
|
|
Building the current image:
|
|
1) on a machine running FreeBSD 5.x download sys-5.2.1.tbz and i386-xeno_<latest>.tbz
|
|
kmacy@freebird tar xjf sys-5.2.1.tbz
|
|
kmacy@freebird cd sys-5.2.1
|
|
kmacy@freebird tar xjf ../i386-xeno_041030.tbz
|
|
kmacy@freebird ln -s i386-xeno_041030 i386-xeno
|
|
kmacy@freebird cd i386-xeno/
|
|
# check out sources
|
|
kmacy@freebird bk -r get
|
|
kmacy@freebird cd conf/
|
|
# create compile directory
|
|
kmacy@freebird config XENCONF
|
|
Kernel build directory is ../compile/XENCONF
|
|
Don't forget to do a ``make depend''
|
|
kmacy@freebird cd ../../include/
|
|
# link in xen interface headers
|
|
kmacy@freebird ln -s /t/niners/users/xen/xen-2.0.bk/xen/include/hypervisor-ifs
|
|
kmacy@freebird cd -
|
|
# work around the fact the fact that xen assumes that object files are generated
|
|
# in the same directory as the source, but they aren't on FreeBSD
|
|
kmacy@freebird foreach file (../../include/hypervisor-ifs/*)
|
|
foreach? ln -s $file
|
|
foreach? end
|
|
# generate dependencies file
|
|
kmacy@freebird make kernel-depend
|
|
# build kernel
|
|
kmacy@freebird make -j4 kernel
|
|
<...>
|
|
linking kernel.debug
|
|
text data bss dec hex filename
|
|
2057881 135964 179472 2373317 2436c5 kernel.debug
|
|
objcopy --strip-debug kernel.debug kernel
|
|
|
|
|
|
running gdbserver:
|
|
- as root
|
|
> ./gdbserver <hostname>:<port> --attach <domid>
|
|
|
|
|
|
- from host on the same network
|
|
> gdb kernel.debug
|
|
(gdb) target remote <hostname>:<port></pre></body></html>
|