mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
0eef50acd62083f9e80d45ae844940c9b2c5a4a0
Subject: [Xen-devel] [PATCH] Fix initrd support for Linux 2.4/2.6 The following patch sets the default root device to be the null device. This is the behavior Linux is launched with no root device specified in the command line and without a device provided by the boot loader. Previously, the default root device was set to be /dev/ram0. This broke initrd support. This change was made in 2.6 to because of a bug reported on September 14th with dynamic ipconfig. I've recreated his problem and looked through the code and the source of the problem was that his kernel command line was incorrect. He was missing the BOOTP field in the config line requiring that there be an actual root device. This worked with 2.4 but only because 2.4 was also broken. His patch just introduced that bug into 2.6. I've tested this against the 2.6 and 2.4 trees in a recent copy of xen-unstable. I've tested initrd support and ipconfig support (including dynamic ip support). They both now work as expected. If anyone needs an initrd for testing let me know. Regards, -- Anthony Liguori Linux Technology Center (LTC) - IBM Austin E-mail: aliguori@us.ibm.com Phone: (512) 838-1208 Signed-off-by: Anthony Liguori Signed-off-by: ian@xensource.com
###############################
__ __ ____ ___
\ \/ /___ _ __ |___ \ / _ \
\ // _ \ '_ \ __) || | | |
/ \ __/ | | | / __/ | |_| |
/_/\_\___|_| |_| |_____(_)___/
###############################
University of Cambridge Computer Laboratory
3 November 2004
http://www.cl.cam.ac.uk/netos/xen/
What is Xen?
============
Xen is a Virtual Machine Monitor (VMM) originally developed by the
Systems Research Group of the University of Cambridge Computer
Laboratory, as part of the UK-EPSRC funded XenoServers project.
Xen is freely-distributable Open Source software, released under the
GNU GPL.
The 2.0 release offers excellent performance, hardware support and
enterprise-grade features such as live migration. Linux 2.6, 2.4 and
NetBSD 2.0 are already available for Xen, with more operating system
ports on the way.
This file contains some quick-start instructions to install Xen on
your system. For full documentation, see the Xen User Manual. If this
is a pre-built release then you can find the manual at:
dist/install/usr/share/doc/xen/pdf/user.pdf
If you have a source release, then 'make -C docs' will build the
manual at docs/pdf/user.pdf.
Quick-Start Guide - Pre-Built Binary Release
============================================
[NB. Unless noted otherwise, all the following steps should be
performed with root privileges.]
1. Install the binary distribution onto your filesystem:
# sh ./install.sh
Amongst other things, this will install Xen and XenLinux kernel
files in /boot, kernel modules and Python packages in /lib, and
various control tools in standard 'bin' directories.
2. Configure your bootloader to boot Xen and an initial Linux virtual
machine. Note that Xen currently only works with GRUB: less common
alternatives such as LILO are *not* supported. You can most likely
find your GRUB menu file at /boot/grub/menu.lst: edit this file to
include an entry like the following:
# title Xen 2.0 / XenLinux 2.6.9
# kernel /boot/xen.gz dom0_mem=<mem-kb> console=vga
# module /boot/vmlinuz-2.6.9-xen0 root=<root-dev> ro console=tty0
For <mem-kb> you should specify the amount of memory, in kilobytes,
to allocate for use by your initial XenLinux virtual machine. Note
that Xen itself reserves about 32MB memory for internal use, which
is not available for allocation to virtual machines.
For <root-dev>, specify your usual root partition (e.g., /dev/hda1).
3. Reboot your system and select the "Xen 2.0 / XenLinux 2.6.9" menu
option. After booting Xen, XenLinux will start and your
initialisation scripts should execute in the usual way.
Quick-Start Guide - Source Release
==================================
First, there are a number of prerequisites for building a Xen source
release. Make sure you have all the following installed, either by
visiting the project webpage or installing a pre-built package
provided by your Linux distributor:
* GCC (preferably v3.2.x or v3.3.x; older versions are unsupported)
* GNU Make
* GNU Binutils
* Development install of libcurl (e.g., libcurl-dev)
* Development install of zlib (e.g., zlib-dev)
* Development install of Python v2.2 or later (e.g., python-dev)
[NB. Unless noted otherwise, all the following steps should be
performed with root privileges.]
Description
No description provided
174 MiB
0 Stars
1 Watchers
1 Forks
Languages
C
91.8%
Python
1.7%
Assembly
1.7%
Makefile
1.1%
Shell
1%
Other
2.4%