シリアルコンソール出力あれこれ

KVM で VM を起動するときにシリアルコンソールに起動情報が流れてくれたら起動の様子がわかって大変便利なので、その設定を追加。

1. Debian GNU/Linux

/etc/defaults/grub を以下のように修正。

これで、ログインプロンプトまで出る。もちろん、修正した後は、update-grub を忘れないように。ただ、うちの環境だと、grub メニューの選択肢が表示されない。まあ、デフォルト以外で起動することはないので、放っておいてます。

2. CentOS 7

/etc/defaults/grub を以下のように修正。

その後、sudo grub2-mkconfig -o /boot/grub2/grub.cfg を実行。

3. FreeBSD 11.1

まず、/boot.config を作成して、以下の内容を設定。

次に、/etc/ttysttyu0 以下のように修正。

これで再起動をかけると、起動メッセージがだーっとシリアルポートから出力される。その上、ログインプロンプトまで出てくれる。便利。

4. OpenBSD 6.2

/etc/boot.conf を作成して以下の内容を追加。

次に、/etc/ttystty00 の行を変更。

5. DragonFly BSD 5.0.2

/boot/loader.conf に以下の行を追加。

次に、/etc/ttysttyd0 の行を変更。

DragonFly BSD 5.0.2 をインストールしてみた。

DragonFly BSD RELEASE 5.0.2 をインストールして、はまった点を備忘録代わりに書く。Debian も FreeBSD も慣れちゃって、ちょっと新鮮な雰囲気を味わいたかったので。DragonFly BSD を選択した次第。

1. HAMMER2 が不安定?

HAMMER2 というより、インストーラがバグってるのか、120GB の空き容量に対して、5G しかスライスを切ってくれない。いくらなんでもこれではテストもできません。ってことで、HAMMER でインストールし直した。

2. ネットワークインターフェースの設定にコツがいる。

外部向きと内部向きの二つのインターフェースが載ってるわけだが、内部向けには当然、デフォルトゲートウェイなんぞ設定しない。最初、外部I/F→内部I/Fと設定したら、デフォルトゲートウェイが空の設定ができあがってしまい、通信できなかった。内部I/Fを設定してから、外部I/Fにデフォルトゲートウェイを含めて設定するのが正しい手順のよう。

3. /etc/ssh/sshd_config が公開鍵認証前提でインストールされる。

ssh で入れないと思って、設定ファイルをよく見たら、PasswordAuthentication が、no になっていた。仕方ないので、コンソールから一時的に、yes に変更して対処。インストールしたのは、レンタルサーバー(専用サーバー上に KVM で作成)だったので、VNC コンソールで作業はやりにくい。ここはすぱっと ssh でパスワード認証して入れるようにしてほしかった。

あとは、sudo と logwatch を入れて、ファイアウォールの設定をすませてインストール完了。

Mac にも「紙芝居クリエーター」を!

紙芝居クリエーター」というのは、紙芝居動画、つまりよくギャルゲーなどでよく見かける、画面下部にセリフ枠があって、止め絵を次々に表示しながら文章を読ませる形式の動画を作成するアプリのことです。ニコニコでは、アイドルマスターの紙芝居動画のためのジャンルが確立しています。NovelsM@ster とか、im@s架空戦記シリーズとか。ストップモーションほど手がかからないし、比較的気軽に作り始めることができるので、案外、動画作成の入門に向いてるかも知れません。

で、まあ、この紙芝居動画を作成するアプリですが、Mac 用にもあるんですけど……。「絵解き帳」という二鏡Pが作られたアプリです。ただ、最後に更新されたのが、2012年1月ということで、丸三年更新されてなくて、素の Yosemite ではシーンの追加ができなくなってしまっているのです。OS の仕様変更が原因です。

最初は、これを手直しして、Yosemite でも動くようにして……と考えていたんですが、ビルド時に何十も警告が出て、それをいちいち調べながら修正していく手間と、不満点——同一のターゲットにエフェクトを多重にかけられない。そのせいでプラグインの作成がすごい手間——を鑑みて、自分で作ることにしました。

前から、Mac 用のアプリを作るつもりだったんですが、そのうち、そのうち、とずるずる引き延ばしてきていて、良い機会でもあるわけです。錆び付いてしまっているプログラミングの勘を取り戻すためにも頃合いの規模だと思いますし。Core Image とか、AV Foundation とか、名前だけ知ってて、何をどうするのかわかんない機能もちゃんと調べて実装できるくらいにはなりたいと思ってます。SpriteKit とかも使ってみたいし。OS X/iOS も次々に機能を追加しつつ、古い機能を削除して行ってるので、ついていくのは中々大変そうですが、それこそが、こういう仕事の面白みでもあるので、頑張ってみようかなぁと。

取りあえず、新年度までには形にしたいと思ってます。作りたい動画が止まってるので、それを作って気が済んだら、一般公開もするかも知れません。それはその時の気分次第で。:D

