2004年12月20日
このWebページでは,68000アセンブラの実験環境を,Linux 上に作る方法を解説している. OSとしては,FreeBSD を使う場合には、「FreeBSD 上で 68000 アセンブラの実験環境を作る Web ページ」を見て下さい。
このWebページに記載されている内容や,この Web ページを使ってダウンロー ドしたプログラムの使用によって生じたいかなる結果に対しても,Web ページ の作者は責任を負いません.利用は個人の責任において行ってください.
68000 開発環境(クロスコンパイラと RTEMS)、68000エミュレータ、その他の基本 的なソフトのインストール手順を説明している.
Linux のインストール、 Windowsなど他のOSとの 共存については Linux に関するドキュメント,サイト,書籍等を参考にして 個人の責任において行ってください.
最初に行なうことは、次のソフトがインストールされているかを調べ、 もしインストールされていなければ、「パッケージファイル」を使って、インストールする.
LINUX のインストール時に自動でインストールされるものがあるので、まず、 インストールされているかを調べます.
インストールされているかを調べるには、 次のように、「rpm -qi expat」のように「rpm -qi <パッケージ名>」を実行する.
LANG=C rpm -qi flex rpm -qi bison rpm -qi libiconv rpm -qi gcc rpm -qi rpmbuild rpm -qi perl
調べた結果、インストールされていないものがあったら、 「パッケージファイル」を探してきて、手動でインストールする.
必要な 「パッケージファイル」は http://fr2.rpmfind.net/linux/RPM/index.html などで探して、ダウンロード. その後、「rpm -i <パッケージファイル名>」でインストールするという手順である.
いちいち、マウスをクリックしたりするのが面倒なので、次のようなシェルス クリプトを作って実行させることにした。 これは、RedHat バージョン9 用です. もし他の linux で使う時は、 DOWNLOAD_URL_RPM_1, DOWNLOAD_URL_RPM_LIBICONV, MYRPM_FLEX, MYRPM_BISON, MYRPM_LIBICONV, MYRPM_GCC, MYRPM_RPMBUILD, MYRPM_PERL を適切に設定して下さい。
# # 設定 # # RedHat Linux 9 用の設定です # DOWNLOAD_URL_RPM_1, DOWNLOAD_URL_RPM_LIBICONV, MYRPM_FLEX, MYRPM_BISON, # MYRPM_LIBICONV, MYRPM_GCC, MYRPM_RPMBUILD, MYRPM_PERL を適切に設定して下さい。残りはそのままでも動くと思います # DOWNLOAD_URL_RPM_1, DOWNLOAD_URL_RPM_LIBICONV: RPM のダウンロード先 DOWNLOAD_URL_RPM_1=https://www.kkaneko.jp/computer/linux/redhat/9/en/os/i386/RedHat/RPMS DOWNLOAD_URL_RPM_LIBICONV=https://www.kkaneko.jp/computer/linux/redhat/9/en/os/i386/RedHat/RPMS # DOWNLOAD_URL_RPM_1=ftp://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS # DOWNLOAD_URL_RPM_LIBICONV=http://www.samba.gr.jp/pub/samba-3.0-ja/RPMS/RedHat9/LIBICONV/ MYRPM_FLEX=flex-2.5.4a-29.i386.rpm MYRPM_BISON=bison-1.35-6.i386.rpm MYRPM_LIBICONV=libiconv-1.8-1.i386.rpm MYRPM_GCC=gcc-3.2.2-5.i386.rpm MYRPM_RPMBUILD=rpm-build-4.2-0.69.i386.rpm MYRPM_PERL=perl-5.8.0-88.i386.rpm # # 作業手順 # LANG=C cd /tmp # RPM ファイルをダウンロード wget -S --passive-ftp $DOWNLOAD_URL_RPM_1/$MYRPM_FLEX wget -S --passive-ftp $DOWNLOAD_URL_RPM_1/$MYRPM_BISON wget -S --passive-ftp $DOWNLOAD_URL_RPM_LIBICONV/$MYRPM_LIBICONV wget -S --passive-ftp $DOWNLOAD_URL_RPM_1/$MYRPM_GCC wget -S --passive-ftp $DOWNLOAD_URL_RPM_1/$MYRPM_RPMBUILD wget -S --passive-ftp $DOWNLOAD_URL_RPM_1/$MYRPM_PERL # rpm -i でインストール rpm -i $MYRPM_FLEX rpm -i $MYRPM_BISON rpm -i $MYRPM_LIBICONV rpm -i $MYRPM_GCC rpm -i $MYRPM_RPMBUILD rpm -i $MYRPM_PERL
ソフトが、インストールされていないとき、新たにインストールするために 「パッケージファイルを探してきて、適当なディレクトリにダウンロード」というのが一般的な手順である.
ダウンロードしたディレクトリに移動して以下を実行
[root@localhost root]# rpm -i <パッケージファイル> <例> [root@localhost guest]# rpm -i imake-4.3.99.903-5.i686.rpm
以下のようなエラーがでてきたら、必要なものを探してきて先にインストールする
[guest@localhost guest]$ rpm -i autoconf-2.59-2.2.0.ix86-debian3.0-openpkg.rpm 警告: autoconf-2.59-2.2.0.ix86-debian3.0-openpkg.rpm: V3 DSA signature: NOKEY, key ID 63c4cb9f エラー: Failed dependencies: OpenPKG is needed by autoconf-2.59-2.2.0 openpkg >= 2.2.0 is needed by autoconf-2.59-2.2.0
例 [root@localhost root]# rpm -i --nodeps imake-4.3.99.903-5.i686.rpm
例 [root@localhost root]# rpm -i --replacefiles imake-4.3.99.903-5.i686.rpm
http://www.samba.gr.jp/pub/samba-3.0-ja/RPMS/RedHat9/LIBICONV/
ここには libiconv以外のファイルはありませんでした。
次に、checkinstall をインストールする. checkinstall は、tarball から RPM パッケージを作ってくれるソフトです. 今後、わざわざ、自分の Linux バージョンに合致した RPMファイルを探して こなくても、「ソースファイルをダウンロード、コンパイルし、その後 RPM ファイルを作成して, インストールを行なう」ということができるようにします.
なお、checkinstall の動作には rpm-build が必要なので、もし、 checkinstall の動作がおかしかったら、「rpm -qi rpm-build」でインストー ル済みかどうかを確認してみましょう。
【関連する外部ページ】 : http://www.atmarkit.co.jp/flinux/rensai/linuxtips/530mkrpmfs.html
下記のサイトより checkinstall-1.5.3.tgz をダウンロード
https://asic-linux.com.mx/~izto/checkinstall/download.php
以下の手順でインストール
cd /tmp rm -rf checkinstall-1.5.3 gtar -xvzof checkinstall-1.5.3.tgz cd /tmp/checkinstall-1.5.3 make make install checkinstall -R -y
checkinstall を使って、pkgconfig をインストールしてみました。
----------------------------------------------------------------------- # tar -xvzf pkgconfig-0.15.0.tar.gz # cd pkgconfig-0.15.0 # ./configure # make # checkinstall (省略) The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: y (省略) Please choose the packaging method you want to use. Slackware [S], RPM [R] or Debian [D]? R Please write a description for the package. End your description with an empty line or EOF. >> This package will be built according to these values: 1 - Summary: [ Package created with checkinstall 1.5.3 ] 2 - Name: [ pkgconfig ] 3 - Version: [ 0.15.0 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ Applications/System ] 7 - Architecture: [ i386 ] 8 - Source location: [ pkgconfig-0.15.0 ] 9 - Alternate source location: [ ] 10 - Provides: [ pkgconfig ] Enter a number to change any of them or press ENTER to continue: Enter キーを押す (省略) ********************************************************************** Done. The new package has been installed and saved to /usr/src/redhat/RPMS/i386/pkgconfig-0.15.0-1.i386.rpm You can remove it from your system anytime using: rpm -e pkgconfig-0.15.0-1 ********************************************************************** # rpm -qi pkgconfig Name : pkgconfig Relocations: (not relocateable) Version : 0.15.0 Vendor: (none) Release : 1 Build Date: 2004年12月15日 11時20分08秒 Install Date: 2004年12月15日 11時20分09秒 Build Host: testlinux.db.is.kyushu-u.ac.jp Group : 開発/ツール Source RPM: pkgconfig-0.15.0-1.src.rpm Size : 136595 License: GPL mSignature : (none) Packager : checkinstall-1.5.3 Summary : コンパイルオプションを決定するツール Description : pkgconfig ツールはコンパイルオプションを決定します.必須の各ライブラリについて、 設定ファイルを読み込み、必要なコンパイラフラグとリンカフラグ を出力します. ----------------------------------------------------------------------- (注) # checkinstall でインストールできるのは、 # make install コマンドでインストールするようなソフトです. # make install_packages など、別のコマンドが指定されている場合は、 # checkinstall make install_packages などとします. (README 参照)
次に、各種ツール, ライブラリの整備を行なっていきます. 「パッケージファイル」を使ってインストールできるが(その手順は後述)、 「パッケージファイル」を探すのが面倒という理由で、 ソースファイルをダウンロード、コンパイルし、checkinstall を使っ てインストール という手順の方を先に説明しておきます(最新版が簡単にインストールできる). 「パッケージファイル」からのインストールについては、この後の補足説明をみて下さい。
次のようなシェルス クリプトを作って実行させることにした。 これは、RedHat バージョン9 で動作確認しました。他の Linux では、 変数 ARCH を適切に設定するだけで、そのまま動くと思います.
(お断り) ここに記載のシェルスクリプト(ソースファイルをダウンロードし、コンパイル)をそのまま実行すると「Web ブラウザが起動できなくなる」などの症状が報告されている. そうした症状に対処できる自信(時間的余裕)がない場合には、 補足説明の方の「 どうしても「パッケージファイル」からインストールしたいときの手順」をお勧めしておきます.
# # 設定 # # 変数 ARCH を適切に設定してください LANG=C ARCH=i686-pc-linux-gnu #ARCH=i386-redhat-linux # ソースファイルのダウンロード先、ソースファイル名を指定している. DOWNLOAD_URL_SRC=https://www.kkaneko.jp/computer/src/toollib DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/computer/src/gnu MYSRC_GNU1=" \ flex-2.5.4a.tar.gz \ gcc-core-3.4.3.tar.gz \ gcc-3.4.3.tar.gz \ emacs-21.3.tar.gz \ leim-21.3.tar.gz" MYSRC_GNU2=" \ bison-1.875d.tar.gz \ libiconv-1.9.2.tar.gz \ m4-1.4.2.tar.gz \ automake-1.9.2.tar.gz \ autoconf-2.59.tar.gz \ binutils-2.15.tar.gz \ gettext-0.14.1.tar.gz \ libtool-1.5.10.tar.gz \ make-3.80.tar.gz \ patch-2.5.4.tar.gz \ texinfo-4.7.tar.gz \ readline-5.0.tar.gz \ gdb-5.2.1.tar.gz" MYSRC_BASE=" \ expat-1.95.8.tar.gz \ freetype-2.1.9.tar.gz \ newlib-1.12.0.tar.gz" MYSRC_BASE2=" \ fontconfig-2.2.3.tar.gz \ tcl-8.4.6.tar.gz \ tk-8.4.6.tar.gz" # libgcj-3.4.3 rpmbuild # # 作業手順 # cd /tmp # Download Source Files echo Download... for i in `echo $MYSRC_GNU1`; do ( wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/$i ); done for i in `echo $MYSRC_GNU2`; do ( wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/$i ); done for i in `echo $MYSRC_BASE`; do ( wget -S --passive-ftp $DOWNLOAD_URL_SRC/$i ); done for i in `echo $MYSRC_BASE2`; do ( wget -S --passive-ftp $DOWNLOAD_URL_SRC/$i ); done # Install cd /tmp # flex cd /tmp rm -rf flex-2.5.4 tar -xvzf flex-2.5.4a.tar.gz cd flex-2.5.4 ./configure make /usr/local/sbin/checkinstall -R -y # gcc-core cd /tmp rm -rf gcc-3.4.3 tar -xvzf gcc-core-3.4.3.tar.gz cd gcc-3.4.3 ./configure --prefix=/usr/local --enable-languages="c" --mandir=/usr/local/share/man --infodir=/usr/local/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=$ARCH make bootstrap checkinstall -R -y # gcc cd /tmp rm -rf gcc-3.4.3 tar -xvzf gcc-3.4.3.tar.gz cd gcc-3.4.3 ./configure --prefix=/usr/local --enable-languages="c,c++" --mandir=/usr/local/share/man --infodir=/usr/local/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=$ARCH make bootstrap checkinstall -R -y # emacs, leim cd /tmp rm -rf emacs-21.3 gtar -xvzf emacs-21.3.tar.gz gtar -xvzf leim-21.3.tar.gz cd emacs-21.3 ./configure --with-gcc --with-mule --with-xll --with-site-lisp --with-xfs --with-xim --with-xpm --with-jpeg --with-tiff --with-giff --with-png make checkinstall -R -y # other GNU softwares cd /tmp for i in `echo $MYSRC_GNU2`; do ( rm -rf /tmp/`basename $i .tar.gz`; tar -xvzf $i; \ cd /tmp/`basename $i .tar.gz`; \ ./configure; \ make; \ /usr/local/sbin/checkinstall -R -y ); done # other basic softwares cd /tmp for i in `echo $MYSRC_BASE`; do ( rm -rf /tmp/`basename $i .tar.gz`; tar -xvzf $i; \ cd /tmp/`basename $i .tar.gz`; \ ./configure; \ make; \ /usr/local/sbin/checkinstall -R -y ); done # fontconfig-2.2.3.tar.gz cd /tmp rm -rf fontconfig-2.2.3 tar -xvzf fontconfig-2.2.3.tar.gz cd fontconfig-2.2.3 ./configure make echo "all:" > doc/Makefile echo " echo " >> doc/Makefile echo "install:" >> doc/Makefile echo " echo " >> doc/Makefile /usr/local/sbin/checkinstall -R -y # tcl-8.4.6.tar.gz cd /tmp rm -rf cd tcl8.4.6 tar -xvzf tcl-8.4.6.tar.gz cd tcl8.4.6 cd unix ./configure make cd .. mv unix tcl-8.4.6 ln -s tcl-8.4.6 unix cd tcl-8.4.6 /usr/local/sbin/checkinstall -R -y # tk-8.4.6.tar.gz cd /tmp rm -rf tk8.4.6 tar -xvzf tk-8.4.6.tar.gz cd tk8.4.6 cd unix ./configure make cd .. mv unix tk-8.4.6 ln -s tk-8.4.6 unix cd tk-8.4.6 /usr/local/sbin/checkinstall -R -y
「何台もインストールしたい」という場合について。 1台目のインストール を終えた時に /usr/src/redhat/RPMS/i386 というような名前のディレクトリ に RPM 形式の「パッケージファイル」ができているので、ここにある 「パッ ケージファイル」を、2台目以降 のコンピュータにコピーして、「rpm -i <「パッケージファイル名」>」という 手順になる.
ここでは、各種ツール, ライブラリを、「パッケージファイル」からインストー ルする手順を説明している. すでに、上記の手順でインストールが済んでいるなら、ここは飛ばして、 「CPU シミュレータ bsvc」に進んで下さい。
すでに手元に「パッケージファイル」がある、というようなときは、上記の手 順では無くて、「パッケージファイル」からインストールしてもよいでしょう。
LINUX のインストール時に自動でインストールされるものがあるので、まず、インストールされているかを調べ、 インストールされていなければ、手動でインストールするという手順を踏みます.
インストールされているかを調べるには、 「rpm -qi expat」のように「rpm -qi <パッケージ名>」を実行します
LANG=C PRESOFTS="expat freetype fontconfig libgcj gettext libiconv newlib rpm apt autoconf automake binutils bison checkinstall flex gdb libtool make patch texinfo m4 perl g++ tcl tk emacs" echo "Software List" for i in `echo $PRESOFTS`; do ( rpm -qi $i | grep "Name" | awk '{print $3}'; rpm -qi $i | grep "Version" | awk '{print " " $3}' ); done
「パッケージファイル」を使ったインストールの手順を説明する. RPM ファイルを探して、 ダウンロードし、 「rpm -i <パッケージファイル名>」でインストールするという手順になる.
freetype, fontconfig, libgcj, rpm, m4, emacs, emacs-el, emacs-leim, automake, autoconf, binutils, gettext, libtool, make, texinfo, gdb, perl, tcl, tk については、 http://fr2.rpmfind.net/linux/RPM/index.htmlなどで、 簡単に見つかります。 これ以外のソフトについては、ソースファイルからコンパイルすることになり ます(該当は newlib)。
これも、次のようなシェルス クリプトを作って実行させることにした。 これは、RedHat バージョン9 用です. もし他の linux で使う時は、 DOWNLOAD_URL_RPM_2, MYRPM_SOFT2 を適切に設定して下さい。
# # 設定 # # RedHat Linux 9 用の設定です # DOWNLOAD_URL_RPM_2, MYRPM_SOFT2 を適切に設定して下さい。残りはそのままでも動くと思います # DOWNLOAD_URL_RPM_22: RPM のダウンロード先 # MYRPM_SOFT2 : インストールしたい RPM のリスト # RedHat Linux 9 用 DOWNLOAD_URL_RPM_2=https://www.kkaneko.jp/computer/linux/redhat/9/en/os/i386/RedHat/RPMS # DOWNLOAD_URL_RPM_2=ftp://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS MYRPM_SOFT2="expat-1.95.5-2.i386.rpm \ freetype-2.1.3-6.i386.rpm \ fontconfig-2.1-9.i386.rpm \ libgcj-3.2.2-5.i386.rpm \ rpm-4.2-0.69.i386.rpm \ m4-1.4.1-13.i386.rpm \ emacs-21.2-33.i386.rpm \ emacs-el-21.2-33.i386.rpm \ emacs-leim-21.2-33.i386.rpm \ automake-1.6.3-5.noarch.rpm \ autoconf-2.57-3.noarch.rpm \ binutils-2.13.90.0.18-9.i386.rpm \ gettext-0.11.4-7.i386.rpm \ libtool-1.4.3-5.i386.rpm \ make-3.79.1-17.i386.rpm \ patch-2.5.4-16.i386.rpm \ texinfo-4.3-5.i386.rpm \ gdb-5.3post-0.20021129.18.i386.rpm \ perl-5.8.0-88.i386.rpm \ tcl-8.3.5-88.i386.rpm \ tk-8.3.5-88.i386.rpm" # # 作業手順 # LANG=C cd /tmp # RPM ファイルをダウンロード echo Download... for i in `echo $MYRPM_SOFT2`; do ( wget -S --passive-ftp $DOWNLOAD_URL_RPM_2/$i ); done # インストール済のソフトを確認 for i in `echo $MYRPM_SOFT2`; do ( rpm -qi `basename $i .i386.rpm` | grep "Name" | awk '{print $3}'; rpm -qi `basename $i .i386.rpm` | grep "Version" | awk '{print " " $3}' ); done # rpm -i でインストール echo Install... for i in `echo $MYRPM_SOFT2`; # rpm -i でインストール do ( rpm -i $i ) done
残りの作業は、newlib のインストールです.
これらは、RedHat Linux 9 の「パッケージファイル」が無かったので、 ソースファイルをダウンロード、コンパイルし、checkinstall を使ってインストールし ます.
これも、次のようなシェルス クリプトを作って実行させることにした。 これは、RedHat バージョン9 で動作確認しました。他の Linux でも、そのま ま動くと思います.
# # 設定 # # ソースファイルのダウンロード先、ソースファイル名を指定している. # 問題が無ければ、このままで良いでしょう。 DOWNLOAD_URL_SRC=https://www.kkaneko.jp/computer/src/toollib # DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/computer/src/gnu MYSRC_NEWLIB="newlib-1.12.0.tar.gz " # # 作業手順 # LANG=C cd /tmp # ソースファイルをダウンロード wget -S --passive-ftp $DOWNLOAD_URL_SRC/$MYSRC_NEWLIB # インストール済のソフトを確認 rpm -qi `basename $MYSRC_NEWLIB .tar.gz` | grep "Name" | awk '{print $3}' rpm -qi `basename $MYSRC_NEWLIB .tar.gz` | grep "Version" | awk '{print " " $3}' # インストール cd /tmp rm -rf `basename $MYSRC_NEWLIB .tar.gz` tar -xvzf $MYSRC_NEWLIB cd `basename $MYSRC_NEWLIB .tar.gz` ./configure ./etc/configure make /usr/local/sbin/checkinstall -R -y
次に、GNU binutils, gcc, newlib, gdb を使って、68000 クロス開 発環境を作りま す。 binutils, gcc, newlib, gdb の順でインストールする. configure のオプションは、「./configure --prefix=/usr/local --target=m68k-coff」のようにして、その後、make, make install します.
DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/computer/src/gnu # binutils-2.15.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/binutils-2.15.tar.gz rm -rf binutils-2.15 tar -xvzf binutils-2.15.tar.gz cd binutils-2.15 ./configure --prefix=/usr/local --target=m68k-coff make make install # gcc-core-3.4.3.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gcc-core-3.4.3.tar.gz rm -rf gcc-3.4.3 tar -xvzf gcc-core-3.4.3.tar.gz cd gcc-3.4.3 ./configure --prefix=/usr/local --enable-languages="c" --target=m68k-coff make make install # gcc-core-2.95.3.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gcc-core-2.95.3.tar.gz rm -rf gcc-2.95.3 tar -xvzf gcc-core-2.95.3.tar.gz cd gcc-2.95.3 ./configure --prefix=/usr/local --enable-languages="c" --target=m68k-coff m68k-coff make make install # newlib-1.9.0.tar.gz cd /tmp wget -S --passive-ftp ftp://ftp.u-aizu.ac.jp/pub/gnu/cygnus/newlib/newlib-1.9.0.tar.gz rm -rf newlib-1.9.0 rm -rf newlib-m68k tar -xvzf newlib-1.9.0.tar.gz mkdir newlib-m68k cd newlib-m68k ../newlib-1.9.0/configure --prefix=/usr/local --target=m68k-coff make make install # gdb-5.2.1.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gdb-5.2.1.tar.gz rm -rf gdb-5.2.1 tar -xvzf gdb-5.2.1.tar.gz cd gdb-5.2.1 ./configure --prefix=/usr/local --target=m68k-coff make make install # binutils-2.15.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/binutils-2.15.tar.gz rm -rf binutils-2.15 tar -xvzf binutils-2.15.tar.gz cd binutils-2.15 ./configure --prefix=/usr/local --target=m68k-coff --with-headers=../newlib-1.9.0/newlib/libc/include --with-newlib make make install # gcc-3.4.3.tar.gz with newlib # これは未チェック cd /tmp # wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gcc-core-3.4.3.tar.gz rm -rf gcc-3.4.3 tar -xvzf gcc-core-3.4.3.tar.gz cd gcc-3.4.3 ./configure --prefix=/usr/local --enable-languages="c" --target=m68k-coff --with-headers=../newlib-1.9.0/newlib/libc/include --with-newlib make make install # gcc-2.95.3.tar.gz with newlib # これは未チェック cd /tmp # wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gcc-core-2.95.3.tar.gz rm -rf gcc-2.95.3 tar -xvzf gcc-core-2.95.3.tar.gz cd gcc-2.95.3 ./configure --prefix=/usr/local --enable-languages="c" --target=m68k-coff --with-headers=../newlib-1.9.0/newlib/libc/include --with-newlib make make install
68000 開発環境として RTEMS をインストールする. これは、RPM ファイルを ダウンロードし、 「rpm -i <パッケージファイル名>」でインストールするという手順になる.
上記サイトより以下のファイルをダウンロードして、インストールすることに なる.
rtems-4.6-apt-conf-0.0-0.noarch.rpm rtems-4.6-autoconf-rtems-2.59-0.noarch.rpm rtems-4.6-automake-rtems-1.7.2-2.noarch.rpm rtems-4.6-rtems-base-binutils-2.13.2.1-2.i686.rpm rtems-4.6-m68k-rtems-binutils-2.13.2.1-2.i686.rpm rtems-4.6-rtems-base-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-m68k-rtems-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-m68k-rtems-c++-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-rtems-base-gdb-5.2-1.i686.rpm rtems-4.6-m68k-rtems-gdb-5.2-1.i686.rpm
インストールの手順は、次のようになる.
(検索条件)
rtems-4.6-rtems-base-binutils-2.13.2.1-2.i686.rpm rtems-4.6-m68k-rtems-binutils-2.13.2.1-2.i686.rpm rtems-4.6-rtems-base-gcc-gcc3.2.3newlib1.11.0-4.i386.rpm rtems-4.6-m68k-rtems-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-m68k-rtems-c++-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-rtems-base-gdb-5.2-1.i686.rpm rtems-4.6-m68k-rtems-gdb-5.2-1.i686.rpm
これも、次のようなシェルス クリプトを作って実行させることにした。 これは、RedHat バージョン9 用です. もし他の linux で使う時は、 DOWNLOAD_URL_RPM_RTEMS, MYRPM_RTEMS を適切に設定して下さい。
# # 設定 # # RedHat Linux 9 用の設定です # DOWNLOAD_URL_RPM_RTEMS, MYRPM_RTEMS を適切に設定して下さい。残りはそのままでも動くと思います # DOWNLOAD_URL_RPM_RTEMS: RPM のダウンロード先 # MYRPM_RTEMS : インストールしたい RPM のリスト # RedHat Linux 9 用 DOWNLOAD_URL_RPM_RTEMS=https://www.kkaneko.jp/computer/linux/redhat/7.3/i386/RedHat/RPMS # DOWNLOAD_URL_RPM_RTEMS=ftp://ftp.rtems.com/pub/rtems/linux/redhat/7.3/i386/rpms/rtems-4.6 MYRPM_RTEMS="rtems-4.6-apt-conf-0.0-0.noarch.rpm \ rtems-4.6-autoconf-rtems-2.59-0.noarch.rpm \ rtems-4.6-automake-rtems-1.7.2-2.noarch.rpm \ rtems-4.6-rtems-base-binutils-2.13.2.1-2.i686.rpm \ rtems-4.6-m68k-rtems-binutils-2.13.2.1-2.i686.rpm \ rtems-4.6-rtems-base-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm \ rtems-4.6-m68k-rtems-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm \ rtems-4.6-m68k-rtems-c++-gcc3.2.3newlib1.11.0-4.i686.rpm \ rtems-4.6-rtems-base-gdb-5.2-1.i686.rpm \ rtems-4.6-m68k-rtems-gdb-5.2-1.i686.rpm " # # 作業手順 # LANG=C cd /tmp # Download echo Download... for i in `echo $MYRPM_RTEMS`; do ( wget -S --passive-ftp $DOWNLOAD_URL_RPM_RTEMS/$i ); done # Install ln -s /usr/local /opt echo Install... for i in `echo $MYRPM_RTEMS`; do ( rpm -i $i ) done
CPU シミュレータ bsvc をインストールする. ソースファイルをダウンロード、コンパイルし、checkinstall を使ってインストールする.
RedHat 9 では、bsvc のソースファイルは、そのままではコンパイル できません。変更が3箇所あります.
bsvc をコンパイルするのに、gcc バージョン3 よりも gcc バージョン 2 の 方が便利のようなので、下記の手順で、gcc バージョン3 を消して、 gcc バージョ ン 2 をインストールしている.
# # 設定 # # ソースファイルのダウンロード先、ソースファイル名を指定している. # 問題が無ければ、このままで良いでしょう。 DOWNLOAD_URL_JIKKEN_SRC=https://www.kkaneko.jp/~kaneko/as/jikken/src MYSRC_BSVC=bsvc-2.1-src.tar.gz DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/pub/FreeBSD/ports/distfiles MYSRC_GCC2=gcc-2.95.3.tar.bz2 # # 作業手順 # LANG=C ARCH=i686-pc-linux-gnu #ARCH=i386-redhat-linux cd /tmp # ソースファイルをダウンロード wget -S --passive-ftp $DOWNLOAD_URL_JIKKEN_SRC/$MYSRC_BSVC wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/$MYSRC_GCC2 # インストール済のソフトを確認 rpm -qi `basename $MYSRC_BSVC .tar.gz` | grep "Name" | awk '{print $3}' rpm -qi `basename $MYSRC_BSVC .tar.gz` | grep "Version" | awk '{print " " $3}' rpm -qi `basename $MYSRC_GCC2 .tar.gz` | grep "Name" | awk '{print $3}' rpm -qi `basename $MYSRC_GCC2 .tar.gz` | grep "Version" | awk '{print " " $3}' # gcc-2.95.3 インストール cd /tmp rm -rf `basename $MYSRC_GCC2 .tar.bz2` tar -xvjf $MYSRC_GCC2 cd `basename $MYSRC_GCC2 .tar.bz2` ./configure --prefix=/usr/local --enable-languages="c,c++" \ --mandir=/usr/local/share/man --infodir=/usr/local/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=$ARCH cd `basename $MYSRC_GCC2 .tar.bz2`/texinfo make cd `basename $MYSRC_GCC2 .tar.bz2`; make bootstrap checkinstall -R -y # # bsvc インストール # # (1) Makefile.common cd /usr/local rm -rf `basename $MYSRC_BSVC -src.tar.gz` tar -xvzf /tmp/$MYSRC_BSVC ln -s `basename $MYSRC_BSVC -src.tar.gz` bsvc cd bsvc/src cat Makefile.common | sed’s/\/home\/bwmott\//projects\/bsvc\/development\/bsvc/\/ usr\/local\/bsvc/g' > /tmp/a cp /tmp/a Makefile.common # Redhat Linux では # /usr/local/bsvc/src/Tools/xtermpipe/xtermpipe.cxx中の(void*)を外し, # /usr/local/bsvc/src/sim68000/devices/M68681.cxx # /usr/local/bsvc/src/sim68360/devices/M68681.cxx # 中にextern "C" {int kill(pid_t pid, int sig);};を入れる. # このままでは,/usr/local/bin/sim68000はないため, # /usr/local/bsvc/src/Makefile.commonを開き, # INSTALL_DIR= /usr/local/bin とし,sim68000のインストール先を変更する. cd /usr/local/bsvc/src make PROJECT_BASE=/usr/local/bsvc cd /usr/local/bsvc-2.1/src checkinstall -R -y make PROJECT_BASE=/usr/local/bsvc install # ここで,/usr/local/bin/sim68000を実行しても,以下のエラー文が表示される. # /usr/local/bin/sim68000/: error while loading shared libraries: libstdc++-lib6.3-2.so.3: cannot open shared object file: No such file or Directory # libstdc++-lib6.3-2.so.3があるディレクトリは,/usr/local/libである.そこで, # /etc/ld.so.confに,/usr/local/libを最初の行に追加して再起動する. # さらに,ln -s /usr/local/lib/libstdc++-lib6.3-2.so.3 /usr/lib として,シンボリックリンクを張る. # 再度,/usr/local/bin/sim68000を実行すると,READYと表示されるはずである.
動作確認します./usr/local/bin/sim68000 を実行して、エラーが発生しないことを確認します.
/usr/local/bin/sim68000
エラーが出たら、/etc/ld.so.conf の設定が正しいかを確認するなど、適切な 処置を行なって下さい。
68000 アセンブラプログラムをエミュレータで動作させるために専用 のスクリプトファイルを用意している. これらのファイルをインストールすることによって, m68k-asとm68k-emu 命令が使えるようになる. 各自の責任でお使い下さい.
m68k-5.0.tgz を入手します # cd ~/ # tar zxvfp m68k-5.0.tgz
次にインストールを実行する.
cd m68k-5.0 ./install.sh /usr/local/bin/bin のファイル(もしあれば)を /usr/local/bin にコピーし直す
このスクリプトはlib以下を/usr/local/lib に,bin以下を/usr/local/binにコピーします. xterm(kterm)のウィンドウを開きなおしてm68k-as,m68k-emuが実行できることを確認します.
次に /usr/loca/bin/m68k-emu ファイルを開き、 exec wish8.0jp -f/usr/local/bin/bsvc/bsvc.tk と表記されている部分を、環境にあわせて適切に(exec wish -f/usr/local/bin/UI/bsvc.tkのように)変更する
/usr/local/bin/m68k-asファイルを開き,
#GLD=$PREFIX/m68k-coff-ld #GAS=$PREFIX/m68k-coff-as GLD=$PREFIX/m68k-rtems-ld GAS=$PREFIX/m68k-rtems-as
と表記されている部分を,
GLD=$PREFIX/m68k-coff-ld GAS=$PREFIX/m68k-coff-as #GLD=$PREFIX/m68k-rtems-ld #GAS=$PREFIX/m68k-rtems-asと変更する.