Lemay jin-reddy-schoudel


Published on

xen arm

Published in: Technology
1 Comment
  • How would I be able to get in touch with one of the authors of the slide??
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Lemay jin-reddy-schoudel

  1. 1. XEN – ARM portCS523 Midterm Presentation Michael LeMay Dongyun Jin Sundeep Reddy Brian Schoudel I2CS
  2. 2. Phase #1 Compile ARM/Linux  Familiarized us with QEMU and ARM architecture  Necessary, since Xen hosts Linux guest OSs  Outcomes/deliverables:  Instructions for building Linux kernel and software packages for ARM on QEMU  Instructions for using NFS from within ARM/Linux on QEMU
  3. 3. Xen Architecture
  4. 4. QEMU system emulator http://www.qemu.org Processor emulator including support for ARM Integrator/CP  ARM1026EJ-S processor Achieves good performance through dynamic translation Open source emulator
  5. 5. QEMU stumbling blocks QEMU mailing lists are unresponsive  Paul Brook was personally very helpful, however Only offers support for ARM1026EJ-S processor, not newer ARMv6 series Doesn’t support VGA, causes Linux to crash if VGA enabled in kernel config  Enabled verbose kernel messages to detect error
  6. 6. ARM Linux Compilation Cross compiler needed for any XEN, Linux compilations involving the ARM architecture Downloaded from CodeSourcery: http://www.codesourcery.com/gnu_toolchains/arm/d  Supports new ARM EABI Used kernel patches from arm.com, and compiled Linux v.2.6.16-rc3-xen for ARM  Xen support disabled
  7. 7. ARM Linux System Creation Arm.com provides filesystem construction scripts  Contains precompiled version of busybox, ftp, etc.  Produces cramfs system image, loaded as ramdisk during QEMU/ARM bootup
  8. 8. ARM and NFS Client-Server model – server exports filesystem to client QEMU emulates network card on Integrator  Host system acts as server  Emulated Linux system running on QEMU acts as client  Provides the means to install software and transfer files after booting up Linux on QEMU  Should be possible to boot directly from NFS root fs, but difficult on QEMU (received strange error) Works under ARM Linux!  We created script to install proper /etc/fstab in cramfs system image produced previously
  9. 9. Demonstration Connect to Michael’s home server Run QEMU with ARM/Linux Connect to NFS server Transfer file between AMD64/Linux server and ARM/Linux client
  10. 10. Phase #2 Port Xen hypervisor to ARM  This is the bottom layer in the Xen architecture  First software to boot on system
  11. 11. Xen Architecture
  12. 12. Beginnings Based on Xen 3.0.1  Based on Linux 2.6.12 kernel  Supports IA32, IA32 PAE, AMD64, IA64  Doesn’t include any support for ARM
  13. 13. Xen Source Layout xen-3.0.1  buildconfigs: Makefiles  docs: Documentation  extras  mini-os: Minimal OS used for testing  linux-2.6-xen-sparse: Sources for stripped- down dom0 and domU  patches: Patches for full Linux sources  tools: Large collection of tools to run on dom0  xen: Hypervisor sources
  14. 14. Xen Source Layout (cont.) xen  acm: sHype mandatory access control  arch: Architecture-specific implementation  ia64: Itanium sources  x86: IA32, IA32 PAE, and AMD64 sources  common: Architecture-independent sources  drivers: Common drivers for ACPI and console  include: Include files  tools: Figlet, for making block letter ASCII art, and other simple tools
  15. 15. Modifications Copied IA64-specific directories to form ARM- specific directories  IA64 is simpler and better-organized than x86 Copied ARM-specific architectural implementation files from Linux 2.6.16-rc3-xen into xen/arch Copied ARM headers from Linux into include/ asm-arm Modified Makefile rules to use CodeSourcery cross-compilers and pass proper flags
  16. 16. Challenges/Successes Large base of architecture-specific C code  Wanted to have hypervisor booted by this time, but simply too large a job Everything in xen directory compiles, except most of arch subdirectory Many warnings, undoubtedly many problems to resolve after compilation completes
  17. 17. Remaining Work Compile remaining files in arch subdirectory  Will involve substantial porting effort Resolve problems with final executable Port Linux guest OS to form dom0 and domU, using ARM/Linux experience acquired earlier
  18. 18. Anticipated Difficulties ARM has only two protection rings, not four as is the case in x86 and IA64  AMD64 only has two rings as well, perhaps we can learn from their modifications ARM has fairly unique MMU architecture ARM does not provide a timestamp counter, but the clocks Xen provides are based upon such a counter