2008/11/30

Ubuntu on VMWareのCentOS5への移行

仕事で使わざるを得ないこともあるしということで、Linux環境をUbuntuからCent5に移行しようとしたら/homeがXFSだったことに気づいて愕然。

しょうがないので仮想化環境上にCent5をクリアインストールして、ディスクコンテンツごと引っ越すことにしましたが、こういうときに仮想化はやはり便利ですね。

2008/11/24

Spartan3 PCIバス付きFPGA評価ボード(4) - 俺PCIコア

俺PCIコアですが、何とか一通りPCIバス経由で通信できるようになりました。
  • コンフィグレーション空間
    ベンダID、デバイスID、ステータス、コマンド、ヘッダタイプ、BAR0等を実装しました。
  • メモリ空間
    256バイトのPCIメモリ空間を作って、起動時にOSからアドレスを割り当てて貰ってアクセスできることを確認できました。
    本当はドライバを作るのが筋ですが、とりあえず、/dev/memをmmapして直接アクセスし、ボード上のLEDで正しく値が掛けていることを確認しました。
  • I/O空間
    とりあえずいらないので放置してます。

Spartan3 PCIバス付きFPGA評価ボード(3)

さて、カードがJTAGでプログラミングできるようになったので、俺PCIコアを作成します。しばらくFPGAに触れていなかったのでリハビリをすることにしますが、全然思ったように動きません。LEDすら思ったように点かないという体たらくで、結局、
  • RESETが負論理だということを忘れていた。
    基本中の基本ですが、「何でリセットボタン長押しにすると動くんだろ?」と思うまで気づきませんでした。かなり勘を忘れています。
  • DEVSEL#やTRDY#とかの設定を忘れていた
    特に前者が致命的と思われます。
  • BIOSで、未使用PCIクロックの供給が停止されていた
    まだコンフィグ空間へのアクセスもできないので、BIOSからは未使用と見えてしまうわけですが、まさか「Auto Detect PCI Clk (Disable/Enable)」という項目がそれに対応するとは思いませんでした。
何とかPCICLK同期でLEDが点くところまではリハビリできました。3449というのは単にそこらへんにあった4桁の数字をダイナミック点灯で表示しているだけです。

2008/11/22

Spartan3PCIバスFPGA評価ボード(2)

Spartan3PCIバスFPAG評価ボードの続きです。

とりあえず動作確認はできたので、早速PCIデバイスプログラミングと思いきや、JTAGのコネクタがうまく合いません。あまり見かけない2mmピッチのコネクタになっています。そんなの持ってないということで、急遽RSコンポーネンツでヒロセ電機から購入(後で部品箱の中から2mmピッチのピンソケットが出てきてしまいました。いつ何のために買ったんだろう)。

DigilentのJTAGケーブルにピン配置を合わせて接続用アダプタを自作します。

間違って12VのACアダプタをつなぐというへまをやらかしましたが、何とか生き延びて、動いてくれました。XC3S400(Spartan3)とフラッシュが見えています。

FPGAボードとアダプタでつないだところ。

接続箇所の備忘録

ちゃんとJTAGチェイン上に見えました。

2008/11/16

Spartan3ベースのPCIバス付きFPGA評価ボード

以前紹介したPCIコネクタつきのFPGAボードにやっと火を入れました。

サーバコンソリで引退させたShuttleのベアボーンをテストベッドにしています。小さくてもちゃんとPCIとAGPのスロットがひとつずつ出ているのがえらいです。

PCIスロットにFPGAカード(RaggedStone1)を挿したところ

バラック全景

PCIバスに接続すると、マニュアルにあるとおり "LED DISPLAY will show a rotating counting pattern based on a hexadecimal count." となりました。要は書き込み済みのテストロジックが動いているということです。

しばらくほったらかしにしてあったので拗ねてないか心配でしたが、まずは動作確認はOKのようです。

PCからは無事に「不明なPCIデバイス」として見えています。


後は、PCIデバイス設計入門あたりを読みながら、俺PCIデバイスの設計に入ります。

2008/11/15

EPSON PM-G800 ドライバインストール失敗

ここからダウンロードして実行したところ、「インストールに失敗しました」とつれないダイアログ。


試行錯誤の末、zipを展開した先のg80f592\WIN_XP2K\SETUP\SETUP.EXEを直叩きすればよいことが判りました。本当にそれでいいのかは判りませんが。
きっと、何かの起動なりに失敗してるんでだと思いますが、Windowsだから仕方ないとは言え、もう少し何か言ってくれてもいいのに。

Spartan3E Starter Kit


XilinxのSpartan3Eのボード(Starter Kit)です。
簡単なお手製CPUコアの上でHello, Worldを出しています。

Xilinx ISE とお手製FPGAボード

Xilinxの統合環境(ISE)を再インストールしたついでに、昔に作ったFPGAボードを引っ張り出してきて動作確認してみました。

XC9572XLが乗っていて、7セグLEDが4つと動作確認LED、リセットスイッチがついていています(実装密度が薄いのはご愛嬌)。

手前に写っているのはJTAGのケーブルで、以前紹介したDigilentの製品です。


ケーブル付属のExPortツールでデバイスをプログラムしているところです。


2008/11/12

カメレオンUSB備忘録 (家庭内サーバコンソリ)

家庭内サーバコンソリの過程で、カメレオンUSBのUSBインターフェースドライバ(EZ-USBのCY3864のドライバ)を再インストールしようとしたら、そんなデバイスはないとか、.infファイルがおかしいとか散々いわれまくりました。古いマシンだとちゃんと認識されるので壊れているわけではなく、はて?

結局、ここに書いてあるような小細工(.sys、.infをC:\WINDOWS配下に直にコピーする)をしないとだめなのでした。

家庭内サーバコンソリ(サーバ統合)#4

Ubuntuからのサウンド出力がホストOSのWindowsから鳴らなかった問題ですが、Ubuntu側からはサウンドデバイスとしてENS1371というカードが見えるようで、Ubuntuの場合にはPulseAudioというのを使ってサウンドを再生するようです。

pulseaudioデーモンを起動してやらないといけないのですが、hald (Hardware Abstraction Layer)をとめていたためデバイスの認識が出来ていませんでした。再度起動してOK。

後は、/etc/sudoerに自分のアカウントがなかったので、改めて追加(これまでは、sudoだあ?しゃらくせえと言って普通にsuして使っていたのです:-))

2008/11/09

家庭内サーバコンソリ(サーバ統合)#3

日曜日をほぼまる一日を費やして、WindowsXPのインストール・再認証、VMWareのセットアップとUbuntu環境の移行ができました。Linuxのphysical diskを使用する方法だと、デバイス名絡みの問題(素の時と仮想環境でデバイス名が変わる)でハマるケースがあるようですが、当方のUbuntu環境は/dev/sda(最若番ディスク)なのが幸いしたのか、VMWareの物理ディスク環境でもほとんど手を入れずにさくさくと動きました。
ShuttleのキューブベアボーンFB51はとりあえずシャットダウンして様子見。

マシンのくみ上げ、Windowsのインストール・再認証も含めて、意外と簡単にVMWareベースの仮想化環境が作れて移行できたという印象です(ただし、VMWare Serverベースなので、今後ESXi化をどうするかは要検討です)。

体感の性能としては、CPU/メモリのせいかもしれませんがかなり上がった感じです。Windows側もLinux側もとても軽い!。すでに古参の部類に入りつつあるQ6600ですが、さすがに、「Pentiumとは違うのだよ、Pentiumとは~」ということでしょうか。

後は、かなりの静音化が達成できた感じがするのもポイント高いです。キューブPC(FB51)がうるさかったのだな。

残課題としては、
  • 64bit Ubuntuカーネルへの入れ換え
    どうも再インストールしかないようですが、カーネルだけ入れ換えるのもあり?
  • 時間のずれ/補正がかなり激しく起こっているようで、dovecotが落ちてしまう。
  • キューブマシンから残りのデータの吸い上げ
  • Linux上のサウンドも使えるようにする
    何とか使えるようになった!(2008/11/11)
  • Xを仮想化環境と通常環境のどちらでも使えるようにする
といったところです。

家庭内サーバコンソリ(サーバ統合)その2

家庭内サーバコンソリの続きです。
今回のサーバ統合に際しては、CPUがVT対応でないとお話になりません。悩んだ末、Q6600をおごってみる事にしました。当然、マザーボードやメモリ、ディスクも新しくする必要があります。

ということで秋葉原に買出しに行きました。
今回、パーツはいずれもDOS/Vパラダイスで調達しました。
ここ何年かPCパーツ屋さんもご無沙汰でしたが、最近は色んなパーツが安くなっているのですね。今回、特にマザーボードが出色の安さと思いますが、吉と出るか凶と出るか。

しかしこうやって見るとやっぱりプロセッサが高いですね。この歪みはそのうちはじけるんだろうと思いつつも、どうはじけるか判らないのが悔しい。
  • マザーボード
    FOXXCONN G31MX-K(5千円ぐらい)
    ちなみにこれまで使っていたのはAOpen AX4C MAXIIというマザーボード。
    確認のためにAOpenのページを見たら、SATA RAIDとか結構機能満載で、宝の持ち腐れだったかも。PCI/AGPだけど何かのときのために取っておこう...。


  • メモリ
    A-DATA DDR2 2GBx2(5千円ぐらい)

  • ディスク
    Seagate ST3500320AS (SATA2、500GB)(5000円ぐらい)

  • プロセッサ
    Intel Core2 Quad Q6600(2万円ぐらい)


以降、こいつを既存のケースに組み入れ、その上にVMWareあたりで仮想化環境を構築する(できるのか??)。

以下備忘録。

  • ケースのフロントパネルのコネクタ
    コネクタのハウジングにPowerSWとかRESETとか書かれているので判別可能。白がGND。

  • マザーボード同梱物
    マザーボード本体、Quick Installation、マニュアル
    SATA電源&接続ケーブル、IDEケーブル、FDDケーブル、バックパネル、ソフトCD-ROM。


2008/11/08

家庭内サーバコンソリ(サーバ統合)

今、私の自宅にはマシンが二つあります。ひとつはいわゆる自作PCで486DX2の時代に組み上げたのを皮切りにずっと自作を続けているものです。これが一台でLinux マシン。もうひとつは2002年ぐらいにshuttleから発売されたキューブベアボーンFB-51で、これは店頭で衝動買いしたものです。こちらはWindowsマシンとして運用しています。
(それ以外にもMACのSE/30とかSGI O2とかちょっと微妙なものを所有していたことがありましたが、大枠は上の二台)
前者の Linux マシンは、1991年ごろに翻訳のバイトをしていて (某社のOSのオンラインヘルプとか訳しましたよ...)、バイト先の社長さんがサンフランシスコあたりで翻訳用に何台か現地購入し、私も含めたバイト達に貸し出していたものを安く払い下げてもらったものです。
その時はフルタワーのごっついケースに入っていて、ディスクもまだMB単位、メモリも16MBとか32MBとかが一般的な時代でした。香港の電脳街で部品が安いらしいと聞いては、大学の仲間内でツアーを敢行し、部品を購入したりもしました。友達の君がY君がでかいトトロの人形を夜市で購入し、税関でその人形は何ですかと問い詰められ、苦し紛れにトラですと答えたのもいい思い出です。ソフトも同様で、ごく初期のLinuxやminixをフロッピーで回覧してもらってインストールしたりとなんとも牧歌的な時代でした。

時は流れて2008年。部品はすべて新陳代謝して置き換わっていますが、あの大きなフルタワーマシンの正当な後継者のつもりで、奥さんに白い目で見られながら、ファンの音を響かせています。
それで、このマシンは、一時期、仲間内のcvsのサーバやらMLのサーバになっていたことがあって、その流れでこれまで常時通電の家庭内サーバとして運用を続けてきました。しかし、昨今の電気代高騰および財務省設立(要は結婚したと言うことで)によって何で二台もマシンを運用しているのか説明責任を果たすようにという糾弾を浴びるようになってしまいました (まあWindowsマシンの方を止めてしまえば良いようなものですが、再起動にやたら時間がかかるので中々億劫です)。
また、構成自体も結婚と出産のばたばたで放ったらかしになっており、Pentium4 2.4GHz HT という一昔前のCPUにATA100、メモリ1GBというLinuxサーバとしては悪くないにせよ、ちょっと微妙な位置づけになっており、そろそろ入れ替えようかと考えていたのでした。
とはいうものの、予算は福祉方面(=子どものミルク代)に大幅にシフトしていて、IT予算は絞りに絞り込まれ冬の時代です。電気代など運用コストについても監査が入る状況で、どうやって財務省を説得すれば良いのか...。

と、ここで閃いたのがサーバコンソリというbuzz wordです。

企画を練って、早速、財務省に陳情に参上します。電気代がなんと半額に、といった本当のSIerだったら手が後ろに回り兼ねない宣伝文句で焚きつけつつ、「仮想化技術による省電力化を図ること」を前提に、何とかサーバの増設(CPU置換)案件の開始のお許しが出ました。