KVMのコンソールを壊したもよう

Firefoxの日本語入力ができなくなったのは,いろいろやった結果,GTK_IM_MODULEの設定をximにするなどして復活しました.

しかし,ThunderbirdはOKでFirefoxだけNGだったというのがよく解らず,GTK周りを壊したのかと,glib, gtk+-2, gtk+-3, pangoなどをアップデートをしてみました.

その過程か,さらにもっと前からなのか解りませんが,virt-managerから開くコンソールが表示されなくなってしまいました.

これはちょっと困るので,一通り関連パッケージをupdate, upgradeしました.3時間くらいかかりますね^^;

新しく,virt-lockdとvirt-logdをデーモンモードで起動しなければならなくなっていましたが,これは簡単に解決しました.

しかし,相変わらずvirt-managerからコンソールが表示されない.外部アプリでVNC接続,spice接続のいずれも行きます.当分は必要な場合はそれらのクライアントを使うことにします.

ちなみに,spicecも今のspice-serverからは削除されているんですね.Mac OS X用のRemote-Viewerも試しましたが,死ぬほど遅くて使い物になりません^^; Firefoxの画面が書き換わっているところのスナップショットが撮れるほどです.

画面書き換わり中

64bit化まとめ

なんとか,Slackware 64の自分ナイズについて,全体が見えたので,いったんまとめておきます.

Kernelのbuild

Kernelについては,当初,自分でbuildしたkernel (3.19.0, 3.19.1)がモジュールを自動的にロードしないので困っていましたが,Slackware 64付属の.configを使うことで,解消しました.たぶん,force loadingとかいうオプションがONになることで解消したと思いますが,動けば良いので深くは追求してません.

Slackware 64付属の.configを使うことによる副作用は,ほとんどのモジュールをbuildしてしまうことですが,これも,たいした問題ではないので,放置します^^;

また,kernel のmakeで,build済みのオブジェクトも毎回コンパイルし直すようです.これも,大きな問題ではありません.

まだ,initrdを使う起動はうまくいっていません.が,それも使わなきゃ良いんです^^;;

ソフトのメンテナンス性

ほとんど,Slackware (32bit)と変わりません.Slackwareに付いているソフトについては,SlackBuildでbuildできますし,含まれていないものも,通常のconfigureオプションでたいていbuildできます.

KVM/QEMU

これが,最大の壁でした.いくつかの関連パッケージは,32bitよりもサクッとbuild & installできましたが,最後のvirt-managerがうまくいかず,あきらめました.

手動で,qemu-system_x86_64は起動するのに,virt-managerでは,使用できるエミュレーターがないというメッセージを出してお手上げです.

関連ソフトは,何巡かbuild & installしています.

使わないことに

多少の制約は残っても後々の問題として抱えたまま,できれば64bitに移行したかったのですが,今日では必須となってしまったKVM/QEMU環境が構築できなかったので,Slackware 64への切り替えは見送ることにしました.

もちろん,最初からKVM/QEMUが含まれている64bit distroを使えば良いだけのことなんですが,それじゃぁおもしろくないです.これまで蓄積してきたSlackwareによるserver/routerの運営ノウハウが活かせません.

というか,Slackwareが好きなんでしょうがない^^;

Raspberry Piをエミュレートする

まえがき

案外簡単にできると言うことなので,チャレンジしてみました.

結論的には,ほぼ下記リンクのとおりやればうまくいきます.

まずは,armのエミュレーターをbuildします.QEMUのconfigureオプションを,

CFLAGS="-O2 -march=i486 -mtune=i686" \
./configure --prefix=/usr   \
   --target-list="x86_64-softmmu x86_64-linux-user i386-softmmu i386-linux-user \
     arm-softmmu arm-linux-user"  \
   --enable-sdl  \
   --enable-usb-redir --enable-spice --enable-system

としてみました.

それから,kernel-qemuが必要です.

NOOBSから設定したRaspbianのSDから作ったイメージファイルraspbian.imgの起動コマンドは次のとおりでうまくいきました.

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio \
-append "root=/dev/sda6 panic=100 rootfstype=ext4 rw init=/bin/bash" -hda raspbian.img

参考ページ

raspberrypi

CPUINFO

cpuinfo

To Do

しかし,コンソールからラインコマンド打ち込むのは便利ではないので,virt-managerから起動できないか,調べてみます.

高解像 (KVM 16)

その後も,KVMはいじっていまして,ほぼ実用的に使える領域に達した感じがします.

最後の問題が,Xorgの起動でした.サーバーとして使うには必要ありませんが,既存のWSを,いつでも動かせるような形で保存しておくためには必要です.

その既存の実マシンから移行した仮想マシン(VM)では,Xが起動してくれない,起動してもシステムがクラッシュしてしまう,解像度が1280×720より上げられない,等の問題がありました.

Slackwareのxとxapを全部削除して,全部最新版をインストールし直すという手荒なupgradeを実行して,あとは,xorg.conf, xorg.conf.dの中身を見直すことで,どのVMも起動するようになりました

起動したVMのxorgでは,最大の解像度が1280×768ですが,実際には,1280×720の中で仮想的に縦の解像度が768となるという,使いにくい状況で,実質的に1280×720が最高の解像度でした.

解像度をもっと上げる方法をネット検索してみましたが,QXLを使用せよというのが一番多い情報でした.しかし,どれも2010から2011年くらいの情報です.virt-managerでは,デフォルトでQXLが選択されていて,その結果最大1280×720なので,話になりません.

あとは,自分で試すしかないので,ビデオをVMVGAにしたところ,最大2368×1770までの多彩な解像度が選べるようになりました.

ネット検索は万能な様な気がしますが,こういう旬な技術には,賞味期限切れ情報のほうが多くヒットしてしまって困ります^^;

ホストの解像度との兼ね合いもあるので,1440×900にしてみました.20150114-hirez

この解像度については,新規作成のVMでも同じ限界がありました.
結果的には,/etc/X11/xorg.conf.d/90-keyboard-layout.confで,keyboard layoutをjp106にoverrideするのみです.
1台だけ,glibcも古すぎて,新しいxorgが起動しなかったので,gccとglibcをSlackBuildしてupgradeしました.

GUI復活 (KVM 15)

いくつかの実マシンを仮想化する作業をしています.いずれも,確立した手順で^^; CUIとして起動するところまで行きますが,X (Xorg)が起動してくれません.startxをすると,nVidiaや,AMDのfglrxのドライバーが何だかんだとログに残して,致命的なエラーでおしまいです^^;

nVidiaのドライバーについては,ドライバーのインストーラーを使って,

./NVIDIA_Linux-x86-xxx.xx.run --uninstall

とすれば,削除できるとあり,試してみました.上記はちゃんと動きますが,依然として,Xは起動してくれません.

結局,Slackwareのxシリーズを全部removepkgして,/usr/lib/xorgと/etc/X11の残骸をどこぞに移して,もういちどSlackwareのxシリーズをinstallpkgする,という手順で,動くようになりました

作業の要所では,snapshotを残すようにしています.

後の注釈: 残念ながら,その後1台では失敗して,1勝1敗です.snapshotを取ってからやっているので,トラブってぐしゃぐしゃになっても安心です.