2009年12月20日日曜日

Alix.3d3でNanoBSDを動かす(3) ~ブートするまで~

なんとかCFが出来たので、早速ブートさせてみました。すると、

  • ブート時に出るはずのOS選択画面が表示されない
  • ローカルディスクのマウントでハングする
という問題が発生しました。
NanoBSDのデフォルト設定は組み込みシステム向けになっているため、ブートローダーとしてはboot/boot0sioを使うようになっているのですが、Alix.3d3はオンボードのVGAを持っているので普通のブートローダーboot/boot0を使うようにする必要がありました。また、このページの情報によると、boot0cfgのオプション設定も変更する必要があるということなので、コンフィグファイルを次のように変更して、再構築しました。
NANO_MEDIASIZE=7835184
NANO_HEADS=16
NANO_SECTS=63
NANO_BOOT0CFG="-o nopacket -s 1 -m 3"
NANO_BOOTLOADER="boot/boot0"
出来上がったイメージファイルをCFに書き込んで、ブートさせてみたところ、無事にOS選択画面が表示されブートを始めたのですが、やはりローカルディスクのマウントでハングします。
ネット上で、NANO_HEADSやNANO_SECTSが実際のメディアと一致していないと、ローカルディスクのマウントでハングするという情報も見つけたので、設定を変えて何度かCFを作り直したりしたのですが、一向に状況が変わりません。途方に暮れつつ、色々ググってみたところ、こんなページを発見しました。結局、VGAが載っているAlixのボードでNanoBSDを動かすためには、電源管理インタフェースとしてACPIではなくAPMを使うようにBIOSの設定を変える必要があるのだそうです。で、そのようにBIOSの設定を変更したところ、無事ブートしてくれました。
ここまで到達するのにかなり時間を使っていたので、ホッとしました。



Alix.3d3でNanoBSDを動かす(2) ~CFイメージ(full)の作成~

Build環境はなんとか構築できたので、次はいよいよCFイメージの作成です。まずは、ほぼデフォルトの設定で作ってみることにします。今回使うCFはSanDiskの4GBのタイプなので、以下のコンフィグファイルを使ってbuildしました。

FlashDevice SanDisk 4G

出来上がった_.disk.fullファイルをddコマンドでCFに書き込んだところ、書き込みエラーが発生してしまいました。CFメディアの詳細情報を調べて、出来上がったイメージファイルと比較したところ、出来上がったイメージファイルの方がすこしサイズが大きいことが判明しました。
どうやら、同じSanDiskのCFとはいえ、FlashDeviceのロジック内部に埋め込んであるサイズ情報と、私の持っているメディアのサイズ情報が異なっているようです。
仕方が無いので、手元にあったFreeBSD機にUSBのCard Reader/Writerを接続してdiskinfoコマンドでメディア情報を調べたところ、
/dev/da0    512    4011614208    7835184    7773    255    64

ということがわかったので、以下のコンフィグファイルを使ってイメージを再構築しました。
NANO_MEDIASIZE=7835184
NANO_HEADS=16
NANO_SECTS=63
出来上がったイメージファイルは無事CFへ書き込むことができました。
ところで、diskinfoコマンドで得られる情報のうち、最後の二つは、head数とsector数なのですが、 デバイスがUSB接続のCard Readerを経由して接続されている場合は、この情報は全く当てにならないので無視してかまいません。



2009年12月19日土曜日

Alix.3d3でNanoBSDを動かす(1) ~Build環境構築~

自宅のDNSサーバーを安定して動作させるために、組み込み型PCでサーバーを作ろうと思ていたのですが、ついに実行に移すことにしました。
ハードウェアとしては、PC Engines社のAlix.3d3を選定し、OSはFreeBSD8.0 ReleaseベースのNanoBSDにすることにしました。
なにはともあれ、NanoBSDを構築するための環境が必要な訳ですが、まずはお手軽に私の主力機であるiMac上にParallels Desktop for Mac 4を使って、FreeBSDの仮想環境を用意しました。
インストールなどはあっさりと終了したのですが、NanoBSDを構築しようとすると、

TIMEOUT - READ_DMA retrying (1 retry left) LBA=260889183

というメッセージが出てきました(数値は適当です)。

普通、こんなメッセージが出て来たときにはディスクエラーを疑う訳ですが、今回は仮想ディスクが壊れているとは思えませんでしたので、ちと調査してみたらこんなフォーラムを発見。どうやらこのエラーはParallels Desktop固有のエラーで、VMWare Fusionでは問題ないらしいので、とりあえず評価版をダウンロードしてインストールし、同じようにNanoBSDを構築してみたところ、全く問題なくBuildが終了しました。
ということで、当初の目的が達成できたあかつきにはVMWare Fusionのライセンスを購入したいと思います。


2009年12月12日土曜日

pfSense 1.2.3 Release

先日、自宅のFirewallにpfSense-1.2.2 を入れたばかりなのに、pfSense-1.2.3がリリースされてしまいました。今回のリリースではベースのFreeBSDが7.2になっていますが、私としてはembeddedのベースがNanoBSDになっていることの方に興味を惹かれます。

というわけで、早速バージョンアップしました。まずは無事に動作しているようです。



2009年12月6日日曜日

Alix.2d13 + pfSense

自宅のFirewallをAlix.2d13とpfSenseで組み直しました。
Firewallソフトとしては、m0n0wallも検討していましたが、ベースとなっているFreeBSDのバージョンがより新しいことと、この記事でpfSenseの方がお薦めとされていたので、表記のような組み合わせに落ち着きました。
インストール作業は、このページが、セットアップ作業はこのページが大変参考になりました。



2009年11月16日月曜日

corega CG-NSC4501GT

買った訳ではありませんが、このNASは凄いです。
2台のNASを使ったレプリケーション機能まで付いています。
一般家庭で導入できる価格帯でここまでできるとは凄すぎます。



2009年11月15日日曜日

Google Apps

自ドメインのメール環境の可用性を確保するために、Google Appsを利用しようと決心して設定を行いました。
必要な設定を順次行った結果、メール、カレンダー、サイト、ドキュメント、という全機能を自ドメインのアドレスで利用できるようになりました。
しかし、コントロールパネルで確認すると、メールだけ「更新中」という表示のままです。
MXレコードの更新は行い、ネット上のツールを利用してMXの設定を確認してみましたが、全てのMXレコードがGoogleのメールサーバーを指定の優先順位で指しています。
「完了するまでに 48 時間程度かかることがあります。」とは書いてありますが、48時間経過しても表示に変わりがありません。
いったいどうしたんでしょう?
とりあえず、自ドメイン宛の全てのメールはGoogleを経由して、自宅のメールサーバーへ転送されているようなので、所望の動作はしているのですが、どうもスッキリしません。