免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5181 | 回复: 8

[NetBSD] NetBSD 6.0 Dom0 + Xen 4.1 + NetBSD 6.0 DomU + Debian 6.0 DomU 装配流水帐 [复制链接]

论坛徽章:
0
发表于 2012-11-30 17:10 |显示全部楼层
本帖最后由 airfy 于 2012-12-01 11:34 编辑

越来越喜欢NetBSD,简洁、稳定。可惜大神们很少上来分享他们的心得。互联网上关于NetBSD的中文资料也很少,有一个网站上有NB的中文版手册,是翻译的,有兴趣的新手可以去看看,www.jiarun.org 。对Xen的完美支持是NetBSD众多优点中的其中一个,为了方便自己使用,现将我的NetBSD/Xen有关的安装配置记个流水帐,其中一些很容易完成的,或网上很容易查到相关资料的,就一句话带过。同时欢迎大家查漏补缺,指出错误之处,多谢。
下面这些网站提供了大量的资料可供查阅:
1,www.netbsd.org/docs
2, wiki.netbsd.org
3, wiki.xen.org
4, www.jiarun.org
5, www.vpsee.com


好了,进入正题。

一、安装NetBSD 6.0 Dom0
  1. 正常安装NB6.0,full installation set,发现6.0版本已经支持我的笔记本电脑上的触摸版和 intel wifi 5100,开心。内核文件/netbsd 有14M多,不爽。

  2,配置 /etc/rc.conf , 配置 /etc/mk.conf, 配置…… 。更具体的内容请参考官网的NB guide 和 pkgsrc guide,或者到 www.jiarun.org 看中文翻译版。下面是我的 mk.conf 文件:

FETCH_USING?=wget
.sinclude "/usr/pkg/share/mk/cpuflags.mk"
.sinclude "/usr/pkg/share/mk/optimize_gcc.mk"
ALLOW_VULNERABLE_PACKAGES=YES

  3,配置中文环境,安装WQY字体,安装中文输入法scim 。下面是我的 .xinitrc 文件内容。用openbox做桌面窗口管理器的话,需要把.xinitrc默认的一个时钟三个xterm都注释掉。openbox桌面过于干净,建议新手还是别用它。网上有一篇<窗口管理器Openbox入门指南>,有兴趣的可以看看,并不难。

export LANG=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim

exec openbox-session

  4,自定义内核源代码并编译,这样做是为了减小内核。其实现在的电脑配置都很高,不必为了十几M的内核去折腾,所以这一步,以及下面所有编译内核文件的步骤都是可选的。做完这一步后,内核文件减小为7M多。参考文档同上。老鸟也可直接做完Dom0后再编译内核。

  5,安装NetBSD 6.0 Dom0。
    具体的过程请参考 NetBSD/xen Howto 文档。目前只有 Xen 3.1 才支持 PCI pass-through ,所以要想让DomU使用一些PCI硬件的话,最好安装Xen 3.1。我在安装3.1时编译通不过,只好安装4.1了。
    关键点:a)安装完sysutils/xenkernel41后,cp /usr/pkg/xen41-kernel/xen.gz /.
               b)自定义NB Dom0的内核文件并编译。源文件是 /usr/src/sys/arch/amd64/conf/XEN3_DOM0,编译后把生成的 netbsd copy到 / ,注意拷贝之前先备份原文件
               c)对于不想自定义Dom0内核的,可以直接从官网下载 ftp.netbsd.org/pub/NetBSD/NetBSD-6.0/你的port/binary/kernel/netbsd-XEN3_DOM0.gz 到 /
               d)不必使用grub,用NB的bootloader就可以了。编辑/boot.cfg,可使用的XEN方面的参数可参考wiki.xen.org 和 man 5 boot.cfg 。要注意的是,NetBSD的console参数是 =pc 。下面是我的/boot.cfg的内容,供参考:

