nkjmkzk.net

powered by Kazuki Nakajima

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から作成できます。下図のような感じ。新しい紫のテーマが美しい。

スクリーンショット(2010-05-06 11.08.00)

ここはごく一般的な手順なので割愛します。

インストールが終わって再起動が完了したらネットワークまわりをセットアップして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、素敵ですね。

without comments

Written by 中嶋 一樹

5月 6th, 2010 at 11:35 am

Posted in Uncategorized

Tagged with , , ,

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が感度となっています。値が大きい方がポインタがびゅんびゅん動くようになります。
任意の値をいろいろ試してみてください。

without comments

Written by 中嶋 一樹

12月 6th, 2008 at 6:45 pm

Posted in Uncategorized

Tagged with