these are the basic steps of installing domU with xen-tools in ubuntu13.04 64bit in xen4.3

you can also use virt-manager which has an UI, but there may be some bugs between xen and virt-manager.

install a bridge:

before xen4.1, xen will automatically create xenbr0. in xen4.3, things are different, we need to create xenbr0 by hands.

the steps are for the situation where your computer is using dhcp. for static ip setting, the bridge may be not crrect.

first, install a tool named brctl:

sudo apt-get install bridge-utils

sudo brctl (this will show the help info. then you can see how to use commands like 'addbr' or 'addif')

sudo brctl show (this is to see your current status)

then change file "etc/network/interfaces" to this:

auto lo
iface lo inet loopback
auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0
auto eth0
iface eth0 inet manual

then turn xenbr0 up:

sudo ifup xenbr0

then in ifconfig you should see the status of xenbr0 is "up"

sudo ifconfig xenbr0

ok, reboot to get things work

Install PV domu:

sudo apt-get install xen-tools

sudo xen-create-image --hostname=yourhostname --dist=lucid --dir=/home/zmj/xenfile(change it to your own) --mirror=http://cn.archive.ubuntu.com/ubuntu --role=udev --verbose --pygrub --dhcp --passwd

ps:the hostname is the vm’s name

this xen-create-image command will automatically create a *.cfg fill in /etc/xen/ and create "domains/yourhostname/disk.img and swap.img" under your dir (in this example "/home/zmj/xenfile")

if these files, i.e. "domains/yourhostname/disk.img and swap.img" already exist in your dir, then the command will fail. you have three choices: 1.use --force in the command to rewrite the files 2. delete the files by hands 3. change your hostname to something else

the "yourhostname" are suggested to be short, better within 10 chars. there is a case that we cannot get things done until we give a short name to the --hostname.

this command will take a relative long time because it needs to download something via http.

with the *.cfg file you can create VM with 'xm create'. of course you can write *.cfg by yourself as long as the settings in your *.cfg file are correct, which would be much more difficult.

by the way, in /etc/xen there are some example.cfg which you can refer to.

you can find your img file at the --dir you specified at the command, i.e. /home/zmj/xenfile. you can mount this img to see what is inside:)

the --passwd option is important. with this, it will ask you for the pasword of your domu at the end of this command's running. otherwise, you'll not be able to login unless you mount the whole domu img and edit /etc/shadow file. or you can set passwd=1 in /etc/xen-tools/xen-tools.conf, which makes the command always asking a password.

you can use --lvm instead of --dir. more info,  plz refer to http://manpages.ubuntu.com/manpages/precise/man8/xen-create-image.8.html

sudo xl create /etc/xen/yourhostname.cfg (plz teach yourself if dont know how to use xl)

it will throw an error if bridge xenbr0 is missing. or you can modify the .cfg file.

do this command you may see this

Iyk@ubuntu:Æ sud0 xl create /etc/xen/ubuntu.cfg
xend is runnlng, wh1ch may cause unpredlctable results when us1ng th1s xl command.
Please shut down xend before cont1nu1ng.

At this time,you can do this command:

sudo service xend stop

ps:这里因为现在的命令xl不需要使用xend了,以前的xm是需要用到xend的。

sudo xl list

You shall see your domU after this command.

sudo xl console yourhostname

Use this command to go inside the domU with username=root and password=yourpasswd

Press “Ctrl+]” will get you out of the vm console.

Install HVM domU:(if your xen kernel is a vmware virtual machine, you can not create a HVM)

The installation of HVM is much easier than that of a PV.

Put a *.iso file at some directory which is the OS you are going to build, for example win7.iso

Use this command to create an empty *.img file, which will act like the hard disk of your VM.

dd if=/dev/zero of=XXX.img bs=1024k count=(count of bs)

Write a *.cfg file like this:

kernel = "/usr/local/lib/xen/boot/hvmloader"
builder='hvm'
memory = 2048
vcpus=4
shadow_memory = 64
name = "u8s"
vif = [ 'mac=00:16:3E:63:34:21, bridge=xenbr0' ]
disk = [ 'file:/home/zmj/img/ubuntu8s.img,hda,w', 'file:/home/zmj/iso/ubuntu8s.iso,hdc:cdrom,r' ]
boot="bc"
vnc = 1
sdl = 0
vncconsole=1
xen_platform_pci=0
acpi = 1
apic = 1
device_model = '/usr/local/lib/xen/bin/qemu-dm'
stdvga=0
serial='pty'
usbdevice='tablet'

The *.img path and the *.iso path shall be correct. The kelnel path and the device_model path shall be correct.

Use this command to start the installation

sudo xl create *.cfg

After the installation, change “bc” to “c” in the *.cfg file. “bc” means boot from cd, while “c” means boot from hard disk.

Run this command again and you’ll find the VM running

sudo xl create *.cfg

Use this command to see the vm list

sudo xl list

Use this command to open the VM.

sudo xl vncviewer domu

xen创建pvm和hvm的过程的更多相关文章

  1. linux内核分析作业6:分析Linux内核创建一个新进程的过程

    task_struct结构: struct task_struct {   volatile long state;进程状态  void *stack; 堆栈  pid_t pid; 进程标识符  u ...

  2. 第六周分析Linux内核创建一个新进程的过程

    潘恒 原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 task_struct结构: ...

  3. Spring IOC 容器源码分析 - 创建单例 bean 的过程

    1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑.对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去 ...

  4. 实验 六:分析linux内核创建一个新进程的过程

    实验六:分析Linux内核创建一个新进程的过程 作者:王朝宪  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...

  5. 20135202闫佳歆--week6 分析Linux内核创建一个新进程的过程——实验及总结

    week 6 实验:分析Linux内核创建一个新进程的过程 1.使用gdb跟踪创建新进程的过程 准备工作: rm menu -rf git clone https://github.com/mengn ...

  6. 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁

    20135311傅冬菁 分析Linux内核创建一个新进程的过程 一.学习内容 进程控制块——PCB  task_struct数据结构 PCB task_struct中包含: 进程状态.进程打开的文件. ...

  7. 作业六:分析Linux内核创建一个新进程的过程

    分析Linux内核创建一个新进程的过程 进程描述符PCB----task_struct数据结构 操作系统:1.进程管理 2.内存管理 3 文件系统 一.新进程如何创建和修改task_struct数据结 ...

  8. Linux内核分析-分析Linux内核创建一个新进程的过程

    作者:江军 ID:fuchen1994 实验题目:分析Linux内核创建一个新进程的过程 阅读理解task_struct数据结构http://codelab.shiyanlou.com/xref/li ...

  9. Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程

    Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

随机推荐

  1. OpenSSH 使用技巧

    1. 取消 OpenSSH 初次连接 yes 确认 在脚本中有时会使用ssh进行远程连接操作,如果是第一次 ssh 连接往往会提示你是否确认连接并要求你输入yes, 才能继续.如何才能避免这个步骤呢? ...

  2. HAProxy安装配置用于TCP的负载均衡

    HaProxy介绍 Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备.虚拟主机.基于TCP和HTTP应用代理等功能.其配置简单,而且拥有很好的对服务器节点的健康检 ...

  3. Effective java笔记3--类和接口2

    三.接口优于抽象类 java提供两种机制,可以用来定义一个允许多个实现的类型:接口和抽象类.由于java只允许单继承,所以,抽象类作为类型定义受到了极大的限制. 已有的类可以很容易被更新,以实现新的接 ...

  4. 分布式锁之三:Redlock实现分布式锁

    之前写过一篇文章<如何在springcloud分布式系统中实现分布式锁?>,由于自己仅仅是阅读了相关的书籍,和查阅了相关的资料,就认为那样的是可行的.那篇文章实现的大概思路是用setNx命 ...

  5. [C#] 等待启动的进程执行完毕

    有能有时候我们启动了一个进程,必须等到此进程执行完毕,或是,一段时间, 关闭进程后再继续往下走. Example sample1 等待应用程序执行完毕 //等待应用程序执行完毕 private voi ...

  6. leetcode905

    vector<int> sortArrayByParity(vector<int>& A) { vector<int> EVEN;//偶数 vector&l ...

  7. Python基础学习六 操作MySQL

    python操作数据库,需要先安装模块 1.下载MySQL.Redis模块 2.解压后,在当前目录执行 python setup.py install 3.或是pycharm直接选择安装 import ...

  8. 搜索——深度优先搜索(DFS)

    设想我们现在身处一个巨大的迷宫中,我们只能自己想办法走出去,下面是一种看上去很盲目但实际上会很有效的方法. 以当前所在位置为起点,沿着一条路向前走,当碰到岔道口时,选择其中一个岔路前进.如果选择的这个 ...

  9. C++风格与C风格文件读写效率测试-vs2015,vs2017

    void test_write() { ; const char* c_plus_write_file = "H://c_plus_write_file.txt"; const c ...

  10. Eclipse使用hibernate插件反向生成实体类和映射文件

    一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表.最后反向生成Java实体和映射文件,这样可以保证一致性和便捷性. 如果用myeclipse,逆向 ...