0
XEN – ARM portCS523 Midterm Presentation         Michael LeMay          Dongyun Jin        Sundeep Reddy      Brian Schoud...
Phase #1   Compile ARM/Linux       Familiarized us with QEMU and ARM        architecture       Necessary, since Xen hos...
Xen Architecture
QEMU system emulator   http://www.qemu.org   Processor emulator including support for    ARM Integrator/CP       ARM102...
QEMU stumbling blocks   QEMU mailing lists are unresponsive       Paul Brook was personally very helpful, however   Onl...
ARM Linux Compilation   Cross compiler needed for any XEN, Linux    compilations involving the ARM architecture   Downlo...
ARM Linux System Creation   Arm.com provides filesystem construction    scripts       Contains precompiled version of bu...
ARM and NFS       Client-Server model – server exports filesystem to        client       QEMU emulates network card on I...
Demonstration   Connect to Michael’s home server   Run QEMU with ARM/Linux   Connect to NFS server   Transfer file bet...
Phase #2   Port Xen hypervisor to ARM       This is the bottom layer in the Xen        architecture       First softwar...
Xen Architecture
Beginnings   Based on Xen 3.0.1       Based on Linux 2.6.12 kernel       Supports IA32, IA32 PAE, AMD64, IA64       Do...
Xen Source Layout   xen-3.0.1       buildconfigs: Makefiles       docs: Documentation       extras            mini-os...
Xen Source Layout (cont.)   xen       acm: sHype mandatory access control       arch: Architecture-specific implementat...
Modifications   Copied IA64-specific directories to form ARM-    specific directories       IA64 is simpler and better-o...
Challenges/Successes   Large base of architecture-specific C code       Wanted to have hypervisor booted by this        ...
Remaining Work   Compile remaining files in arch    subdirectory       Will involve substantial porting effort   Resolv...
Anticipated Difficulties   ARM has only two protection rings, not    four as is the case in x86 and IA64       AMD64 onl...
Upcoming SlideShare
Loading in...5
×

Lemay jin-reddy-schoudel

198

Published on

xen arm

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

No Downloads
Views
Total Views
198
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×