menu=Boot Xen 4.1 with 1GB for Dom0:load /netbsd.MYKERNEL_XEN3_DOM0 console=pc;multiboot /xen.gz iommu=0 dom0_mem=1024M,max:1024M
menu=Boot Xen 4.1 with Dom0 in single user mode:load /netbsd.MYKERNEL_XEN3_DOM0 -s;multiboot /xen.gz iommu=0 dom0_mem=1024M,max:1024M
#menu=Test:load /netbsd-XEN3_DOM0;multiboot xen.gz iommu=0
menu=Boot MYKERNEL_BASE normally:rndseed /var/db/entropy-file;boot netbsd.MYKERNEL_BASE
menu=Boot MYKERNEL_BASE in single user:rndseed /var/db/entropy-file;boot netbsd.MYKERNEL_BASE -s
menu=Boot GENERIC:rndseed /var/db/entropy-file;boot netbsd.GENERIC
menu=Disable ACPI:rndseed /var/db/entropy-file;boot netbsd.MYKERNEL_BASE -2
menu=Disable ACPI and SMP:rndseed /var/db/entropy-file;boot netbsd.MYKERNEL_BASE -12
menu=Drop to boot prompt:prompt
default=1
timeout=5
clear=1


二,创建NetBSD 6.0 DomU
    这个地方有些复杂,关键点在于:正确的配置虚拟网卡,正确的DOMU配置文件。仍然参考 NetBSD/xen How to 。注意:目前XenTools4.1及以下的版本只支持 xm 命令。
    说一下我的安装方法,其它安装方法请老鸟们补充。先 dd if= 出来一个 几十G的文件,这个文件就是一个虚拟磁盘,NB DomU就是安装在这个磁盘上的。在上面提到的官网FTP站点把netbsd-INSTALL_XEN3_DOMU.gz 和 netbsd-XEN3_DOMU.gz 下载下来。创建DomU的配置文件,安装NB的时候,先用这个kernel: netbsd-INSTALL_XEN3_DOMU.gz , 我是用CDROM安装的,磁盘配置部分就是:disk = ['file:……', 'phy:……'] ,并设置 root= 从CDROM启动。安装后NB后,不要重启或关机,而是运行 halt -p 命令,然后更改配置文件,把kernel改成用这个:netbsd-XEN3_DOMU.gz , 并把 root = 改成正确的值,我的是 root = "xbd0"
    NB DomU 跟 NB Dom0 完美无缝集成,很好很强大。配置DomU就跟平常配置NB一样就可以了。


三,创建Debian 6.0 DomU
    参考NetBSD/xen How to 中关于Linux DomU 的硬盘配置的部分;参考wiki.xen.org,其中有一篇文章叫 Debian Guest Installation Using Debian Installer;参考Debian官网,好像也有个Xen wiki
    需注意的地方:
    a)我是用Debian Installer安装的。同样先 dd if= 出来一个虚拟磁盘。安装时,要按照上面的参考文档配置 kernel = "xxx/vmlinuz" , ramdisk = "xxx/initrd.gz", extra = “xxx” , 前面两个文件同样要到Debian官网上下载。
    b)DomU配置文件中硬盘部分的描述要小心,应该用 xvda。
    c)安装时文件系统要选ext2,跟往常一样的安装bootloader
    d)安装后要把kernel, ramdisk, extra注释掉
    e)如果在字符console下启动Debian 6.0 DomU,则启动到某一行之后你将无法再看到任何输出,但实际上Debian已经正常启动了。造成这个问题的原因可能是键盘或字符等配置方面的问题。一个替代方案是:在NetBSD Dom0 的 X Window 桌面下通过虚拟终端来运行Debian DomU,这样可以进入到Debian DomU的命令行;或者也可以在NB Dom0的 X Window下使用VNC:xm create Debian_DomU.cfg之后,xm vncviewer DomainName_of_Debian。因为Debian默认安装后会启动到X桌面,所以我在下面的配置文件中配置了 vfb
    f)下面是我的配置文件,要注意的是,这是安装之后的配置,安装时的配置是略有不同的。

