亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 11621 | 回復(fù): 6
打印 上一主題 下一主題

[FreeBSD] kvm下安裝virtio驅(qū)動(dòng)的freebsd [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-10-21 13:09 |只看該作者 |倒序?yàn)g覽
kvm下安裝客戶(hù)機(jī)據(jù)說(shuō)采用virtio驅(qū)動(dòng)效率會(huì)高一些。不過(guò)virtio是gpl授權(quán)協(xié)議的,freebsd不會(huì)默認(rèn)支持。需要用戶(hù)自行編譯內(nèi)核,F(xiàn)記錄過(guò)程如下

宿主機(jī)OS ubuntu 12.04 desktop 64
客戶(hù)機(jī)OS freebsd 9.0 64

安裝qemu-kvm
apt-get install qemu-kvm

設(shè)置橋接
裝了qemu-kvm后應(yīng)該已經(jīng)連帶安裝了橋接工具bridge-utils。
這個(gè)ubuntu版本默認(rèn)用networkmanager管理網(wǎng)卡設(shè)置,不過(guò)只要手動(dòng)設(shè)置/etc/network/interfaces文件,系統(tǒng)會(huì)自動(dòng)改為使用interfaces設(shè)置。但要先確定/etc/NetworkManager/NetworkManager.conf文件中[ifupdown]項(xiàng)managed=false。
修改interfaces,添加
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
我的主機(jī)一塊網(wǎng)卡,系統(tǒng)中是eth0。eth0不能設(shè)置ip。橋接設(shè)備br0設(shè)為dhcp方式獲取ip。

創(chuàng)建虛擬機(jī)磁盤(pán)
qemu-img create -f qcow2 fb64.img 40G
qcow2鏡像文件格式是稀疏文件,一開(kāi)始很小,會(huì)根據(jù)實(shí)際數(shù)據(jù)擴(kuò)大。所以不必?fù)?dān)心一開(kāi)始設(shè)置得過(guò)大。

創(chuàng)建虛擬機(jī)
sudo qemu-system-x86_64 -smp 2 -m 768 -boot d -drive file=fb64.img,cache=writeback -cdrom /dev/cdrom -net nic,macaddr=00:30:18:a2:91:62 -net tap
我主機(jī)是64位的cpu,需要建立的客戶(hù)機(jī)系統(tǒng)也是64位,所以用qemu-system-x86_64;客戶(hù)機(jī)cpu設(shè)為雙核(宿主機(jī)為雙核);內(nèi)存768MB;設(shè)為光驅(qū)啟動(dòng);虛擬機(jī)磁盤(pán)文件為fb64.img,據(jù)說(shuō)加上cache=writeback速度會(huì)快些;光盤(pán)我用的物理光驅(qū);加入網(wǎng)卡,設(shè)定網(wǎng)卡MAC物理地址;網(wǎng)絡(luò)我打算用橋接的方式,所以網(wǎng)卡類(lèi)型選tap。

安裝freebsd
跟正常安裝一樣。可以選擇安裝ssh。

添加virtio源碼
這時(shí)freebsd系統(tǒng)是沒(méi)有virtio驅(qū)動(dòng)的,還不能添加virtio驅(qū)動(dòng)的設(shè)備。現(xiàn)在磁盤(pán)設(shè)備認(rèn)到的是ada0,網(wǎng)卡是re0。
添加virtio源碼。參照了這篇文章“freebsd下增加kvm-virtio驅(qū)動(dòng)支持的方法”http://i.19830102.com/freebsd%E4 ... page-1/#comment-328
我不懂svn的命令和知識(shí),所以采用了笨辦法:在宿主機(jī)中用wget -r -np http://svn.freebsd.org/base/projects/virtio/sys/dev/virtio和wget -r -np http://svn.freebsd.org/base/projects/virtio/sys/modules/virtio把這兩個(gè)子目錄樹(shù)下載了下來(lái)(也可以直接在freebsd中下載,不過(guò)freebsd默認(rèn)沒(méi)裝wget,要先裝wget)。再用find (剛才下載的目錄路徑) -name index.html|xargs rm把目錄中所有的index.html刪掉,不刪的話(huà)也可以。再用scp命令把兩個(gè)virtio子目錄樹(shù)分別拷貝到/usr/src/sys/dev/和/usr/src/sys/modules/下,如scp -r (先前下載的.../dev/virtio目錄的路徑) root@(客戶(hù)機(jī)的ip):/usr/src/sys/dev/。

編譯內(nèi)核
接下來(lái)按那篇文章中的敘述修改,
修改/usr/src/sys/modules/Makefile,在SUBDIR中vge \的下方添加:

virtio \

修改/usr/src/sys/conf/files.amd64,在dev/uart/uart_cpu_amd64.c (按照你的freebsd實(shí)際cpu版本選擇文件,比如file.i386...)行下方添加:

dev/virtio/virtio.c optional virtio
dev/virtio/virtio_if.m optional virtio
dev/virtio/virtio_bus_if.m optional virtio
dev/virtio/virtqueue.c optional virtio
dev/virtio/pci/virtio_pci.c optional virtio_pci pci
dev/virtio/network/if_vtnet.c optional vtnet
dev/virtio/block/virtio_blk.c optional virtio_blk
dev/virtio/balloon/virtio_balloon.c optional virtio_balloon

修改/usr/src/sys/conf/kmod.mk文件,在MFILES?中添加:

dev/virtio/virtio_bus_if.m dev/virtio/virtio_if.m \

修改/usr/src/sys/amd64(按你自己的freebsd cpu版本選擇)/conf/GENERIC(或者不直接修改默認(rèn)的這個(gè)文件,按照一般網(wǎng)上教程所教的,復(fù)制為一個(gè)名為MYKEREL的文件再修改,具體請(qǐng)自行搜索)添加:

# Linux KVM VirtIO Drivers
device virtio # VirtIO Layout
device virtio_pci # VirtIO PCI Driver
device vtnet # VirtIO Net Interface
device virtio_blk # VirtIO Block Driver
device virtio_balloon # VirtIO Balloon Driver

接下來(lái)開(kāi)始編譯內(nèi)核
cd /usr/src
make buildkernel KERNCONF=MYKERNEL(如果你先前把GENERIC復(fù)制為MYKERNEL的話(huà))
安裝內(nèi)核
make installkernel KERNCONF=MYKERNEL
關(guān)機(jī)
shutdown -p +0

添加virtio設(shè)備
創(chuàng)建新的磁盤(pán)鏡像文件
qemu-img create -f qcow2 fb64virtio.img 40G
使用sudo qemu-system-x86_64 -smp 2 -m 768 -drive file=fb64.img,cache=writeback -net nic,macaddr=00:30:18:a2:91:62,model=virtio -net tap -drive file=fb64virtio.img,cache=writeback,if=virtio啟動(dòng)
登錄系統(tǒng)。把網(wǎng)卡設(shè)備名改過(guò)來(lái)。修改/etc/rc.conf
把先前的re0改為vtnet0。
用gpart show命令(freebsd9.0默認(rèn)會(huì)使用gpt分區(qū))看一下磁盤(pán)設(shè)備,可以看到多了一個(gè)vtbd0的磁盤(pán)。

給新磁盤(pán)分區(qū)
如果你不會(huì)用gpart命令分區(qū),或者對(duì)freebsd分區(qū)不熟悉,可以用bsdinstall來(lái)自動(dòng)分區(qū)。
啟動(dòng)bsdinstall。
問(wèn)你要不要更改默認(rèn)鍵盤(pán)布局,選no。
設(shè)置計(jì)算機(jī)名。
要你選擇從哪個(gè)ftp源安裝。我只是想用bsdinstall來(lái)分區(qū),不想安裝。按鍵盤(pán)esc鍵(不要點(diǎn)other也不要點(diǎn)cancel)。
選擇Guided使用安裝向?qū)?lái)分區(qū)。
選擇Entire Disk,選擇磁盤(pán)vtbd0。提示會(huì)清除選中的磁盤(pán)所有數(shù)據(jù),選yes。
選擇Finish。完成分區(qū)。會(huì)提示找不到安裝文件,不用理會(huì)。
退出bsdinstall。

雖然已經(jīng)可以認(rèn)到新的virtio磁盤(pán),但現(xiàn)在的系統(tǒng)是安裝在非virtio的磁盤(pán)上的,如果只是在啟動(dòng)參數(shù)中把現(xiàn)在的磁盤(pán)加上if=virtio改為virtio磁盤(pán),是無(wú)法啟動(dòng)的。要再次安裝freebsd把freebsd安裝到新的virtio磁盤(pán)上。

安裝freebsd到virtio磁盤(pán)上
掛載virtio磁盤(pán)上的分區(qū)
先前已經(jīng)給新的virtio分了區(qū),現(xiàn)在把其中準(zhǔn)備用來(lái)裝系統(tǒng)的分區(qū)掛載上來(lái)。
mkdir /install
mount -t ufs /dev/vtbd0p2(這是vtdb0磁盤(pán)上準(zhǔn)備用來(lái)裝系統(tǒng)的分區(qū),是vtbd0上的第二個(gè)分區(qū)) /install

編譯安裝freebsd
cd /usr/src
make world DESTDIR=/install
這一步時(shí)間比較長(zhǎng),根據(jù)主機(jī)配置,一般要數(shù)小時(shí)。
make distribution DESTDIR=/install

