2015年9月25日金曜日

linux mint の kvm を使って openbsd snapshots (5.8) のインストール

qemu-img create -f qcow2 /mnt/Open20.img 20G



kvm -hda  /mnt/Open20.img -cdrom /mnt/install-snap58-i386.iso -boot d -m 1024



kvm -m 1024  -hda /mnt/Open20.img   -net nic,macaddr=52:54:00:12:33:33    -net tap,ifname=tap3,script=/etc/qemu-ifup   &



jwm  立ち上がらないので
pkg_add xfce




2015年9月23日水曜日

linux mint の kvm をつかって freebsd 10.2 をいれる。


xz -dv  FreeBSD-10.2-RELEASE-i386-bootonly.iso.xz


qemu-img create -f qcow2   /mnt/F.img  10G



 kvm -hda /mnt/F.img -cdrom /mnt/FreeBSD-10.2-RELEASE-i386-bootonly.iso   -boot d -m 1024 -monitor stdio





cat Kvm-FreeBSD.bat

 kvm -m 1024  -hda /mnt/F.img -net nic,macaddr=52:54:00:12:22:33    -net tap,ifname=tap2,script=/etc/qemu-ifup &




vi /etc/group
tuyosiを wheelに


あとは FreeBSDにsshではいって
suして
以下はすべて mint linuxのterminalから行う




http://silversack.my.coocan.jp/bsd/xfce410x-installfreebsd.htm




portmasterのインストール
週一でpackageが構築されるようになったとはいえ、実は全てが用意されているわけではないので、portmasterもインストールしておきます。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
   # pkg install ports-mgmt/portmaster[ENTER]

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:10:i386/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.5.6...
Extracting pkg-1.5.6: 100%
Message for pkg-1.5.6:
If you are upgrading from the old package format, first run:
以下略



ここで、portmasterを有効にするために、ログインし直します。


pserarchのインストール
アプリケーションのインストールの際にお目当てのアプリの場所を探すのに使うpsearchをインストールしておきます。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
   # pkg install ports-mgmt/psearch[ENTER]
FreeBSDに標準で用意されているwhereisコマンドでも似たようなことが出来ますが、psearchはports検索用のツールですから、こっちの方が使い勝手がいいです。



ここまでが標準インストールです FIN 」





●ここから先のXは よゐこは せぬように●


http://silversack.my.coocan.jp/bsd/kde410x-buildkde.htm をみました

pkg install x11/xorg

pkg install japanese/font-takao

pkg install japanese/scim-anthy


kdeは重いので

pkg  install   x11/gnome3-lite
pkg  install   x11-wm/jwm

 

 # Xorg -configure[ENTER]
 # cp ~/xorg.conf.new
         /etc/X11/xorg.con
f[ENTER]



vi /home/yuma/.xinitrc
    jwm



ここまでは おっかけできるのですが
ここから先は
http://silversack.my.coocan.jp/bsd/kde410x-buildkde.htm
の独特の世界に入り、 
 FreeBSD素人の私には分かりかねます。
でここからは 原文などを参照してください。



それで不正確なXインストールになりました。
pkg  install   www/firefox はともかくも以下になりましたが
不正確インストールのため日本語入力できません。






まだ今のところ日本語入力できてません。
openbsdの方が 日本語Xは はるかに簡単です。

 ls -l /mnt/F20.img
-rwxrwxrwx 1 root root 4507107328  9月 24 17:39 /mnt/F20.img
と4Gを越えます。
openbsdは 日本語X入れても 2G USBに収まります。

ということはfreebsdは CUIで使うべきものなのでしょう。



仮想 bhyve を諦めないといけない、残念
 









openbsd で QEMU   linux mint でも KVM


http://symfoware.blog68.fc2.com/blog-entry-1398.html
が 素晴らしいページでここからの情報で まず linux mintでしました。

待望の OpenBSDのはこの次に書いてます。
下の図が openbsdのquemで
立ち上げたdebianです。 



つまりopenbsd上で debianがネット込みで動きます。(このdebianはインターネットに出れるし、openbsdからsshで入っていけます)。
面白い。




まず mintでqemuに馴れます。
$ sudo apt-get install kvm libvirt-bin bridge-utils virt-manager


2)
「brctl show」を実行して、virbr0が表示されたら以下の手順を実行します。
$ brctl show
bridge name    bridge id        STP enabled    interfaces
virbr0        8000.000000000000    yes      



$ sudo virsh net-autostart default --disable
ネットワーク default の自動起動設定が解除されました

$ sudo virsh net-destroy default
ネットワーク default は強制停止されました




3)
$ sudo apt-get remove network-manager



mintでの 逃げ道の覚書 

network-managerのけて インターネットとつながらなくた時の修復方法は
 ifconfig eth0 192.168.1.11 route add default gw  192.168.1.1
な感じです。



4)
/etc/network/interfacesのバックアップを作成して編集します。
$ sudo cp /etc/network/interfaces /etc/network/interfaces.org


$ sudo nano /etc/network/interfaces


以下の内容に変更します。


# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 0
bridge_df 0
bridge_stp off



5)
ここまで設定したら、一旦OSごと再起動します。




6)
qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]

qemu-img create -f qcow2  Q.img 1G



7) インストール
sudo kvm -hda kvm.img    -cdrom precise-571JP.iso  -boot d -m 1024 -monitor stdio
sudo kvm -hda kvm-2.img -cdrom install58.iso           -boot d -m 1024 -monitor stdio



8) precise-571JP  と openBSDとを同時に立ち上げる

 kvm -m 512  -hda kvm.img   -net nic,macaddr=52:54:00:12:11:11    -net tap,ifname=tap0,script=/etc/qemu-ifup &


 kvm -m 512  -hda kvm-2.img -net nic,macaddr=52:54:00:12:22:22    -net tap,ifname=tap1,script=/etc/qemu-ifup &







 あるforumで qemu-nbdを教えられました。
http://www.postcard.st/nosuz/tech/2011/09/10-14 
https://www.kumari.net/index.php/system ... qemu-image 

de486HAもされているbiandog で やってみると


# modprobe nbd max_part=8
# qemu-nbd --connect=/dev/nbd0 /mnt/sda3


/home/yuma/TC-5.img
root@debian:~# mount /dev/nbd0p1 /mnt/kvm
root@debian:~# ls /mnt/kvm
lost+found mydata.tgz tce
おっ、できてます。
実パーテションに仮想システム・イメージを書いて
 

sudo umount /mnt/kvm
sudo qemu-nbd --disconnect /dev/nbd0

 

と後始末ですね。
これなら Linuxでは tar over ssh は不必要となりました。






さて 本番のopenbsdです





A)   my situation
------------------------------
internet
|
router(dhcpd server)
|
wired LAN
|
re0(dhcp)
openbsd



1) 練習に小さなtinycoreをいれます

coreplus-4.77-ja.iso でやってみました。

ネットを いかにもopenbsd風にしました。



dhcp            up
re0             vether0----tun0------tinycore
============


 $ cat /etc/hostname.re0
dhcp





$ cat /etc/hostname.tun0                                                     
link0
up
 



 

$ cat /etc/hostname.vether0                                                  
up
 



$ cat /etc/hostname.bridge0                                                  
add vether0
add re0
up





qemu-img create -f qcow2 Q5.img 5G



インストールは
qemu-system-i386 -m 1024M -boot d -cdrom /dev/rcd1c Q5.img




実行は
# qemu-system-i386 -m 1024M Q5.img  -net nic,vlan=1,model=e1000,macaddr=fe:e1:ba:d3:e7:11 -net tap,vlan=1




すると
 {tun0 (bridge0 <-> re0)}

のが現れます。




なお $ ifconfig -a は                                                                
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000


re0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr f0:76:1c:6c:41:af
        priority: 0
        groups: egress
        media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
        status: active
        inet 192.168.1.33 netmask 0xffffff00 broadcast 192.168.1.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog


vether0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr fe:e1:ba:d0:da:15
        priority: 0
        groups: vether
        media: Ethernet autoselect
        status: active



tun0: flags=9943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,LINK0,MULTICAST> mtu 1500
        lladdr fe:e1:ba:d2:6a:11
        priority: 0
        groups: tun
        status: active



bridge0: flags=41<UP,RUNNING>
        groups: bridge
        priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
        vether0 flags=3<LEARNING,DISCOVER>
                port 7 ifpriority 0 ifcost 0
        re0 flags=3<LEARNING,DISCOVER>
                port 1 ifpriority 0 ifcost 0
        tun0 flags=3<LEARNING,DISCOVER>
                port 9 ifpriority 0 ifcost 0



日本語もOKです。
残念ながら KVMと比べると遅い・
また ctrl+alt しても マウスがtinycoreの外には出て行きません。これは ctrl + alt + g で解決。






B) 参考にならない実験編

別のマシンopenbsd(amd64) は二つのネットを持ってます

1. re0 (wired)
2. urtwn0(wifi)
です。

2の方は wifi routerからアドレスをもらってインターネットにでれてます。
1の方で dhcpd サーバーを動かしてます。

で以下の設定です。

# cat /etc/hostname.urtwn0                                                   

nwid URoad-662EA0
wpakey 0471
dhcp


# cat /etc/hostname.re0    <ーーーDHCPDサーバーなので固定アドレス
inet 192.168.1.1 255.255.255.0 NONE

 


# cat /etc/hostname.tun0                                                     
link0
up
 



# cat /etc/hostname.vether0                                                  
up
 



# cat /etc/hostname.bridge0                                                  
add vether0
add re0
up
 



# cat /etc/dhcpd.interfaces                                                  
re0
 


# cat /etc/dhcpd.conf                                                        
option  domain-name "my.domain";
option  domain-name-servers 8.8.8.8;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.1;

        range 192.168.1.32 192.168.1.127;

}




すこしでも早くするために
i386は遅いので

qemu-img create -f raw  Q2.img 2G


qemu-system-x86_64 -m 1024M -boot d -cdrom /dev/rcd1c Q2.img 



qemu-system-x86_64  -m 1024M Q2.img  -net
nic,vlan=1,model=e1000,macaddr=fe:e1:ba:d3:e7:11 -net tap,vlan=1






こうして立ち上げると 立ち上げたqemuマシンでは




# ifconfig -a                                                                 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr fe:e1:ba:d3:e7:11
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet 192.168.1.32 netmask 0xffffff00 broadcast 192.168.1.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog

と inet 192.168.1.32があたってますので 母艦から
ssh -l root   192.168.1.32 で入っていけます。


なお 母艦側では

 # ifconfig -a                                                                
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
 


re0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr f0:76:1c:6c:41:af
        priority: 0
        media: Ethernet autoselect (none)
        status: no carrier
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active


urtwn0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:22:cf:ec:c8:05
        priority: 4
        groups: wlan egress
        media: IEEE802.11 autoselect (OFDM54 mode 11g)
        status: active
        ieee80211: nwid URoad-662EA0 chan 2 bssid 00:1d:93:66:2e:a0 -74dBm wpakey 0x80d48807c087a4cacbbc320ae43060ea4968c557eb3617f79938b64814467a82 wpaprotos wpa1,wpa2 wpaakms psk wpaciphers tkip,ccmp wpagroupcipher tkip
        inet 192.168.100.106 netmask 0xffffff00 broadcast 192.168.100.255
vether0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr fe:e1:ba:d0:4b:e1
        priority: 0
        groups: vether
        media: Ethernet autoselect
        status: active


tun0: flags=9943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,LINK0,MULTICAST> mtu 1500
        lladdr fe:e1:ba:d2:cf:87
        priority: 0
        groups: tun
        status: active


bridge0: flags=41<UP,RUNNING>
        groups: bridge
        priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp
        vether0 flags=3<LEARNING,DISCOVER>
                port 5 ifpriority 0 ifcost 0
        re0 flags=3<LEARNING,DISCOVER>
                port 1 ifpriority 0 ifcost 0
        urtwn0 flags=3<LEARNING,DISCOVER>
                port 4 ifpriority 0 ifcost 0
        tun0 flags=3<LEARNING,DISCOVER>
                port 7 ifpriority 0 ifcost 0
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog

です。
これも当たり前ですが em0ではインターネットにはでれません。
なぜなら  192.168.1.32 をインターネットにNATしてくれるものがいないのです。
だから インターネットに出るには A)をすべきです。
ともかくも 母艦とのつながりはあります。




D)待望の debian linux install

時間がかかるので 固まらないため xscreensaver を導入しておきます。

$ cat /etc/hostname.re0                                                       
dhcp


$ cat /etc/hostname.tun0                                                      
link0
up

$ cat /etc/hostname.vether0                                                   
up


$ cat /etc/hostname.bridge0                                                   
add vether0
add re0
up

は以前と一緒です。
インストールは

 qemu-system-x86_64 -m 1024M -boot d -cdrom /dev/rcd1c D20.img

実行は
 qemu-system-x86_64 -m 1024M D20.img 
-net nic,vlan=1,model=e1000,macaddr=fe:e1:ba:d3:e7:11 -net tap,vlan=1


これにて以下になります。
真ん中が QRMUのdebian です。

openbsdのなかでdebianが動いてます・



下の図の qemu1は Xをのけたdebianです。
そして   qemu2は qemu1にoepnbsdからはいったもので これまたdebianです


右は openbsdの端末で このdebianに nmapをかけて 開いてるポートを探しました。
こうして  debianにアタックをかけて 守備能力の向上を図ります。




E) arch linux では


qemu-system-x86_64 -m 1024M
-net nic,vlan=1,model=e1000,macaddr=fe:e1:ba:d3:e7:11
-boot d -cdrom /dev/rcd1c A10.img                                                    <

それから


tab キー押して noapicをつけてインストール開始。

ifconfig -a
であたってる アドレスをみる

systemctl start sshd


このあとは 母艦から ssh -l root さっきのアドレス
だ。


fdisk /dev/sda
mount /dev/sda1 /mnt
あとは
http://qiita.com/macchaberrycream/items/1dfabe8b710dc638e3f9
でも見てください。

でいけそうです。









    

F)これが最初の方法ですが、今見ると変です。

 situation
------------------------------
internet
|
router(dhcpd server)
|
sis0
openbsd


ですが、ネットがA)とは違います。







dhcp192.168.1.194だったかな?      192.168.1.194
sis0                               vether0------tun0------qemu
========================================
               
/etc/hostname.tun0
link0
up


/etc/hostname.vether0
inet inet 192.168.1.194 255.255.255.0 NONE


/etc/hostname.bridge0
add vether0
add sis0
up




#qemu-image create Q.img 1G



 
step1) intall openbsd into qemu
qemu-1.bat

qemu-system-i386 \
-m 256M \
-net nic,vlan=1,model=e1000,macaddr=fe:e1:ba:d3:e7:11 \
-net tap,vlan=1 \
-boot d \
-cdrom /dev/rcd0c \
Q.img












2)run openbsd in qemu
 cat qemu-2.bat


qemu-system-i386 \

-m 256M \
-net nic,vlan=1,model=e1000,macaddr=fe:e1:ba:d3:e7:11 \
-net tap,vlan=1 \
Q.img







F)アンドロイドは ダメです。
きちんとつくられてないのでしょうか?

G)sparc64(openbsd)は立ち上がるのですがインストール方がわかりません。


H)qemuするためには DHCPDサーバーがいります。
もちろん openbsdでもできますが openbsdいれると
ノートPCが全力疾走します。
で やかましい。
で linux debiandogで dnsmasqを使いました。

これだと以下でした。

 ./comment-out.bat dhcpd-server.bat
ifconfig eth0 192.168.11.1
service dnsmasq restart
/root/morizot.bat



./comment-out.bat /etc/dnsmasq.conf
interface=eth0
dhcp-range=192.168.11.50,192.168.11.150,12h
dhcp-option=option:router,192.168.11.1


root@debian:~# ./comment-out.bat /etc/resolv.conf.head
nameserver 8.8.8.8




root@debian:~# ./comment-out.bat /etc/resolv.conf.tail
nameserver 127.0.0.1




root@debian:~# ./comment-out.bat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 192.168.100.254 <======自分の dhcpd serverからもらったもの
nameserver 127.0.0.1




root@debian:~# ./comment-out.bat morizot.bat は morizot netで発生させた。