開発環境の構築方法

  • crosskit.tar.gzを解凍、展開する。/usr/local/mipsel-netbsd/以下にbinと shareがそれぞれインストールされる。コンパイルに使用する基本的なコマン ドは全てbinの中に含まれる。Makefileがincludeするmkファイルは全て share/mkの中に含まれる。
  • 以下の環境変数を設定する
    • DESTDIR 適当なディレクトリを指定する
    • MACHINE=hpcmips
    • MACHINE_ARCH=mipsel
    • PATH /usr/local/mipsel-netbsd/binをパスに追加

kernelのソースとそのコンパイル方法について

開発環境の構築が済んでいることを仮定して説明する)
  • sys.tar.gzを適当なディレクトリに解凍、展開する。($DESTDIR/usr以下で展開するとファイルツリーが奇麗に構成される)
  • カーネルソースが展開されたら、src/sys/archディレクトリでsic2000.tar.gzを解凍、展開する。src/sys/arch/sic2000以下にSIC2000固有のソースコードが格納される。
  • com.diff、mips.diffの二つのpatchをsrcディレクトリで当てる。これらは、sys.tar.gzが展開されたソースツリーに対するpatchである。
  • 通常通り、kernel configuration fileをconfigした後、compileする。
ここまでで、sic2000用のkernelが出来上がる。今度は、kernelのデータ領域にファイルシステムを格納する作業について説明する。
  • %vnconfig /dev/vn0 mfs-sic2000
  • /dev/vn0をマウントする適当なディレクトリを作成する(ここでは、仮にmfs-mntとする)
  • %mount /dev/vn0 mfs-mnt
  • mfs-mntディレクトリにcdすると、ファイルシステムが展開されていることが確認できる。
  • etcの中の設定や、追加したいファイル等があれば編集を行う。
  • %mdsetimage netbsd mfs-sic2000 とコマンドを入力し、kernelのデータ領域にファイルシステムを格納する
  • %umount mfs-mnt
  • %vnconfig -u /dev/vn0
これで、kernelの中にファイルシステムが格納された。kernelをCF等のメディアにddし、コピーしておく。次に、SIC2000のFROMにkernelをコピーする方法について説明する。
  • SIC2000のシリアルポート1(SERIAL 1と表記のあるもの)とPCのシリアルポートをクロスケーブルで接続する。(8bit、ノンパリティ、baud rateは38400)
  • CONTROL部を本体と接続してあることを確認する
  • SIC2000の電源を入れる
  • *** SIC2000 -- InternetCAR System *** という表示がされた後5秒以内に、何らかのキー入力を行うと、プロンプトが表示される
  • PCMCIAカードスロットの番号は、{左上0、左下1、右上2、右下3}となっている。
  • >copy nと入力する(nはカードのスロット番号)
  • "erasing... "と表示されれば書き込みが正常に開始されている。"pccard is not ATA card"と表示された場合は、恐らくカードスロットの番号が間違っているので確認して再度試してみる。
  • FROMの中身が消去された後、自動的にkernelがコピーされる。
  • done の表示はコピーが終了したことを意味し、quitと入力するとSIC2000が起動する。

userlandのコンパイル方法

開発環境の構築が済んでいることを仮定して説明する。また、userlandとは、/usr/ディレクトリ以下に含まれるコマンド群やファイルのことを指す)
  • NetBSDのソース一式をダウンロードする。
  • usr.lib.tar.gzおよびusr.include.tar.gzをそれぞれ$DESTDIR/で解凍、 展開する。
  • コンパイルするディレクトリで、makeする。
  • -Werrorオプションがついていて、warningが出るとコンパイルエラーとみなされるので、そのような場合には-DNOGCCERRORオプションをつける。また、manを生成しないように-DNOMANオプションをつけることも必要である。