配置新的freebsd
現(xiàn)在ls /install/etc和/install/boot/kernel會(huì)發(fā)現(xiàn)配置文件很少,并且沒(méi)有內(nèi)核。需要把原來(lái)的freebsd的配置文件和內(nèi)核拷貝過(guò)去。
cp -Rp /etc /install/
我這一步報(bào)錯(cuò),提示namedb文件夾拷不了。
跳過(guò)namedb文件夾,再拷。
cd /etc
ls |grep -v namedb |xargs -I {} cp -Rp {} /install/etc/
再拷貝/boot
cp -Rp /boot /install/
現(xiàn)在掛載的分區(qū)信息跟新的系統(tǒng)啟動(dòng)后的分區(qū)是不一樣的,所以修改/install/etc/fstab
把所有ada0改成vtbd0。

新freebsd安裝完成。可以關(guān)掉了。

也許還有其它更快捷的方法來(lái)安裝。比如把現(xiàn)在添加了virtio的系統(tǒng)打包成iso安裝鏡像再來(lái)安裝,不過(guò)我不會(huì);蛘咧苯影阉衋da0p2分區(qū)上的文件拷貝到vtbd0p2上去,不過(guò)我想系統(tǒng)在運(yùn)行中會(huì)有很多文件拷貝不了,需要反復(fù)排除。誰(shuí)有興趣和時(shí)間的話(huà)可以嘗試一下。

啟動(dòng)virtio磁盤(pán)上的freebsd
修改先前的啟動(dòng)參數(shù),把先前的磁盤(pán)去掉,只用新的virtio的磁盤(pán)啟動(dòng)。先前用bsdinstall分區(qū)的時(shí)候,應(yīng)該自動(dòng)把/分區(qū)設(shè)為啟動(dòng)分區(qū)了,所有應(yīng)該可以正常啟動(dòng)。
sudo qemu-system-x86_64 -smp 2 -m 768 -net nic,macaddr=00:30:18:a2:91:62,model=virtio -net tap -drive file=fb64virtio.img,cache=writeback,if=virtio
我這里啟動(dòng)正常。好了virtio磁盤(pán)和網(wǎng)卡可以正常使用了。

至于virtio磁盤(pán)比非virtio的快多少,我不太清楚,我沒(méi)比較過(guò)。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-10-21 21:48 |只看該作者
svn co .................................

===

10的會(huì)有virtuio


用wget第一次見(jiàn)到

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-10-22 11:25 |只看該作者
回復(fù) 2# 芭比小柒

呵呵,不會(huì)svn。而且freebsd9.0默認(rèn)也沒(méi)裝svn。
virtio是gpl的,freebsd應(yīng)該以后也不會(huì)默認(rèn)內(nèi)核支持的。否則freebsd就會(huì)變成gpl的了。


   

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-10-22 13:04 |只看該作者
回復(fù) 3# kkkggg


    http://svnweb.freebsd.org/base/h ... 470&view=markup  這個(gè)是virtio.h的許可證信息(頭部)
    http://svnweb.freebsd.org/base/h ... 470&view=markup  這個(gè)是virtio.c的許可證信息

一般我看到這個(gè)結(jié)構(gòu),我會(huì)認(rèn)為前一個(gè)許可證是3句版BSD許可證,后一個(gè)是2句版BSD許可證

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2012-10-22 23:03 |只看該作者
樓主說(shuō)的是對(duì),virtio 是 GPL
芭比小柒 君說(shuō)的也是對(duì),F(xiàn)reeBSD 10 的 base 會(huì)包含 virtio

而 FreeBSD 10 -CURRENT 所包含的 virtio 是一個(gè)乎合 BSD 許可証的 "重寫(xiě)" 實(shí)作。
所以,如果閣下是用 i386 或 amd64 的 8.x 或 9.x 安裝 virtio 並不需要像樓主般大費(fèi)周章了。

直接用 ports 的 /usr/ports/emulators/virtio-kmod 的就是了。

如果閣下是用 amd64 的 8.x 或 9.x ,可以到這裡下載有關(guān)的 packages
http://people.freebsd.org/~kuriyama/virtio/

如果閣下是用 i386, amd64 的 10-CURRENT,不用安裝 ports 了,因?yàn)?base 已內(nèi)置了 BSD 授權(quán)版的 virtio

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-10-24 20:38 |只看該作者
樓上是正解

求職 : Linux運(yùn)維
論壇徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亞洲杯之約旦
日期:2015-04-05 20:08:292015年亞洲杯之澳大利亞
日期:2015-04-09 09:25:552015年亞洲杯之約旦
日期:2015-04-10 17:34:102015年亞洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亞洲杯之日本
日期:2015-04-16 16:28:552015年亞洲杯紀(jì)念徽章
日期:2015-04-27 23:29:17操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-06 22:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
7 [報(bào)告]
發(fā)表于 2016-08-24 23:02 |只看該作者
怎麼知道磁盤(pán)當(dāng)前已經(jīng)在用virtio驅(qū)動(dòng)
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP