Archive for the ‘ubuntu’ tag
ubuntu-10.04をXenのPVMとして作成する方法
先日公開されたubuntu-10.04 LTSはkernel-2.6.32を採用しており、かつ、pvopsが有効となっています。pvopsが有効になっているLinuxカーネルは同一のカーネルでベアメタル上、HVMとして、またPVMとして稼動することができます。なので今回はまずHVMとしてubuntuを作成し、それをPVMとして起動し直すという手法で進めてみます。環境は下記の通り。
- Xen : Oracle VM Server 2.2.1 (Xen 3.4.0)
- domU : ubuntu-10.04 x86_64
最初にubuntuをHVMとして作成します。これはubuntuのインストレーションISOファイルを使ってOracle VM Managerから作成できます。下図のような感じ。新しい紫のテーマが美しい。
ここはごく一般的な手順なので割愛します。
インストールが終わって再起動が完了したらネットワークまわりをセットアップしてdom0と通信できるようにします。疎通できるようななったら、ubuntuのカーネルとramdiskをdom0に転送します。
[root@ubuntu1004]# scp /boot/vmlinuz-2.6.32-21-generic dom0:/OVS/running_pool/ubuntu1004/ [root@ubuntu1004]# scp /boot/initrd.img-2.6.32-21-generic dom0:/OVS/running_pool/ubuntu1004/
転送が完了したら一旦ubuntuをシャットダウンします。そしてdom0側で仮想マシン定義ファイルをいじります。
[root@vmservero]# vi /OVS/running_pool/ubuntu1004/vm.cfg
*修正後 kernel = 'vmlinuz-2.6.32-21-generic' ramdisk = 'initrd.img-2.6.32-21-generic' root = '/dev/xvda1 ro' disk = [ 'file:/var/ovs/mount/4ED5C364C05246FE8AEE8C0E26D79ACF/running_pool/ubuntu1004/System.img,xvda,w', ] keymap = 'en-us' memory = '1024' name = 'ubuntu1004' on_crash = 'restart' on_reboot = 'restart' uuid = '6fc94c0b-d902-476c-4c8b-0dfd3dadb315' vcpus = 4 vif = [ 'type=netfront, mac=00:16:3E:14:73:5A, bridge=xenbr0', 'type=netfront, mac=00:16:3E:16:E5:F2, bridge=xenbr1', ] vfb = [ 'type=vnc,vncunused=1,vnclisten=0.0.0.0,vncpasswd=' ]
*修正前 acpi = 1 apic = 1 builder = 'hvm' device_model = '/usr/lib/xen/bin/qemu-dm' disk = ['file:/var/ovs/mount/4ED5C364C05246FE8AEE8C0E26D79ACF/running_pool/ubuntu1004/System.img,hda,w', ] kernel = '/usr/lib/xen/boot/hvmloader' keymap = 'en-us' memory = '1024' name = 'ubuntu1004' on_crash = 'restart' on_reboot = 'restart' pae = 1 serial = 'pty' timer_mode = 0 uuid = '6fc94c0b-d902-476c-4c8b-0dfd3dadb315' vcpus = 4 vif = ['type=ioemu, mac=00:16:3E:14:73:5A, bridge=xenbr0', 'type=ioemu, mac=00:16:3E:16:E5:F2, bridge=xenbr1', ] vnc = 1 vncconsole = 1 vnclisten = '0.0.0.0' vncpasswd = '' vncunused = 1
そして仮想マシン(ubuntu)を起動します。起動後、lsmodコマンドでPVM特有のカーネルモジュールがロードされていることを確認します。
[root@ubuntu1004]# lsmod Module Size Used by binfmt_misc 7960 1 ppdev 6375 0 joydev 11072 0 fbcon 39270 71 tileblit 2487 1 fbcon font 8053 1 fbcon bitblit 5811 1 fbcon xen_kbdfront 4249 0 softcursor 1565 1 bitblit xen_fbfront 7225 2 fb_sys_fops 1611 1 xen_fbfront sysimgblt 2547 1 xen_fbfront sysfillrect 3949 1 xen_fbfront xen_netfront 17890 0 syscopyarea 3640 1 xen_fbfront lp 9336 0 parport 37160 2 ppdev,lp xen_blkfront 10697 3
逆に8139cpや8139tooといった物理NIC用のドライバはロードされていないことが確認できます。
例えば修正前の仮想マシン定義ファイルをhvm.cfg, 修正後をpvm.cfgとして保存しておけば起動するときにHVMとして起動するかPVMとして起動するか切り替えることが可能になります。仮想マシンそのものは同じもので。pvops、素敵ですね。
ubuntuでのトラックポイント最適化
Ubuntuのデフォルトではトラックポイント自体は使えるようになっていますが、中ボタンでのスクロールが効かなかったり感度が納得いかなかったりとカスタマイズしたい欲求にかられます。
というわけで以下の機能を一通り反映させる手順をメモします。
1.中ボタンでのスクロール有効化
2.ポインタの速度・感度の調節
ソフトウェア環境はUbuntu 6.10 Kernel 2.6.17-10。 ハードはIBM Thinkpad X40です。
まず、1のスクロールから。 この挙動を変更するには/etc/X11/xorg.confを編集します。
Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "Emulate3Buttons" "true" Option "ZAxisMapping" "4 5" #ここから追加 Option "EmulateWheel" "true" Option "EmulateWheelTimeOut" "200" Option "EmulateWheelButton" "2" Option "YAxisMapping" "4 5" Option "XAxisMapping" "6 7" #ここまで追加 EndSection
これでX Windowを再起動すれば縦はもちろん横のスクロールもできるようになっているはずです。
ただ、ブラウザ上では少し問題が発生します。 スクロール中にちょっとでもトラックポイントを横方向に傾けると、横スクロールではなくてブラウザの「進む」「戻る」となってしまいます。 これはこれで便利な気もしますが、スクロールする度にそんなに神経を使ってられないですし、「進む」「戻る」はAll- in-one-Gestureを利用した方が快適でしょう。 というわけでこの挙動を修正します。
Firefoxを使っている場合、アドレスバーに「about:config」と入力してEnter。 すると普段みなれない設定パラメータが表示されます。 ここで以下のように値を修正します。
mousewheel.horizscroll.withcontrolkey.action = 3; mousewheel.horizscroll.withcontrolkey.numlines = 1; mousewheel.horizscroll.withcontrolkey.sysnumlines = true; mousewheel.horizscroll.withnokey.action = 0; mousewheel.horizscroll.withnokey.numlines = 1; mousewheel.horizscroll.withnokey.sysnumlines = true; mousewheel.horizscroll.withshiftkey.action = 1; mousewheel.horizscroll.withshiftkey.numlines = 1; mousewheel.horizscroll.withshiftkey.sysnumlines = true;
これでOK! 動作を確認してみてください。
次に2のポインタの速度・感度の調節を行います。
ちょっとディレクトリが深いのでまず移動してしまいます。
$ cd /sys/devices/platform/i8042/serio0
*カーネルバージョンによっては、serio0/serio2であったり、あるいは/proc/trackpointであったりするようです。
ここでスペシャルファイルに値を書き込んで設定を反映させます。
この作業はスーパーユーザで行う必要があるのでsudo -sしておきます。
$ sudo -s
そしてつづけざまに、設定を行います。
# echo -n [0-255] > speed # echo -n [0-255] > sensitivity
speedが速度、sensitibityが感度となっています。値が大きい方がポインタがびゅんびゅん動くようになります。
任意の値をいろいろ試してみてください。
.png)