#kernel = "/home/XenDomU/SystemShare/debian-vmlinuz"
#ramdisk = "/home/XenDomU/SystemShare/debian-initrd.gz"
memory = 1024
name = "Debian_1"
vcpus = 1
#cpus= "0"
nics = 2
vif = ['bridge=bridge0','bridge=bridge1']
disk = ['file:/home/XenDomU/DomU2-Debian/debian1-disk.img,xvda,w']
root = "/dev/xvda1"
vfb = ["type=vnc,vncunused=1,vnclisten=0.0.0.0"]
#bootloader = "pygrub"
#extra = "console=hvc0"
   
  
四,其它的问题
     a) Xen官网上提到的参数应该是都能用的
     b) 请使用 xm xxx 命令,不要用 xl xxx
     c) 感觉同时启动 NetBSD DomU 和 Debian DomU 后,DomU里的网卡性能比较差,还要好好研究一下多个DomU并行时的网卡配置。
     d) 有空时要编译一下DomU的内核,太大了,不爽。
     e) 别用opera,总是跟中文输入法冲突。
   

评分

参与人数 1可用积分 +8 收起 理由
gvim + 8 赞一个!

查看全部评分

论坛徽章:
0
发表于 2012-11-30 17:17 |显示全部楼层
http://www.netbsd.org/
国内打开太慢了,原因是该主页大量链接www.google.com

论坛徽章:
0
发表于 2012-11-30 17:20 |显示全部楼层
f5b 发表于 2012-11-30 17:17
http://www.netbsd.org/
国内打开太慢了,原因是该主页大量链接www.google.com


稍等一会儿就好了。前几个月才开始变成这样的。

论坛徽章:
0
发表于 2012-12-01 15:41 |显示全部楼层
netbsd 6.0做为dom0,在哪些方面强于debian6或ubuntu12.04呢?

论坛徽章:
0
发表于 2012-12-01 18:34 |显示全部楼层
ioiioi_cu 发表于 2012-12-01 15:41
netbsd 6.0做为dom0,在哪些方面强于debian6或ubuntu12.04呢?


这其实就是操作系统的比较了。恰巧NetBSD和Debian有很多相似的地方,比如都以严谨、稳定著称,都有优秀的包管理系统。如果非要在鸡蛋里挑刺,那我只能说:
debian6 同时支持 xen 和 KVM,而netbsd6 只能用 xen 做dom0。Debian在众多Linux发行版中以稳定著称,想必是错不了的。但我宁愿相信NetBSD更加稳定,因为我发现,一旦安装配置好netbsd的发行版后,以后使用时就很难再碰到让你犯愁的事情了。我估计原因可能是NetBSD要支持很多平台,而这些平台都是共用代码树的,所以对代码的质量要求很高,这样做的结果是带来了坚固的系统,但也有可能导致无法针对某些平台做特定的优化,如果要做这些优化,只能是安装之后再做一些调优。这只是我的猜测。

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
发表于 2012-12-01 20:48 |显示全部楼层
NetBSD 做桌面好用吗?最近一直在尝试选用一个最适合我的BSD系统。

我其实要求也不高,不开什么特效,装上N卡之后能稳定。ACPI神马的,能正常运行就ok。

论坛徽章:
0
发表于 2012-12-01 21:40 |显示全部楼层
wait_rabbit 发表于 2012-12-01 20:48
NetBSD 做桌面好用吗?最近一直在尝试选用一个最适合我的BSD系统。

我其实要求也不高,不开什么特效,装 ...


你如果最关注的是稳定性,可以考虑一下NetBSD。但是它对硬件的支持总是慢半拍,你如果想用它做桌面,最好先确认一下你的显卡、声卡是否被支持,查询的方法是:下载http://ftp.netbsd.org/pub/NetBSD ... rce/sets/syssrc.tgz, 解压后有个文件叫 GENERIC ,可能是在 /usr/src/sys/arch/i386/conf 目录下,我记不清了。你随便用个文本编辑器就可以打开它,里面会列出支持的显卡、声卡等设备。

由于NetBSD的中文资料比较少,你最大的依靠就是官网上的文档和系统在线文档 man,值得庆幸的是,这些文档做得相当好,基本够用了。CU本版里有精华文章是关于NetBSD desktop的,www.jiarun.org 上有官方guide的中文翻译版,对unix缺乏了解的话甚至可以参考一下 FreeBSD 官方的中文手册里关于<Unix基础>的章节。有了这些文档的帮助应该足够了。

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
发表于 2012-12-01 23:10 |显示全部楼层
回复 7# airfy


    感谢您的详细介绍。:wink:

论坛徽章:
0
发表于 2014-11-28 16:06 |显示全部楼层
本帖最后由 airfy 于 2014-11-28 16:29 编辑

现在在NetBSD 6.1.5上装了XEN 4.2,补充一下以前不清楚的内容

1,虚拟网卡之bridge模式
   -  一般的文档里都是以bridge模式来介绍的。 /etc/ifconfig.bridge0就是在开机时创建了一个网桥 bridge0,还把物理网卡加入到这个网桥了。如不使用网桥,则无需创建bridge0
   - 当domU运行时,是成对创建虚拟网卡的,即一个domU会创建至少一对网卡:一个创建在dom0,另一个是domU里的网卡,它们之间是连在一起的。当运行hvm guest时,在dom0里创建的就是tap0,tap1..., 当运行pv guest时,在dom0里的就是xvifAiB。如果它们被配置成bridge模式,则它们都会被加入bridge0这个网桥。
   - 当运行hvm guest时,在dom0里创建了两个虚拟接口,一个是tap0,另一个是xvifAiB,默认使用的是tap0,但是如果在hvm guest里安装了 pv on hvm driver,则使用xvif,不再用tap0, pv on hvm 驱动的作用之一就是告诉hvm guest:"你现在是作为虚拟机来运行的,请使用我特别为你虚拟的设备"
   
2,虚拟网卡之NAT和路由模式
    - 由于hvm guest的配置文件中设置了 type=ioemu,所以强制使用了qemu-ifup 这个脚本,结果是被强制使用了bridge模式。xen 4.2 里无法配置hvm guest指定其它脚本来配置NAT或路由模式
   - PV guest 配置文件中通过 script=vif-ip, ip=A.B.C.D 来配置成NAT或路由模式,结果是dom0里生成的xvif 的IP是A.B.C.D

3,以NAT为例配置dom0的IPNAT (参考The NetBSD Network FAQ)
    - 配置/etc/ipf.conf
        pass in from any to any
        pass out from any to any
    - 配置/etc/ipnat.conf
        map eth0 10.0.0.0/24 -> 0/32
    - 配置/etc/rc.conf,启用ipfilter和ipnat
        ipfilter=YES
        ipnat=YES
    - 配置/etc/sysctl.conf, 启用ip转发
      net.inet.ip.forwarding=1
    - 重启后domU就可以使用NAT了

4, 因为使用XL,所以无需再启动XEND


附上hvm guest配置文件:
  1. #kernel = '/usr/pkg/lib/xen/boot/hvmloader'
  2. builder = 'hvm'
  3. memory = '4096'
  4. vcpus = 2

  5. disk = [ 'file:/data/xen/xenDomU/DomU1-Win7/win7_1.img,ioemu:hda,w',
  6.          'phy:/dev/cd0a,hdc:cdrom,r']
  7. name = "DomU1-Win7"
  8. vif = [ 'type=ioemu,bridge=bridge0' ]
  9. acpi = 1
  10. apic = 1
  11. boot = 'dc'
  12. vnc = 1
  13. serial = 'pty'
  14. usb = 1
  15. usbdevice = 'tablet'
复制代码
NetBSD PV guest的配置文件:
  1. #kernel = "/data/xen/xenDomU/DomU2-NetBSD/netbsd-INSTALL_XEN3_DOMU.gz"
  2. kernel = "/data/xen/xenDomU/DomU2-NetBSD/netbsd-XEN3_DOMU.gz"
  3. memory = 1024
  4. name = "DomU2-NetBSD"
  5. vcpus = 1

  6. #disk = ['file:/data/xen/xenDomU/DomU2-NetBSD/NetBSD_1.img,xvda,w','phy:/dev/sd0a,xvdb,r']
  7. disk = ['file:/data/xen/xenDomU/DomU2-NetBSD/NetBSD_1.img,xvda,w']
  8. vif = ['script=vif-ip,ip=10.0.0.1/24']
  9. boot = "xbd0"
复制代码

评分

参与人数 1可用积分 +8 收起 理由
lsstarboy + 8 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP