Pico-ITXを使ったラムダ用CPUの構築

Pico-ITXへのLinuxのインストール

2007.12.16

昨日帰ると、注文していた「Pico-ITX」が届いてました。 練習会を抜け出してこれを動かすためのアイテムを色々と買い集めていたので早速動作確認のために組み立てる。

電源はのむむさんに教えてもらったpicoPSU-60WI電源入力がDCジャックになってるので、安定化電源につなぐためにコネクタをバシッと切断。切った後に、「あ、初期不良交換できなくなった。。」大丈夫だったけど。(^_^;)

ストレージはCFカードをIDEに変換して接続。8GBのCFカードを6000円以下で買おうと思っていたが8500円までしか見つからなかったので通販で買うことに。動作確認には家にあった256MBのCFカードを使用。「Flash Card」と認識されました。ってか、これって変換カードが送ってるんだよな。

メモリーはDDR2-533 1GBを3000円で買ってきたけど、探せばDDR2-667 1GBで2000円くらいでも売ってる様子。やっすいなぁ~。

家にあるスリムCDドライブはIDEしかないのでS-ATAに変換して接続するつもりで変換ボードも買ってきたのだが、SATAのケーブルって添付されて無いのね。。。 我が家にはSATAモノがいままで無かったのでケーブルもありません。 OSインストールしてCFでのブートのテストは後日となりました。

これにLinux入れてラムダ(もしくはラムダ2号)に搭載する予定。 ちっこいけどファンが付いてるからちょっとうるさい。 搭載できるようになる前に、ファン無しで、もっと速くて、消費電力が小さなMBが出るような未来のイメージがハッキリと見えるんだけど、まぁいいよね。(^^ゞ

2007.12.23

実は平行してPico-ITXのOSインストールも進めています。そんなに急がなくてもいいんだけど、気になって落ち着かないのでキリがいいところまではやっておこうと。。

CFカードにDebian Linuxをインストールして、temp とか var とかはRAMDISKで、って感じにしたいのだけど、CFでうまくブートするかがとりあえずの問題。

8GBのノーブランドのCFを6000円くらいで買おうと思っていたが、ブートしなきゃ安くても意味がない。色々探しているうちにやっぱりブート実績がある速いCFカードの方がいいかなー、8GBも要らないから2GBか、4GBくらいにしていいヤツを買おうかなと方針変更しました。ブート実績があって速いってことで、トランセンドのTS4GCF266がいいかなと思ってます。

あとはMBとIDEアダプター側の問題。メモリーカードが良くてもこちらがダメでは元も子もない。というわけで、手持ちの256MBのCFでブートさせてみるってことをやってました。

調べると、USBメモリーでのブートについてはあちこちに記述があるんだけど、CFをIDEにして、うまくいくって話が見つからない。試してみるにしても、普通にOSインストールは容量が小さくて無理だし。 でもまぁ大して変わらないはずだから、とUSBメモリーでブートさせる手順をほぼそのままIDEにつないだCFカードに試したところ、うまくいきました。さて、CFカード注文しようかなー。年内に届くかな?


こう書くと簡単なんだけど、ここにくるまで結構手探りでした。MBにはIDEとSATAがついているんだけど、スリム型の光学ドライブはIDEの古ーいのしか持って無い。2mmピッチのIDEに2ドライブつなげるためのマルチケーブルって売ってないし、最終的な形態を考えて光学ドライブはSATA-IDE変換アダプターで接続しようと目論んだ。 でも、HDDなら問題ないのに、光学ドライブはSATAに変換しても使えない場合が多いらしい。実際、CDでブートはしてもマウントは出来ず、失敗。 左の画像にあるように、IDEに光学ドライブをつなげばマウント可能になるんだけど、CFカードをSATAにつないでインストールしても意味がない。(SATAはケーブルが邪魔なので最終形態では使わない予定なので。)

インストールした後に接続I/Oを変えようとしてもうまくいかず、最終的にUSBからブートさせてIDEにつないだCFにOSインストールすればなんとかなるかな?となりました。 CFからのブートは確認したけど、USBメモリーからのブートは確認していないのでまだそれでいけるかどうかはわからない。 っていうか、CFでブートしてCFにOSインストールってのもできそうだからそれでいけるかもしれない。

そういえばMBの動作確認さえも手間取った。 最初にHDDで普通にLinuxをインストールしてみたのだが、手元にあった2.5インチのHDDが古かったらしく、このMBじゃブートがかからなかったりして、MBの動作とかメモリーの動作が正常かとかの確認を取るのも手間がかかった。その後、もう処分しようってことで押入れに押し込んでたノートPCから取り外したHDDでMBとかメモリーの動作確認はできました。

ちなみにCFカードよりUSBメモリーの方が安くて小さいからメインのストレージにUSBメモリーを、とも考えたけど、どうもしっくりこなくてCFを選んでます。USBには無線LANアダプターやカメラをつなぐつもりで、そちらのために空けておきます。(USBバスの仕組みを知らないので空けておくことに意味があるかどうか判りませんが。)

20087.12.29

あれから色々調べたのだが、どうやらCFカードでもext2ファイルシステムで普通にマウントできそうな様子。なぜマウントができなかったのかわからないが、取りあえずHDDでLinuxをブートして、CFカード上のext2ファイルシステムをマウントできることは確認できた。CFカード上のファイルシステム自体には問題ないらしい。

ネット上のみんなのログを見ると、ファイルシステム作成後にカードを抜き差ししているケースがあったので、電源を入れ直せばマウントできるような気がしてきた。そこで、HDDにインストール用のカーネルとinitrdを入れてブートさせてみる。(この時点ではCFカードにext2fsを作ってCFでブートさせる方法がわからなかったので)

Linuxってホントにいろんな仕組みが組み込まれていていろんなことができるんですねー、感動しました。無事HDDからインストールカーネルでブートさせ、CFカード上のext2ファイルシステムをマウントできました。

ただし、ブートローダーを書き込むところでHDDの先頭パーティションを選んでしまい、CFカードからのブートは失敗。続いてCFカードへブートローダーを書き込むところでもやり方を間違えてしまい、ファイルシステム自体を壊してしまいました。

インストールメニューでは「第一ハードディスクの第一パーティションにブートローダーをインストールするのが無難です。」「GRUBブートローダーをインストールしますか?」って聞かれる。これって第一ハードディスクの第一パーティションにインストールするって意味だったんだね。次の画面でインストールする場所を選べるんだと思いました。正解はこの質問では「いいえ」とするとインストールが選べたらしい。

でも、大体見えてきたのでHDDへのLinuxインストールからやりなおし。続けてCFカードにext2fsを作成。なぜか今度はそのままマウントにも成功。(fat16からext2fsへ書き換えるのが問題なのか?)ブートローダーの書き込みもちゃんとCFカード上のパーティションを指定できました。

そしてCFカードからブートしてLinuxを立ち上げることができました。ただ、GRUBブートローダー上はHDDを取り付けているときと外しているときではドライブ番号が変わってしまうため、HDDを外すと立ち上げに失敗します。これは/grub/menu.lstを編集し、(hd1,0)を(hd0,0)に書き換えることでうまく行きました。ほ~。。

次は頻繁に書き込むパーティションはRAMドライブに、書き込まないドライブはリードオンリーに設定したりをやってみよう。 どうやるんだろ??

2008.9.20

色々注意点。
  • gdmデフォルトではrootでログインできない。「アクション」の「セキュリティ」から変更する必要がある。
  • ディスプレイを変更したらXの同期があわなくなった。設定変更方法がわからず再インストールした。
パッケージのインストール
パッケージデータをネットからもってくるようにするために、
/etc/apt/sources.lst を編集してCDをコメントアウト

apt-get update
apt-get install make gcc g++
gccとg++は別物らしい。

カーネル再構築
apt-get kernet-packake fakeroot

UNIXな生活 が色々詳しい。























最終更新:2008年09月21日 13:40
添付ファイル