しかし、Mac アプリを作ると決めたはいいものの、Apple が公開している資料くらいしかまともな資料がないというのはいかがなものか。iOS 向けの入門書はやたらと出てますが、ちょっと凝ったことをしようとすると、参考資料が絶無に等しい。

絵解き帳」は、プラグインを Quartz Composer で作るようになっていて、私も初めて詳しく調べてみたんですが、滅茶苦茶面白いです。すごい簡単にグラフィカルなエフェクトが作れてしまう。ところがこれもほとんど資料がない。あってもバージョンが古すぎてほとんど役に立たないときます。VJ なんかではバリバリ使われてるらしいので、現役のツールなんですが、一般には馴染みがないんですかねー。Mac 持ってる人はぜひぜひ試して欲しい。本当に面白いくらい簡単に色んな事ができますから。Yosemite ではなぜか頻繁に落ちますが。

ところで、OpenGL なんかも避けて通れないみたいなんですけど、なんか良い入門書とかないですかね。床井研究室とか何度も読み返したりしてるんですが、シェーダープログラミングがいまいちよくわかりません。3D CG の基礎がないからかな。

ちょっとした KVM サポートツール

そろそろよかろうと思って、サーバーを jessie に上げたら、Xen が起動しない。ホスティングサーバーの変更もあったので、思い切って仮想化基盤を KVM に変更……というか、回帰しました。

ところが、xen-tools のようなお手軽ツールがありません。いや、あることはあるのですが、古いバージョンにしか対応してなくて、しかも最近全くメンテされてない状態。

一応、昔気に入ってて、日本語翻訳までした Proxmox VE も見てみたのですが、えらく進化してしまって、機能てんこ盛りで、こんなんイラネ。VNC もセキュリティに気を遣うのはわかるんですが、ごく一部のクライアントしか対応してないプロトコルしか外に出さない=使いにくい Java クライアントとか、HTML 5 版のやっぱり使いにくいクライアントしか想定にないみたいで、愛想が尽きた。

まあ、イメージは素の状態から CD イメージとか、debootstrap とか使って作るので、VM の作成や削除の機能はいらないや。となると、VM の起動/停止が簡単にできればそれでいいんだけど……ないですね。そんなツール。

ということで、vmmaestro という名前だけは大層なシェルスクリプトをでっち上げました。GitHub にて絶賛公開中。一応、vhost-net とか、x-data-plane とかにも対応してます。

Debian で Xen 4.1 を

パッケージで入れられてしめしめとか思ってたら、何か依存関係でも壊したのか、起動しないゲストがあったでござる。ということで、バニラな方法で入れ直す。元ネタは昨日と同じでこちら → Xen 4.1 from source with Debian Squeeze 2.6.32-5-xen-amd64 dom0 (test)

Xen.org からソースを取ってきます。現時点での最新版は、4.1.2。


wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz

ビルドに必要なパッケージをインストールします。/etc/apt/source.list に以下の行を追加して、


deb-src http://ftp.jp.debian.org/debian/ sid main

以下を実行。


apt-get build-dep xen
apt-get build-dep xen-utils-common

build-dep で入らないパッケージを追加で入れます。


apt-get install libx11-dev libssl-dev python2.6-dev

で、おもむろにビルド


make xen
make tools
make stubdom

エラーがなければインストール。


make install-xen
make install-tools PYTHON_PREFIX_ARG=
make install-stubdom

Domain 0 に必要なサービスデーモンの起動設定を忘れずに。


update-rc.d xencommons defaults
update-rc.d xendomains defaults

4.0 までと互換性のある、xm ツールセットを使う場合は、xend も起動するようにしておきます。


update-rc.d xend defaults

ひとまず以上で、Xen が起動するはずです。再起動して確認しましょう。


xl list

次のように、Domain-0 がリストされない場合、たいていは GRUB の設定ミスです。

ゲストの作成、管理は色々な方法がありますが、素で Xen を使う場合、xen-tools でゲストを作るようにしておくと、余計なデーモンが常駐したりしないので、その分管理が簡単になります。ですが、パッケージの xen-tools は当然のことながら、xen のパッケージに依存していますのでこの場合は入れられません。従って、これもソースから入れることになります。

まず、xen-tools の実行に必要なパッケージをさくさく入れます。

次にソースを取得します。パッケージよりちょっとだけリビジョンが上がっています。


wget http://xen-tools.org/software/xen-tools/xen-tools-4.2.1.tar.gz

ソースを展開して、インストールすればおしまいです。意外に簡単。


make install

また、xen-tools では RedHat なディストリビューションを入れるのに、Rinse を使うので、CentOS とかゲストに入れたいと考える人は、入れなくてはなりません。まずは、Rinse の実行に必要なパッケージを入れます。


apt-get install rpm rpm-common rpm2cpio

次にソースを取得します。パッケージより大幅にリビジョンが上がっています。


wget http://www.steve.org.uk/Software/rinse/rinse-1.9.1.tar.gz

ソースを展開して、インストールすればおしまいです。これも簡単。


make install

 

Twitter links powered by Tweet This v1.8.3, a WordPress plugin for Twitter.