まどかの 日記

[2005/01/31〜2005/02/06の日記]
[2005/02/07〜2005/02/13の日記]
[2005/02/14〜2005/02/20の日記]
[2005/02/21〜2005/02/27の日記]
[2005/02/28〜2005/03/06の日記]
[2005/03/07〜2005/03/13の日記]
[2005/03/14〜2005/03/20の日記]
[2005/03/21〜2005/03/27の日記]
[2005/03/28〜2005/04/03の日記]
[2005/04/04〜2005/04/10の日記]
[2005/04/11〜2005/04/17の日記]
[2005/04/18〜2005/04/24の日記]
[2005/04/25〜2005/05/01の日記]
[2005/05/02〜2005/05/08の日記]
[2005/05/09〜2005/05/15の日記]
↑過去3ヶ月くらいの日記はこちら↑

まどかは「P/ECE Hand Book」を応援しています



1316
2005/05/22()
 のんびり休日
 昨日ちょっとだけですが会社で仕事してたので、今日は完全休養。
 いつもの週末どおりお昼を食べて、カラオケ。

 そんで、帰りにファミコンをちょっと購入して帰宅。
 家に帰ってからは、アマゾンで買った本を読んでました。

 来週からはSHのLinuxでUSBを使えるようにするお勉強です(^^;
 それでは、おやすみなさーい。

1315
2005/05/21()
 ちょっとだけ仕事
 今日は14時くらいまで寝て、遅めのお昼をなんか玄米とか有機野菜とかを使っている健康に良さそうな喫茶店でとり、その後リサイクルショップに行ってからいったん家に帰って会社へ。

 ちょっとだけ仕事の続きをして帰ってきました(^^;
 で、家に帰ってからは、本を読んだり。なんか考えたり。

 というわけで、今日はおしまい。
 それでは、おやすみなさーい。

1314
2005/05/20()
 オセロに夢中
 今日はこの前会社見学に来た大学生が、入社試験を受けに来ました。
 結果は一応内定ってことで、おめでとうございます。
 でも、他にも受けてる会社があるので、その会社の結果待ちとか言われたらしい。>おいおい、第一志望って言ってたんじゃなかったのか!?
 なんか、先輩に教えてもらいながらってことですが、この本を教科書にFPGAで4bitCPUを作ったとか言ってて、今日も持ってきてたようなので、今までの人よりは好感触だったみたいですね(^^;
 まだ決まったわけではないですが、がんばるのじゃよ>大学生

 と、まぁ、それはそれで置いておいて、今日はハードウェア担当の上司が大学生の頃に作ったらしいオセロゲームがPCのファイルを整理していたらでてきたらしいので、早速遊ばせてもらいました。
 が、これが超強くて、前半はまぁ調子が良いのですが、後半にありえない追い上げでいつも大差で負けてしまいます(--; っていうか、3つも角を取ってるのに逆転されるなんてありえない……orz

 と、結構ムキになってやってたら、なんとなくオセロ攻略の法則っぽいものがわかってきたので、色々やっているうちに、なんと全て自分のコマになる形で完膚なきまでに叩きのめすことに成功しました!

 マジで強いし、容赦が無いので負けるとかなりムカツキますが(笑)、久しぶりに燃えました。面白かったです(^^
 ちなみに、全て自分のコマになって勝つのはちょっとバグっぽい気がしたので、普通にコマの数で勝てるようになるまでやって、今日は帰りました(笑)
 最初はLinuxカーネルのコンパイル待ち時間中にオセロをやってたのですが、最後はもう日報上は当然ですが休憩時間ということにして、作業を中断してまでハマってました(^^;

 で、家に帰ったのが結構遅くなったので、そのまま就寝。
 それでは、おやすみなさーい。 

1313
2005/05/19()
 祝! Shell起動(^^
 やっと、やっとです。
 本日ようやく、SH3評価ボード上で正しくLinuxがブートし、シェルが起動しました!(^o^)/

 原因はボードでもなく、カーネルのソースでもなく、なんと、ホストPC(開発環境のある方のPC)でのSELinuxの設定でしたorz

 FedoraCoreにはSELinuxといって、OSのセキュリティを任される機能があるのですが、これがまた超強力で、ファイアウォール機能があるのはもちろんのこと、各種デバイスの挙動まで問答無用に制限かけてしまうんです。

 で、Linux起動に必要なルートファイルシステムのイメージを作るときに、ループバックデバイス(ファイルをディスクのように扱えるようにするデバイス)を使うんですが、おそらくこのループバックデバイスの動作がSELinuxによって制限され、シンボリックリンクが正しく作成されていなかったのだと思います。

 その証拠に、今までリンク情報のおかしかったシンボリックリンクがSELinuxの機能をOFFにした状態で作成したルートファイルシステムのイメージファイルでは何事も無かったかのように通常動作し、普通にbusyboxのashも起動しました。

 今までずっと何か自分が作った部分が悪いのかと、カーネルソース内にprintkでコメントを埋め込み、ちまちまとデバッグしていましたが、まさかこんなところに落とし穴があるとわ……。

 ちなみに、今日このことに気付いたキッカケは、今までできるだけ超デキル社員さんの作った正常動作するカーネルとルートファイルイメージを頼らないようにして色々頑張ってきたけど、もう万策尽きたということで、超デキル社員さんの作り方を見たことでした。

 びっくりしたことに超デキル社員さんのやり方も私が頑張って調べたやり方と同じだったのです。
 で、やり方が同じなのに超デキル社員さんのはOKで自分のはダメなんてあるわけないので、色々違いを調べてみると、自分の使っているFedoraCore3で作るとダメってことがわかりました。

 というわけで、OKな環境とダメな環境の違いを考えたらSELinuxの設定だったということです。

 教訓:
 組み込みLinuxの開発では
 SELinuxは使うな!

 これだけのために2週間くらい使いました(汗
 でも、おかげでだいぶLinuxカーネルのソースも追えたので、怪我の功名って言うか、逆に勉強になってよかった気がします。

 というわけで、例のごとくほとんど何も無いファイル群相手に無駄にファイル一覧を出してみたり、意味も無くフォルダを圧縮してみたり、busyboxが普通に動く感動を小一時間かみしめてました(^^;

 こんどはUSBのお勉強です。
 それでは、おやすみなさーい。

1312
2005/05/18()
 万策尽きました……
 今日もまともにシンボリックリンクが動かず、なにやってもダメで進展せず。
 
 これだけやって何も効果がないということは、恐らくもっと他のところに原因がある気がしてならないので、明日は禁断(笑)の超デキル社員さんの成果をちょっと見せてもらうことにします。

 と、いうわけで、今日も何も進まず敗退。
 ちなみに、今日はこの前電話してきたある大学生が会社見学に来ました。
 入社試験は金曜日の予定です。

 それでは、おやすみなさーい。

1311
2005/05/17()
 ちょっと現実逃避
 途中のLinux起動まではなんとか動いてウキウキだったのですが、途中からウンともスンとも動かなくなってもう逃げたくなってます(泣)

 なんか、普通こんなところでつまづくはず無いし、つまづいている場合じゃないし、つまづくつもりなんかさらさらなかったのですが、なんでつまづくかなぁ……orz

 他の皆さんが使ってるボードとちょっと評価ボードが違うくらいで、CPUも同じSH3だし、機種依存的問題でおかしくなるようなところではないと思うので、ほんとになぜ動かないのか摩訶不思議です。

 こんなに悩んで原因不明な不具合はたいていソースコードのイージーミスが原因だったりするのですが、今回は一生懸命調べてもおかしくしたところなんて見つからないので、どうしたものか……

 今日も一生懸命頑張ったけれども進展無し。
 余談ですが、ソースコード中にLinus Torvaldsの名前を見つけるたびに、なんか有名人を見かけた気分でちょっと嬉しかったりします(^^;

 というわけで、今日はおしまい。
 それでは、おやすみなさーい。

1310
2005/05/16()
 シンボリックリンクがダメらしい……
 先週の敗退から心機一転、またinitrdの勉強をして、今日も色々試していました。

 で、今日分かったことはというと、一応自分で作ったHello,World!!プログラムが、直接指定だと動くことが確認できました。

 ちょっと進展したので色々調べていくと、最終的に起動させたいシェルやinitやlinuxrcは全てbusybox本体へのシンボリックリンク経由で起動するので、まず最初にlinuxrcでのシンボリックリンクを読みに行くのですが読込先のセクタオフセットがとんでもなく大きな値になってて、RAMDISKの範囲より大きいよ! と怒られてしまいます。

 この現象から察するにルートファイルシステムが上手く作れていないのだと思うのですが、どこが悪いのかがさっぱりわからない。
 ああ、今日も負け戦。いつになったら勝利できるのか。ちょっと泣きたくなってきました(j−j
 誰か助けて―。

 というわけで、きょうはおしまい。
 それでは、おやすみなさーい。