Retrocomputing

MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(11) ~ASCIIARTベンチマークを動かす~

hello worldの表示だけではいまいちですので、いつものASCIIARTベンチマークを動かしてみます。asciiart.basを見ながらasciiart.cを作り、hello.cと同様のビルド環境をつくりました。helloはimage...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(10) ~自作アプリケーションを動かす~

uClinuxが動くようになりましたが、自分で作ったアプリケーションを動かすにはどうすればいいのでしょう。Google検索で見つけたuClinux-dist開発者ガイド(アットマークテクノ SUZAKUサイト)を参考にしてアプリケーションを...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(9) ~2002年のビルド環境を再現~

ハードウェアも問題がなく、カーネルも見た目は問題が無さそうに見えます。残る手としてお手本としているuCsimmが販売されていた2002年当時のuClinuxソースがビルドできる環境を再現してみます。 ビルド環境の構築 ツールチェインが32b...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(8) ~ハードウェアを再確認する~

uClinuxのブートプロセスを確認して問題がみつかりませんでした。やはりLinux 2.4.xですのでカーネルは枯れているとおもわれます。そう考えるとファイルシステムがmountできない原因はハードウェア起因か何らかの誤設定である可能性が...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(7) ~rootにmountする~

前回に続いてinitから呼び出されるprepare_namespace()を探ってみます。 prepare_namespace() ここから先は慎重にみていきます。 ソースはそんなに長くありません。(不要な部分は削っています) /* * P...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(6) ~initスレッドを追う~

ようやくinitスレッドの起動までできました。これまでたどったソースから、Linuxの起動メッセージの以下の部分まではたどり着いたはずです。 Linux version 2.4.34.5-uc0 (ocha@M715Q-TINY) (gcc...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(5) ~initスレッドの起動まで~

start_kernelの続きです。ちょうどフリマで購入した参考書が届きました。kernel 2.4対応の詳解LINUXカーネル 第2版です。旧版なので格安というメリットはあります。ただシステムの起動の部分は付録の章となっていてあまり詳しく...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(4) ~start_kernelを追う~

start_kernelでようやくLinux kernelに入ってきました。細かいところはざっとながしてフィーリングでカーネルのソースを眺めます。 start_kernelを紐解く start_kernelはinit/main.cにあります...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(3) ~bootから追う~

前回 initが読み込めないで停止する状態でしたが、まだ進捗がでていません。 printkで入出力パラメタやerrnoなどを表示して追っていますが、おかしいパラメタやerrnoもみつからずやや手詰まりになっています。 そこで、bootからi...
MC68EZ328

MC68EZ328 DragonOne SBCでuClinuxを動かす(2) ~initはどこだ?~

initがみつからない? 起動中のメッセージが表示されるようになったDragonOneのuClinuxですが、次のような画面で止まってしまいました。 最初に起動されるプロセスであるinitが見つからないとのこと。ビルドの結果をみるかぎり、i...