`

OpenSolaris Xen domU

阅读更多

This page describes the installation of the July 2007 update of OpenSolaris on a Xen domU running under a Linux dom0. It has all been written based on my experiences with Debian GNU/Linux 4.0 as the dom0 so some details might not match your system and others might just be wrong. If you have any corrections or additions, please email me here: rupert.hair@ntlworld.com

 

[edit] Getting the Installation Media

The installer is available as DVD image from Sun's Download Centre here. It is distributed as an ISO file, which has been split into six parts and where each part has been zipped.

I downloaded each file, verified them using the supplied md5sums, and then ran the following from bash to unzip and recombine them:

mkdir /usr/lib/xen-solaris/
for foo in `ls 66-0624-nd-iso-[a-f].zip`; do
    unzip -p $foo;
done >/usr/lib/xen-solaris/66-0624-nd.iso

[edit] Extracting the Kernel and Initial ramdisk

To boot OpenSolaris under Xen you need both a kernel and initial ramdisk available on your dom0. The documentation seems to assume that you are running an OpenSolaris dom0 and so will already have a copy of the kernel and ramdisk available. In our case, with a Linux dom0, we will need to extract the kernel and ramdisk from the ISO image like so:

mkdir /mnt/tmp
mount -o loop,ro 66-0624-nd.iso /mnt/tmp
cp /mnt/tmp/boot/x86.miniroot /usr/lib/xen-solaris/x86.miniroot-66-0624-nd
cp /mnt/tmp/boot/platform/i86xpv/kernel/unix /usr/lib/xen-solaris/unix-66-0624-nd
umount /mnt/tmp

[edit] Configuring Xen for the Installation

Before you can boot OpenSolaris to begin the installation you will need to create a Xen configuration file defining the virtual disk, virtual DVD drive, kernel, ramdisk, memory size and kernel parameters. Here's an example:

name = 'argolin'
memory = '1024'
disk = [ 'file:/mnt/tmp/66-0624-nd.iso,6:cdrom,r', 'phy:/dev/xenvg/argolin.disk,0,w' ]
vif = [ '' ]
on_shutdown = 'destroy'
on_reboot = 'destroy'
on_crash = 'destroy'
kernel = '/usr/lib/xen-solaris/unix-66-0624-nd'
ramdisk = '/usr/lib/xen-solaris/x86.miniroot-66-0624-nd'
extra = '/platform/i86xpv/kernel/unix - nowin -B install_media=cdrom'

This creates a domU called argolin with 1024MB of RAM, a virtual DVD drive from the image in '/mnt/tmp/66-0624-nd.iso', a virtual disk from the device '/dev/xenvg/argolin.disk', the default virtual network interface and the kernel and ramdisk extracted earlier. This configuration file should be saved in '/etc/xen/' and given a name like 'argolin.conf' but this is up to you.

[edit] SMP-related IO Hang (part 1)

My first tries at booting OpenSolaris as a domU resulted in the installer hanging at some point during the main package installation process. After much help from the kind folk of #solaris-xen on irc.oftc.net we found that this was an IO hang which is only seen on SMP systems. A work-around for this bug exists in the kernel but has to be enabled manually using the kernel's built in debugger. The '-kd' kernel parameter, shown below, causes the kernel to open the debugger as soon as possible after boot.

extra = '/platform/i86xpv/kernel/unix -kd - nowin -B install_media=cdrom'

[edit] Booting the Installer

Once you have the DVD image, have extracted the kernel and ramdisk, and have created the Xen configuration file you can boot the installer like so:

xm create -c argolin.conf

The last argument to the command is the name of the configuration file created above.

You should then see:

Using config file "/etc/xen/argolin.conf".
Started domain argolin
SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
WARNING: Found xen v3.0.3-1 but need xen v3.0.4-1-sun
WARNING: The kernel may not function correctly
Configuring /dev
Solaris Interactive Text (Console session)
Using install cd in /dev/dsk/c0d6p0
...
...

The warnings about the Xen version mismatch may be ignored as these apparently only apply to 64bit systems (thanks again #solaris-xen).

[edit] SMP-related IO Hang (part 2)

Following a boot with the '-kd' parameter you should see the following:

Using config file "/etc/xen/argolin.conf".
Started domain argolin
Loading kmdb...

Welcome to kmdb
Loaded modules: [ unix krtld genunix ]
[0]> 

You type:

workaround_6557577?W 1

It shows:

workaround_6557577:             0               =       0x1
[0]>

You type:

:c

It shows:

SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
WARNING: Found xen v3.0.3-1 but need xen v3.0.4-1-sun
WARNING: The kernel may not function correctly
Configuring /dev
...
...

[edit] The Installation

Once OpenSolaris has booted the installer will ask you for details of your location and terminal. Make sure you are using a standard 80x25 terminal and select option 6 (PC console). You should then see a shiny, coloured installer. Make sure you say no to the automatic reboot as we need to transfer the kernel and ramdisk to the dom0 after the install.

[edit] SMP-related IO Hang (part 3)

You'll be glad to hear that this is the last section dealing with the SMP-related IO hang. To avoid having to use kmdb to enable the workaround during each boot, I added the following line to '/etc/system':

set workaround_6557577 = 1

[edit] TCP/UDP Checksum Problem

I also had a problem with the OpenSolaris kernel not generating checksums for TCP and UDP packets. The fix for this is another addition to '/etc/system':

set xnf:xnf_cksum_offload = 0

[edit] Finishing up and Rebooting into the Installed System

Unfortunately we need to update the ramdisk after editing '/etc/system' so:

bootadm update-archive -R /a

As mentioned above, we need to make the OpenSolaris kernel and ramdisk available inside the dom0. It is not strictly necessary to transfer the kernel from the domU to the dom0 as it is identical to the installer's kernel but I have shown the scp for both kernel and ramdisk because this may be necessary if the kernel is upgraded at a later point. I chose a full install so that I could use scp to do this but if you have an ftp server handy you should be OK with a more minimal install. At the post-install console I did the following:

/a/usr/bin/scp -S /a/usr/bin/ssh /a/platform/i86xpv/kernel/unix /a/platform/i86pc/boot_archive \
        10.0.0.1:/usr/lib/xen-solaris/

I didn't really know how to shut down the system so I did:

umount /a
shutdown -y -g0 -i0

Once back at your dom0's prompt you need to edit the domU's configuration file to look something like this:

name = 'argolin'
memory = '1024'
disk = [ 'phy:/dev/xenvg/argolin.disk,0,w' ]
vif = [ '' ]
on_shutdown = 'destroy'
on_reboot = 'destroy'
on_crash = 'destroy'
kernel = '/usr/lib/xen-solaris/unix'
ramdisk = '/usr/lib/xen-solaris/boot_archive'
extra = '/platform/i86xpv/kernel/unix'
root = '/dev/dsk/c0d0s0'

Then fire up the domU again and you're away:

xm create -c argolin.conf
Using config file "/etc/xen/argolin.conf".
Started domain argolin
SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
WARNING: Found xen v3.0.3-1 but need xen v3.0.4-1-sun
WARNING: The kernel may not function correctly
ip: joining multicasts failed (4) on xnf0 - will use link layer broadcasts for multicast
Hostname: argolin.xen.tardis.ed.ac.uk
...
...
argolin.xen.tardis.ed.ac.uk console login:

One final note: I was unable to login to the system as root via ssh by default. I only mention this because most Linux distributions now allow ssh root login by default.

分享到:
评论

相关推荐

    OpenSolaris 初体验 - OpenSolaris 2008.05

    【OpenSolaris初体验 - OpenSolaris 2008.05】 OpenSolaris是Sun Microsystems开发的一个基于UNIX的开放源代码操作系统,其2008.05版本为初学者提供了一次探索和体验这个系统的绝佳机会。本文将详细介绍如何准备、...

    OpenSolaris 北大课件(内附OpenSolaris项目中文简明使用手册)

    《OpenSolaris操作系统详解——基于北大课件及中文简明使用手册》 OpenSolaris,由Sun Microsystems开发,是一款开源的、基于UNIX的操作系统,它以其先进的技术、强大的性能和高度可定制性著称。本篇文章将结合北京...

    Pro OpenSolaris

    ### Pro OpenSolaris:一种新的开源操作系统面向Linux开发者与管理员 #### 一、概述 《Pro OpenSolaris:一种新的开源操作系统面向Linux开发者与管理员》是一本由Harry J. Foxwell博士与Christine Tran共同编著的...

    OpenSolaris Bible

    OpenSolaris Bible Paperback: 1008 pages Publisher: Wiley; 1 edition (February 12, 2009) Language: English ISBN-10: 0470385480 ISBN-13: 978-0470385487 Format: PDF You can buy this book: Amazon.com ...

    openSolaris系统

    **openSolaris系统详解** openSolaris是Sun Microsystems公司推出的一款开源操作系统,它是基于Solaris操作系统的源代码发展而来。Solaris系统以其高效、稳定和安全性闻名,尤其在企业级服务器市场占据重要地位。...

    opensolaris 介绍幻灯片

    ### OpenSolaris 详细介绍 #### SUN公司及其开源产品概述 SUN公司,全称为Stanford University Network,是一家致力于网络计算的先驱企业,其愿景“The Network is the Computer”深刻地体现了其对网络技术的前瞻...

    opensolaris中部署samba服务

    在OpenSolaris操作系统中部署Samba服务是一项关键任务,它允许你将系统作为网络服务器,为其他设备提供文件和打印机共享。以下是如何在OpenSolaris上安装、配置和管理Samba服务的详细步骤: 首先,你需要下载适用于...

    在VirtualBox下安装OpenSolaris0811 安装笔记

    标题中提到的知识点是“在VirtualBox下安装OpenSolaris0811安装笔记”。这里需要了解的知识包括: 1. VirtualBox是一款开源的虚拟机软件,允许用户在单个计算机上运行多个操作系统,实现不同系统的虚拟化环境,从而...

    opensolaris virtualization

    本文档将详细介绍OpenSolaris中的虚拟化技术,包括Zones、BrandZ、Xen等,并探讨这些技术如何帮助企业实现资源的高效利用。 #### 虚拟化的必要性 虚拟化的兴起主要是由于对资源整合的需求日益增长。当前的数据中心...

    OpenSolaris 项目简明使用手册 -- 学生指南

    《操作系统介绍:OpenSolaris 项目简明使用手册 -- 学生指南》.pdf

    The Xen Hypervisor and its IO Subsystem

    它支持多种处理器架构,如 x86、x86-64、IA-64 和 PPC,并且可以运行多种操作系统,包括 Linux、NetBSD、FreeBSD、OpenSolaris 等。Xen Hypervisor 的设计目标是提供安全隔离、资源控制、服务质量保证等功能,同时尽...

    OpenSolaris Developer's Reference.pdf

    OpenSolaris是一款开源的操作系统,它基于Solaris操作系统,后者最早由Sun Microsystems公司开发。OpenSolaris是Sun公司对社区的开放源码版本,提供了一个自由和开放的平台,允许用户和开发者使用、修改和重新发布源...

    OpenSolaris 2008.05 安装全解

    OpenSolaris 2008.05 是一个开源操作系统,由 Sun Microsystems 开发,它基于 Solaris 操作系统,并提供了许多创新特性和强大的管理工具。这篇文档详细介绍了如何安装和使用 OpenSolaris 2008.05,包括在物理机器、...

    opensolaris svcs 命令源码

    《OpenSolaris svcs命令详解及其源码剖析》 OpenSolaris操作系统中,svcs命令是服务管理的核心工具,它提供了对系统服务状态、配置、依赖关系等信息的查询和控制功能。本文将深入探讨svcs命令的工作原理,并对源码...

    Sun opensolaris__安全可靠的操作系统的源码分析

    《OpenSolaris:深入解析安全可靠操作系统的源码》 OpenSolaris,源自Sun Microsystems的Solaris操作系统,曾经是高端服务器领域的领航者。这款操作系统以其卓越的性能、安全性和可靠性著称,尤其是在多处理器系统...

    Writing Device Driver(Illumos/OpenSolaris)

    标题:“Writing Device Driver(Illumos/OpenSolaris)”涉及的主题是关于在Illumos开源项目中开发OpenSolaris操作系统设备驱动程序的过程和相关知识。Illumos是基于OpenSolaris的一个开源项目,旨在继续发展和维护...

    Solaris 10及OpenSolaris系统介绍

    ### Solaris 10 及 OpenSolaris 系统介绍 #### Sun系统平台的飞速发展 Sun Microsystems 是计算机科学领域的重要参与者之一,其产品线覆盖了从硬件架构到操作系统等多个层面。Sun 的系统平台随着时间的推移经历了...

    opensolaris 安装

    《OpenSolaris在SPARC平台上的安装指南》 OpenSolaris操作系统不仅支持x86架构,也兼容SPARC架构的硬件。以下是一份详细的OpenSolaris在SPARC平台上的安装教程,旨在帮助用户顺利进行安装过程。 首先,你需要准备...

    opensolaris snoop 命令源码

    《OpenSolaris "snoop"命令源码解析》 在OpenSolaris操作系统中,"snoop"是一个强大的网络监控工具,它允许用户捕获并分析网络数据包。深入理解"snoop"命令的源码,有助于我们更好地掌握网络诊断、性能优化和安全...

    opensolaris用户手册

    ### OpenSolaris系统管理核心知识点解析 #### 一、OpenSolaris系统管理综述 **OpenSolaris** 是一款开源操作系统,它源自Sun Microsystems的Solaris操作系统。OpenSolaris不仅继承了Solaris的强大功能和稳定性,...

Global site tag (gtag.js) - Google Analytics