Hatena::ブログ(Diary)

七誌の開発日記(旧) このページをアンテナに追加 RSSフィード

新ブログ Twitter OneDrive Wiki

2011-01-30

[][]クロスコンパイラ

PE勉強会が落ち着いたらELFを取り上げるのも面白いかなと思って、MSYSでELFが扱えるか確認してみました。そのまま何かのOSで動かせるバイナリを出力した方がいじりやすいため、NetBSD 5.1のクロスコンパイラを作ってみました。build.shを使わずにbinutilsgccを--target=i686-netbsdelfで直接ビルドしています。(i686-netbsdとしてビルドするとa.outになります)

/usr/localに展開すれば、i686-netbsdelf-gccとして呼び出せるようになります。

$ mkdir /usr/local
$ tar xvJf netbsd-5.1-i686-gcc.tar.xz -C /usr/local
$ i686-netbsdelf-gcc hello.c

2010-06-23

[][]Personal Alpha

f:id:n7shi:20100623195147p:image:medium:right

Personal AlphaというAlphaエミュレータNetBSDを起動してみました。GXemulやQEMUではOSが起動するところまで実装が進んでいないようです。

Personal AlphaはTru64とOpenVMSしかサポートしていないため、そのままではNetBSDは起動しません。クロック(mcclock)とSCSI(asc)で割り込みが掛からないらしく固まってしまいます。クロックは@さんのアドバイスでNetBSD 4.0を使用して、SCSIid:syuu1228さんのアドバイスでカーネルから外したところ、起動しました。作成したISOイメージを置いておきます。

スクリーンショット

SRMファームウェア)からCD-ROMを指定して起動します。

f:id:n7shi:20100623195146p:image:medium

ルートのマウントで固まることが多いです。何度か試していると先に進みます。

f:id:n7shi:20100623195145p:image:medium

無事に起動しても、SCSIを外しているのでインストールすることはできません。

f:id:n7shi:20100623195144p:image:medium

NetBSDを停止させるとSRMに戻って来ます。

f:id:n7shi:20100623195143p:image:medium

SRMでpowerと入力すればエミュレータが停止します。