基于Xen4.7在Ubuntu16.04 LTS搭建Drakvuf使用环境

基于Xen4.7在Ubuntu16.04 LTS搭建Drakvuf使用环境

引言
本文是对这次搭建过程的一次总结。由于个人能力有限,断断续续和小组成员们搭建了半个学期,最后实现了drakvuf官网上示例视频的几个功能。搭建过程中也出了一些问题,最后解决了大部分,剩下虚拟机的网络配置有些问题,还需要完善。
实验环境
ubuntu 16.04 LTS,xen4.7,一台服务器(穷学生买不起符合实验硬件要求的机子,只能向研究所的老师借了一台,感谢T^T)

搭建过程和步骤
好,下面开始正题~~~

1.先装一些必要的依赖

sudo apt-get install wget git bcc bin86 gawk bridge-utilsiproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools pciutils-devbuild-essential make gcc clang libc6-dev libc6-dev-i386 linux-libc-devzlib1g-dev python python-dev python-twisted python-gevent python-setuptools libncurses5-dev patch libvncserver-dev libssl-dev libsdl-dev iasl libbz2-deve2fs libs-dev git-core uuid-dev ocaml libx11-dev bison flex ocaml-find libxz-utils gettext libyajl-dev libpixman-1-dev libaio-dev libfdt-dev cabextract libglib2.0-dev autoconf automake libtool check libjson-c-dev libfuse-dev libsystemd-daemon-dev

报错,把 libsystemd-daemon-dev 改成 libsystemd-dev

2.子模块的安装

在github上下载drakvuf源码;

cd ~
git clone https://github.com/tklengyel/drakvuf
cd drakvuf
git submodule init
git submodule update
cd xen
./configure --enable-githttp
make -j4 dist-xen
make -j4 dist-tools

“git submodule init”就是安装drakvuf所需要的子模块(xen, rekall, libvmi等)

3.分配内存和cpu

sudo su
make -j4 install-xen
make -j4 install-tools
echo "GRUB_CMDLINE_XEN_DEFAULT=\"dom0_mem=4096M,max:4096M dom0_max_vcpus=4 dom0_vcpus_pin=true hap_1gb=false hap_2mb=false altp2m=1 flask_enforcing=1\"" >> /etc/default/grub
echo "/usr/local/lib" > /etc/ld.so.conf.d/xen.conf
ldconfig
echo "none /proc/xen xenfs defaults,nofail 0 0" >> /etc/fstab
echo "xen-evtchn" >> /etc/modules
echo "xen-privcmd" >> /etc/modules
update-rc.d xencommons defaults 19 18
update-rc.d xendomains defaults 21 20
update-rc.d xen-watchdog defaults 22 23

3.重启,进入xen4.7,重启后要按shift键,进入grub引导

update-grub
reboot

4.检测
检测内核版本,大于3.8的就行~~

uname -r

检测是否在XEN上运行,结果显示应该是: Running in PV context on Xen v4.7

sudo xen-detect

检测正在运行的domain,这时候应该只有一个Domain0(就是ubuntu~)

xl list

结果长这样子~~

Name                                        ID   Mem VCPUs  State   Time(s)
Domain-0                                     0  4096     2     r-----     614.0

5.给虚拟机分配硬盘空间

lvcreate -L20G -n windows7-sp1 vg

官网上就这一句,但是我折腾了好几天从头开始看怎么在ubuntu的磁盘上分区,最后成功的,具体过程如下(使用了fdisk这个工具)

  • fdisk分出lvm的类型
    Ubuntu是给出一系列的代号对应的lvm类型,大致看一下fdisk的使用方法就能知道了
  • pvcreate /dev/sdb3
  • vgcreate vgpool /dev/sdb3 vgpool是新的卷组名称
  • lvcreate -L 20G -n win7 vgpool

6.生成cfg配置文件

arch = 'x86_64'
name = "win7"
seclabel='drakvuf:vm_r:drakvuf_domU_t'
maxmem = 3000
memory = 3000
vcpus = 1
maxcpus = 1
builder = "hvm"
boot = "cd"
hap = 1
acpi = 1
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值