Sunday, October 04, 2009

DRM for Radeon HD 4650,4750 & PVOPS Kernel

The most recent features of Jeremy Fitzhardinge kernel have been enabled and
tested at Xen 3.5 Dom0 on top of Ubuntu Karmic Koala (Beta) Server.
Xen host been built reboots directly into Gnome Desttop environment on the
box with Core2Quad CPU, 8 GB RAM, Radeon HD 4X50 Video Card. Tuning
described in details bellow with snapshots of every configuration step been
taken. Deployment Xen Unstable to Ubuntu Karmic Server environment was done
in same way as [1] and is also briefly documented. Xen 3.5 Dom0 with
pvops kernel has been verified via F12 (rawhide) PV DomU install.

First – install on Uubuntu 9.10 Server all packages required for Xen build:-

apt-get install libcurl4-openssl-dev \
xserver-xorg-dev \
python2.6-dev \
mercurial gitk \
build-essential \
libncurses5-dev \
uuid-dev gawk \
gettext texinfo bcc

Second step :-

# cd /usr/src
# hg clone
# cd xen-unstable.hg
Set in
PYTHON = python
# make xen
# make tools
# make install-xen
# make install-tools

Tuning results Xen packages to be placed into /usr/local/lib/python2.6/dist-packages due to Changeset 19594 in xen-unstable.hg. Otherwise, Xen packages would go to /usr/lib/python2.6/site-packages, which is not default location for python 2.6 on Ubuntu 9.10 ( vs F11,F12 ). Thus you won’t be able to start xend in Dom0.
Kernel tuning to turn on Xen Dom0 Support and DRM support for Radeon Video Card.

# git clone git:// linux-2.6-xen
# cd linux-2.6-xen
# make menuconfig

# make -j(x)(number_of_kernels)
# make modules_install install
# mkinitramfs -o /boot/initrd-

Update file /etc/default/grub as follows

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
# Uncomment to disable graphical terminal (grub-pc only)
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# Uncomment to disable generation of recovery mode menu entrys

Update /etc/grub.d/40_cutom as follows

exec tail -n +3 $0
# This file is an example on how to add custom entries
menuentry "Xen 3.4 / Ubuntu 9.10 kernel 2.6.31-rc6 pvops" {
insmod ext2
set root=(hd1,1)
multiboot (hd1,1)/xen-3.5.gz
module (hd0,13)/vmlinuz-
module (hd0,13)/initrd-

Then run

# update-grub

To generate grub.cfg entry for loading Xen Host and reboot via new grub2 entry

Setup F12 PV DomU

# wget
# wget

Create installation profile

disk = ['phy:/dev/sdc7,xvda,w' ]
vif = [ 'bridge=eth1' ]
vfb = [ 'type=vnc,vncunused=1']
kernel = "/home/boris/fedora/vmlinuz"
ramdisk = "/home/boris/fedora/initrd.img"
on_reboot = 'restart'
on_crash = 'restart'

# xm create f12.install
# vncviewer localhost:0

Runtime profile

disk = ['phy:/dev/sdc7,xvda,w' ]
vif = [ 'bridge=eth1' ]
root="/dev/mapper/vg_fedora-lv_root ro"
vfb = [ 'type=vnc,vncunused=1']
on_reboot = 'restart'
on_crash = 'restart'