[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] Success! Xen 3.0.4 on MacBook Pro with Gentoo dom0 and ArchLinux domU

In case anyone else is trying to get Xen working on a MacBook Pro, I thought I would drop this note out here. The configuration is as follows...

Hardware Overview (from System Profiler under OSX):

  Machine Model:        MacBookPro2,2
  Processor Name:       Intel Core 2 Duo
  Process Speed:        2.16 GHz
  Number Of Processors: 1
  Total Number of Cores:2
  L2 Cache (per CPU):   4 MB
  Memory:               3 GB
  Bus Speed:            667 MHz
  Boot ROM Version:     MBP22.00A5.B00
  SMC Version:          1.12f5

  rEFIt 0.9 boot manager
  GRUB 0.97-r3
Gentoo 2006.1 x86_64 no-multilib profile (updated to latest packages from community portage repository as of 20070420.
  ArchLinux 0.8 Voodoo release

I followed the installation directions posted for the MacBook here [1]. It wasn't perfect, so I made a few revisions to that page. For example, the biggest stumbling block was creating multiple kernel images to boot via GRUB. The MacBook Pro has a bug where the keyboard ceases to work on the GRUB page [2]. The workaround is to hot-plug an external USB keyboard and use it to choose other boot profiles.

Also, the current Xen release in Gentoo portage is 3.0.2. I could not get this to work. I used the marineam-xem overlay which uses Xen 3.0.4 along with a modified kernel source. There are no mactel-linux [3] patches for this kernel release so I haven't tried to run X and use the touchpad or other laptop-specific components that are patched.

I then followed the directions given here [4] to build a working dom0 kernel. Again, the directions were hazy/ambiguous in places so I have updated them to highlight certain tricky aspects. I may throw my kernel .config file up somewhere for others to snatch if anyone is interested.

After getting dom0 working, I copied that kernel tree to make a separate domU kernel build. The only differences between the two are the dom0 contains all the backend drivers (no frontend drivers) and the domU config contains all the frontend drivers (and no backend drivers).

I then followed the instructions here [5] to install ArchLinux from a running host. The tricky part here was first creating the sparse loopback file images which I had never done before. The Xen user manual gave good directions on how to perform this operation. The second tricky part was synchronizing the disk device referenced in the domU /etc/fstab to the device created in the dom0 Xen configuration file. Yes, this was my first time installing Xen and that part tripped me up.

I set the ArchLinux file partition to boot using the domU created from Gentoo sources. So far it has worked fine. I imagine I'll have some trouble since the linux-headers package is revved for a 2.6.20 kernel and I'm running a 2.6.16 kernel. Correcting this shouldn't be too onerous.

So, those are my notes. It took me 5 days from a standing start to get this working. I haven't touched Linux since 1994 and I have never touched Xen before. This is a testament to excellent guides, tutorials, and a misspent youth hacking SunOS 4.1. :-)

Most of these notes have already been added the appropriate wikis (still need to update the ArchLinux wiki).


[1] http://gentoo-wiki.com/HARDWARE_Apple_MacBook
[2] http://refit.sourceforge.net/doc/c4s3_keyboard.html
[3] http://mactel-linux.org/
[4] http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo
[5] http://wiki.archlinux.org/index.php/ Install_Arch_from_within_another_distro

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.