Linux 上に 68000 環境を作る
2006年2月25日
はじめに
このWebページでは,68000アセンブラのクロス開発環境を,Linux 上に作る方法を解説している.
なお、OSとしては,FreeBSD を使う場合には、「FreeBSD 上で 68000 アセンブラの実験環境を作る Web ページ」を見て下さい。
このWebページに記載されている内容や,この Web ページを使ってダウンロー ドしたプログラムの使用によって生じたいかなる結果に対しても,Web ページ の作者は責任を負いません.利用は個人の責任において行ってください.
- 作業前には、必要なファイルをバックアップすること
- 状況によっては、Linux の再インストールが必要になる。その覚悟をすること
なお、2005年8月バージョンの 「FreeBSD 上で 68000 アセンブラの実験環境を る Web ページ」も念のために残しているので、必要な人はそちらも 見て下さい
このページで説明している.こと
68000 開発環境(クロスコンパイラと RTEMS)、68000エミュレータ、その他の基本 的なソフトのインストール手順を説明している. 68000 の実機 (68000 搭載の実験ボード) に転送して動作するプログラムをコ ンパイルできるための設定手順である.
- System Environment/Libraries
- expat : A library for parsing XML
- freetype : A free and portable TrueType fond rendering engine
- fontconfig : font configuration and customization library (requires freetype)
- libgcj : Java runtime library for gcc
- libiconv
- newlib
- System Environment/Base
- rpm : The RPM package management system (requires fileutils, gawk, mktemp, popt, shadow-utils)
- Applications/Text
- m4 : GNU macro processor
- Applications/Editors
- emacs :The libraries needed to run the GNU Emacs text editor (perl)
- Development/Tools
- apt-0.5.15cnc6-0.1.fc1.fr.i386.rpm
- automake : GNU tool for automatically creating makefiles (requires perl)
- autoconf : GNU tool for automatically configuring source code (requires gawk, m4, mktemp, perl)
- binutils : GNU collection of binary utilities
- bison : GNU general purpose parser generator
- checkinstall
- flex : GNU tool for creating scanners
- gettext : GNU libraries and utilities for producing multi-lingual messages
- libtool : GNU libtool, which simplifies the use of shared libraries (requires autoconf, automake, libtool-libs, m4, mktemp, perl)
- make : GNU tool which simplifies the build process for users
- patch : GNU patch command for modifying upgrading files
- rpmbuild : Scripts end executable programs used to build packages (requires patch, perl, rpm)
- texinfo : Tools needed to create Texinfo format documentation files
- Development/Debuggers
- gdb : GNU source-level debugger for C, C++ and other languages (requires info)
- Development/Language (68000クロス開発環境としても使用)
- perl : The perl programming language (requires perl)
- gcc : GNU compiler collection (C, C++, Objective-C, Java, ...)
- tcl : Tcl scripting language development environment
- tk : Tk graphical toolkit for the Tcl scripting language (requires tcl)
- bsvc : 68000 エミュレータ (https://github.com/BSVC/bsvc)
- RTEMS : 68000 開発環境として使用
(https://www.rtems.com/index.php)
- 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
Linux のインストール
Linux のインストール、 Windowsなど他のOSとの 共存については Linux に関するドキュメント,サイト,書籍等を参考にして 個人の責任において行ってください.
インストール時の注意点
- X Window System は入れる
- Linux インストール時に C コンパイラを入れる
- 日本語が使えるように設定する。
日本の会社、団体が出している LINUX ディストリビューションなら、日 本語も使えるように、インストール時に指定できるはずです(Red Hat Linux バージョン 9 では日本語 OK でした)。
「パッケージファイル」を使って、最小限のソフトをインストール
最初に行なうことは、次のソフトがインストールされているかを調べ、 もしインストールされていなければ、「パッケージファイル」を使って、インストールする.
- flex
- bison
- libiconv
- gcc
- rpmbuild
- perl
すでにインストール済みかを調べる
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=ftp://fr2.rpmfind.net/linux/redhat-archive/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
補足説明: 「パッケージファイル」について
ソフトが、インストールされていないとき、新たにインストールするために 「パッケージファイルを探してきて、適当なディレクトリにダウンロード」というのが一般的な手順である.
- rpmパッケージファイルはインストールされているOSに合うもの を選ぶ(Red Hat Linux 9の場合は*.i386.rpm, *.i586.rpm, *.i686.rpmなど)
- rpm パッケージファイルは主に以下のサイトからダウンロードできる. rpmパッケージファイルをダウンロードする際、ソースファイル (*.src.rpm)ではないものを選ぶようにした (*.src.rpm はrpmコマンドのみではインストールできないので面倒になる と考えたので)。
- インストール法
ダウンロードしたディレクトリに移動して以下を実行
[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
- 但し、互いに先にインストールする必要がある場合(Aをインストールする
にはBが必要で、BをインストールするにはAが必要)は"--nodeps"を
つけて実行する
例 [root@localhost root]# rpm -i --nodeps imake-4.3.99.903-5.i686.rpm
- ファイルの展開で既存ファイルがありエラーが出る場合は
"--replacefiles"を付けて実行する
例 [root@localhost root]# rpm -i --replacefiles imake-4.3.99.903-5.i686.rpm
- 「先に他のソフトがインストールされている必要があるソフト」もあるが、その場合は必要なソフトを先にインストールする
-
libiconvのrpmパッケージファイルで入っている Red Hat Linux version 9 に対応する
は、次の URL からダウンロードしました。
http://www.samba.gr.jp/pub/samba-3.0-ja/RPMS/RedHat9/LIBICONV/
ここには libiconv以外のファイルはありませんでした。
(2) yum の設定
- /etc/yum.repos.d/CentOS-Base.repo の設定
/etc/yum.repos.d/CentOS-Base.repo を設定します. 設定例は https://www.kkaneko.jp/tools/linux/CentOS-Base.repo にあります
上記の「設定例」を使用する場合
cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.BAK wget https://www.kkaneko.jp/tools/linux/CentOS-Base.repo cat /etc/yum.repos.d/CentOS-Base.repo # baseurl の行を確認 (正しくダウンロードできたことの確認)
上記の「設定例」を使ったりせずに、1から手動で設定する場合
vi /etc/yum.repos.d/CentOS-Base.repo # baseurl の行をすべて書き換える
- yum の接続先を設定するソフトをパッケージからインストールしておく.
更新も自動で同時に行なわれる (1分ほど待つ).
yum install centos-yumconf yum install yum-plugin-fastestmirror # Is this ok [y/N] と聞いてきたら適切に回答する
- /etc/yum.conf を編集し「plugins=1」という行を付け加える
vi /etc/yum.conf # 「plugins=1」という行を付け加える
- /etc/yum.repos.d/CentOS-Base.repo
もし, /etc/yum.repos.d/CentOS-Base.rpmnew が存在したら、次の操作で、/etc/yum.repos.d/CentOS-Base.repo にコピーする
cd /etc/yum.repos.d ls # CentOS-Base.rpmnew が存在したら次のコマンドを実行 cp CentOS-Base.rpmnew CentOS-Base.repo
- RPMforge の設定
RPMforge が使えるように設定します.
Web ページ: http://rpmforge.net/user/packages/rpmforge-release/ から Red hat Linux Enterprise Linux 4 for i386 (64 ビットの場合に限り x86_64) の rpmforge-release-???.rpm (dag の方) をダウンロードして、インストールする (rpm -i コマンドを使うなど)
RPMForge は,現在,公開停止になっています
その後、/etc/yum.repos.d/rpmforge.repo の mirrorlist の行は次のように変更する
cd /etc/yum.repos.d vi rpmforge.repo # mirrorlist の行は次のように変更する (先頭の「#」が外れる) --- mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge ---
さらに、/etc/sysconfig/rhn/sources に次の行を付け加える
cd /etc/sysconfig/rhn vi sources # 次の1行を付け加える --- yum rpmforge https://apt.sw.be/redhat/el4/en/$ARCH/dag/ ---
- リポジトリ CentOS Extras の設定
cd /etc/yum.repos.d wget http://centos.karan.org/kbsingh-CentOS-Extras.repo wget http://centos.karan.org/kbsingh-CentOS-Misc.repo
/etc/sysconfig/rhn/sources に次の2行を書き加える.
cd /etc/sysconfig/rhn vi sources # 次の2行を付け加える --- yum kb-centos-extras http://centos.karan.org/el4/extras/stable/$ARCH/RPMS yum kb-centos-misc http://centos.karan.org/el4/misc/stable/$ARCH/RPMS ---
- 非公式レポジトリ DAG の設定
/etc/yum.repos.d/dag.repo を次のように設定しておきます.
[dag] name=Dag Repository for RedHat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag/ gpgcheck=1 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt enabled=0
上記の「設定例」を使用する場合
cd /etc/yum.repos.d mv dag.repo dag.repo.OLD wget https://www.kkaneko.jp/tools/linux/dag.repo cat /etc/yum.repos.d/dag.repo # 正しくダウンロードできたことの確認
【関連する外部ページ】 「Fedora Coreの非公式リポジトリをyumで利用するには」 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/794uofrepo.html
- アップデート (yum を使用)
下記の操作でアップデートを実施する (数分待ちます)
yum check-update yum -y update
(参考情報) サーバとして運用する予定が無ければ、アップデートの自動実行を設定(「chkconfig yum on ; /sbin/services yum start; 」)してもよいでしょう.
- /etc/ld.so.conf の編集
/etc/ld.so.confを編集して、/usr/local/lib の1行を書き加える.
vi /etc/ld.so.conf # 次の1行を書き加える ----- /usr/local/lib -----
/etc/ld.so.confの編集が終ったら, ldconfig コマンドを実行する
/sbin/ldconfig
- 再起動し、エラーメッセージが出ないことの確認
sync sync sync sync sync reboot
これで yum の設定は終りました.
- リポジトリ CentOS Extras の設定
checkinstall のインストール
checkinstall をインストールする. checkinstall は、tarball から RPM パッケージを作ってくれるソフトです. 今後、わざわざ、自分の Linux バージョンに合致した RPMファイルを探して こなくても、「ソースファイルをダウンロード、コンパイルし、その後 RPM ファイルを作成して, その RPM を使ってインストールを行なう」ということができるようにします. (実は、ソースファイルはあっても、パッケージファイルが見つからない、と いうことはよくある)
checkinstall のインストールには gcc, rpm-build が必要です. 「gcc が無い」, 「rpm-buikd が無い」 ことが原因でエラーがもし出たら:
- GNOME デスクトップにおいて「アプリケーション」 - 「システム設定」 - 「アプリケーションの追加と削除」で, gcc, rpm-build の追加ができるの で心配無く.
- あるいは「yum install gcc; yum install rpm-build」 でこれらをインストールしてもいいでしょう
【関連する外部ページ】「ソースファイルからRPMファイルを作成するには」 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/530mkrpmfs.html
【関連する外部ページ】「checkinstall」 https://asic-linux.com.mx/~iztoc/heckinstall/download.php
インストール
下記のcheckinstall インストール用スクリプトを /bin/sh で実行 (次のコマンドを実行)
cd /tmp rm -f checkinstall.sh wget https://www.kkaneko.jp/tools/ubuntu/checkinstall.sh /bin/sh checkinstall.sh
checkinstall インストール用スクリプトの中身は次の通り
#!/bin/sh cd /tmp # checkinstall-1.6.0.tgz を入手してから続行する rm -rf checkinstall-1.6.0 gtar -xvzof checkinstall-1.6.0.tgz cd /tmp/checkinstall-1.6.0 make mkdir /usr/local/sbin make install mkdir /usr/src/redhat mkdir /usr/src/redhat/SOURCES/ /usr/local/sbin/checkinstall -R -y cd /tmp tar -cvzf /usr/src/redhat/SOURCES/checkinstall-1.6.0.tar.gz ./checkinstall-1.6.0 rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g'`/checkinstall-1.6.0-1.`/bin/arch | sed 's/686/386/g`.rpm
checkinstall の使い方の例
checkinstall を使って、pkgconfig をインストールしてみました。
----------------------------------------------------------------------- # tar -xvzf pkg-config-0.19.tar.gz # cd pkg-config-0.19 # ./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.19.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.19.0-1.i386.rpm You can remove it from your system anytime using: rpm -e pkgconfig-0.19.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.19.0-1.src.rpm Size : 136595 License: GPL mSignature : (none) Packager : checkinstall-1.6.0 Summary : コンパイルオプションを決定するツール Description : pkgconfig ツールはコンパイルオプションを決定します.必須の各ライブラリについて、 設定ファイルを読み込み、必要なコンパイラフラグとリンカフラグ を出力します. ----------------------------------------------------------------------- (注) # checkinstall でインストールできるのは、 # make install コマンドでインストールするようなソフトです. # make install_packages など、別のコマンドが指定されている場合は、 # checkinstall make install_packages などとします. (README 参照)
(オプション) 日本語関係
Linux の種類によって日本語関係の設定方法が変わってくるため、簡単に説明 することはできません。下記は、日本語関係の設定のヒントとして Cent OS 4.3 で Anthy + uim のインストールと設定を行なう手順を示している.
- Anthy, uim をインストールする.
下記のインストール用スクリプトを /bin/sh で実行 (次のコマンドを実行)
cd /tmp rm -f anthy.sh wget https://www.kkaneko.jp/tools/ubuntu/anthy.sh /bin/sh anthy.sh
インストール用スクリプトの中身は次の通り
#!/bin/sh cd /tmp # uim-1.0.1.tar.gz を入手してから続行する rm -rf uim-1.0.1 gtar -xvzof uim-1.0.1.tar.gz cd /tmp/uim-1.0.1 ./configure make /usr/local/sbin/checkinstall -R -y cd /tmp tar -cvzf /usr/src/redhat/SOURCES/uim-1.0.1.tar.gz ./uim-1.0.1 rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/uim-1.0.1-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp # anthy-7500.tar.gz を入手してから続行する rm -rf anthy-7500 gtar -xvzof anthy-7500.tar.gz cd /tmp/anthy-7500 ./configure make /usr/local/sbin/checkinstall -R -y cd /tmp tar -cvzf /usr/src/redhat/SOURCES/anthy-7500.tar.gz ./anthy-7500 rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/anthy-7500-1.`/bin/arch | sed 's/686/386/g`.rpm
-
その後, いくつかのパッケージをインストールする
yum install anthy anthy-el uim uim-anthy uim-gnome uim-gtk2
-
.emacs ファイル(無ければ作る)に、次の1行を入れる
cd vi .emacs # 次の1行を入れる (set-input-method "japanese-anthy")
-
入力メソッドの選択を行なう
/usr/sbin/alternatives --config xinput-ja_JP # 「uim」の番号を入れる
-
iiim, canna は明示的に停止しておく
なお、上記の手順に従ってインストールしたときは iiim, canna が元から入っていないので、下記のコマンドを実行するとエラー が出ます (念のためじっこうしておく).
/sbin/service iiim stop /sbin/chkconfig iiim off /sbin/service canna stop /sbin/chkconfig canna off
-
設定を行なう
uim-toolbar-gtk &
基本ツール, ライブラリのインストール
下記にリストアップしたソフトのインストールを行なう (サーバ設定の下準備を兼ねる)
- autogen-5.8
- flex-2.5.4a
- gcc-3.4.5
- zlib-1.2.3
- libpng-1.2.8
- jpegsrc.v6b
- gd-2.0.33
- patch-2.5.4
- readline-4.2a
- bison-1.875d
- libpcre-6.3
- libiconv-1.9.2
- m4-1.4.3
- autoconf-2.59
- automake-1.9.5
- binutils-2.16.1
- gettext-0.14.4
- libtool-1.5.22
- make-3.80
- texinfo-4.8
- beecrypt-4.0.0
- readline-5.0
- gdb-6.4
以下, (1) gcc 等のインストール, (2) ライブラリ等のインストール, (3) その他のツール、ライブラリ類のインストールの順で、実行すべきコマンドの手順を書いている.
この (1), (2), (3) で実行すべきコマンドは, まとめて 1つのファイル (https://www.kkaneko.jp/tools/linux/scripts/inst1.sh) にしており, 下記の手順で一括実行できる.
cd /tmp rm -f inst1.sh wget https://www.kkaneko.jp/tools/linux/scripts/inst1.sh sh inst1.sh
なお, (1), (2), (3) のコマンドを実行するための所要時間は, 1, 2 時 間程度が予想されます.
(1) gcc 等のインストール
ソースファイルのダウンロード、コンパイル、checkinstall コマンドで RPM ファイルの作成、作成された RPM ファイルを使ってのイン ストール(rpm -i コマンド)を使用という手順をとります.
もし、同じソフト(バージョンは違うかも知れない)がインストール済みのと き、rpm -i の時点で、エラーが出ることがあります> これは OS のインストー ル時点で、いろいろとパッケージをインストールため. rpm -i の時点でのエ ラーは無視することにします.
下記のスクリプトを作成して /bin/sh で実行
#!/bin/sh # 変数 ARCH を適切に設定してください LANG=C ARCH=i686-pc-linux-gnu # ソースファイルのダウンロード先、ソースファイル名を指定している. DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/computer/src/gnu MYSRC_GNU1="autogen-5.8.tar.gz \ flex-2.5.4a.tar.gz \ gcc-core-3.4.5.tar.gz \ gcc-3.4.5.tar.gz \ patch-2.5.4.tar.gz"\ emacs-21.3.tar.gz \ leim-21.3.tar.gz' # # 作業手順 # cd /tmp # Download Source Files echo Download... for i in `echo $MYSRC_GNU1`; do ( wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/$i ); done # Install cd /tmp # autogen cd /tmp rm -rf autogen-5.8 tar -xvzf autogen-5.8.tar.gz cd autogen-5.8 ./configure make /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/autogen-5.8-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/autogen-5.8.tar.gz ./autogen-5.8 # 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 rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/flex-2.5.4-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/flex-2.5.4.tar.gz ./flex-2.5.4 # gcc cd /tmp rm -rf gcc-3.4.5 tar -xvzf gcc-3.4.5.tar.gz cd gcc-3.4.5 ./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 /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/gcc-3.4.5-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/gcc-3.4.5.tar.gz ./gcc-3.4.5 # patch-2.5.4.tar.gz cd /tmp rm -rf patch-2.5.4 tar -xvzf patch-2.5.4.tar.gz cd patch-2.5.4 ./configure --host=$ARCH make /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/patch-2.5.4-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/patch-2.5.4.tar.gz ./patch-2.5.4
(2) ライブラリ等のインストール
下記のスクリプトを作成して /bin/sh で実行
#!/bin/sh # 変数 ARCH を適切に設定してください LANG=C ARCH=i686-pc-linux-gnu # ソースファイルのダウンロード先、ソースファイル名を指定している. DOWNLOAD_URL_SRC=https://www.kkaneko.jp/computer/src/toollib # execute ./configure, make, checkinstall -R -y in this order MYSRC_LIBS="zlib-1.2.3.tar.gz \ libpng-1.2.8.tar.gz \ jpegsrc.v6b.tar.gz \ gd-2.0.33.tar.gz \ nkf206a.tar.gz" # # 作業手順 # cd /tmp # Download Source Files echo Download... for i in `echo $MYSRC_LIBS`; do ( wget -S --passive-ftp $DOWNLOAD_URL_SRC/$i ); done # Install # zlib cd /tmp rm -rf zlib-1.2.3 tar -xvzf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure --shared make /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/zlib-1.2.3-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/zlib-1.2.3.tar.gz ./zlib-1.2.3 # libpng cd /tmp rm -rf libpng-1.2.8 tar -xvzf libpng-1.2.8.tar.gz cd libpng-1.2.8 cp scripts/makefile.linux Makefile make make test /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/libpng-1.2.8-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/libpng-1.2.8.tar.gz ./libpng-1.2.8 # jpeg-6b cd /tmp rm -rf jpeg-6b tar -xvzf jpegsrc.v6b.tar.gz cd jpeg-6b ./configure --enable-shared --enable-static CC='gcc' make make test /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/jpeg-6b-1.`/bin/arch | sed 's/686/386/g`.rpm make install-lib cd /tmp tar -cvzf /usr/src/redhat/SOURCES/jpeg-6b.tar.gz ./jpeg-6b # gd cd /tmp rm -rf gd-2.0.33 tar -xvzf gd-2.0.33.tar.gz cd gd-2.0.33 ./configure make CC="gcc -I/usr/local/include" /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/gd-2.0.33-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/gd-2.0.33.tar.gz ./gd-2.0.33 # nkf cd /tmp rm -rf nkf206 tar -xvzf nkf206a.tar.gz cd nkf206 make /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/nkf206-1.`/bin/arch | sed 's/686/386/g`.rpm cp nkf /usr/local/bin/nkf chmod 755 /usr/local/bin/nkf cd /tmp tar -cvzf /usr/src/redhat/SOURCES/nkf206a.tar.gz ./nkf206
(3) ツール、ライブラリ類のインストール
下記のスクリプトを作成して /bin/sh で実行
#!/bin/sh # 変数 ARCH を適切に設定してください LANG=C ARCH=i686-pc-linux-gnu # ソースファイルのダウンロード先、ソースファイル名を指定している. DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/computer/src/gnu # execute ./configure, make, checkinstall -R -y in this order MYSRC_GNU2="bison-1.875d.tar.gz \ libpcre-6.3.tar.gz \ libiconv-1.9.2.tar.gz \ m4-1.4.3.tar.gz \ autoconf-2.59.tar.gz \ automake-1.9.5.tar.gz \ binutils-2.16.1.tar.gz \ gettext-0.14.4.tar.gz \ libtool-1.5.22.tar.gz \ make-3.80.tar.gz \ texinfo-4.8.tar.gz \ beecrypt-4.0.0.tar.gz \ readline-5.0.tar.gz \ gdb-6.4.tar.gz"\ gdb-5.3.tar.gz # # 作業手順 # cd /tmp # Download Source Files echo Download... for i in `echo $MYSRC_GNU2`; do ( wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/$i ); done # Install cd /tmp # 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 ); rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/`basename $i .tar.gz`-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/`basename $i .tar.gz`.tar.gz ./`basename $i .tar.gz` done
その他のツール, ライブラリのインストール
引続き、インストールを続ける.
#!/bin/sh # 変数 ARCH を適切に設定してください LANG=C ARCH=i686-pc-linux-gnu # ソースファイルのダウンロード先、ソースファイル名を指定している. DOWNLOAD_URL_SRC=https://www.kkaneko.jp/computer/src/toollib MYSRC_BASE=' \ expat-1.95.8.tar.gz \ freetype-2.1.10.tar.gz \ newlib-1.14.0.tar.gz' MYSRC_BASE2=' \ fontconfig-2.3.2.tar.gz \ tcl-8.4.11.tar.gz \ tk-8.4.11.tar.gz' cd /tmp # Download Source Files echo Download... 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 # 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 ); rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/`basename $i .tar.gz`-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/`basename $i .tar.gz`.tar.gz ./`basename $i .tar.gz` done # fontconfig-2.3.2.tar.gz cd /tmp rm -rf fontconfig-2.3.2 tar -xvzf fontconfig-2.3.2.tar.gz cd fontconfig-2.3.2 ./configure --disable-docs make echo "all:" > doc/Makefile echo " echo " >> doc/Makefile echo "install:" >> doc/Makefile echo " echo " >> doc/Makefile /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/fontconfig-2.3.2-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/fontconfig-2.3.2.tar.gz ./fontconfig-2.3.2 # tcl-8.4.11.tar.gz cd /tmp rm -rf cd tcl8.4.11 tar -xvzf tcl-8.4.11.tar.gz cd tcl8.4.11 cd unix ./configure make cd .. mv unix tcl-8.4.11 ln -s tcl-8.4.11 unix cd tcl-8.4.11 /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/tcl-8.4.11-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/tcl-8.4.11.tar.gz ./tcl-8.4.11 # tk-8.4.11.tar.gz cd /tmp rm -rf tk8.4.11 tar -xvzf tk-8.4.11.tar.gz cd tk8.4.11 cd unix ./configure make cd .. mv unix tk-8.4.11 ln -s tk-8.4.11 unix cd tk-8.4.11 /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/tk-8.4.11-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/tk-8.4.11.tar.gz ./tk-8.4.11 # 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 /usr/local/sbin/checkinstall -R -y rpm -i /usr/src/redhat/RPMS/`/bin/arch | sed 's/686/386/g`/emacs-21.3-1.`/bin/arch | sed 's/686/386/g`.rpm cd /tmp tar -cvzf /usr/src/redhat/SOURCES/emacs-21.3.tar.gz ./emacs-21.3
「何台もインストールしたい」という場合について。 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=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 をソースファイルからコンパイル、インストール
残りの作業は、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.14.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
68000 クロス開発環境
次に、GNU binutils, gcc, newlib, gdb を使って、68000 クロス開 発環境を作りま す。 binutils, gcc, newlib, gdb の順でインストールする. configure のオプションは、「./configure --prefix=/usr/local --target=m68k-coff」のようにして、その後、make, make install します.
DOWNLOAD_URL_SRC=https://www.kkaneko.jp/computer/src/toollib DOWNLOAD_URL_GNU_SRC=https://www.kkaneko.jp/computer/src/gnu # binutils-2.16.1.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/binutils-2.16.1.tar.gz rm -rf binutils-2.16.1 tar -xvzf binutils-2.16.1.tar.gz cd binutils-2.16.1 ./configure --prefix=/usr/local --target=m68k-coff make make install # gcc-core-3.4.5.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gcc-core-3.4.5.tar.gz rm -rf gcc-3.4.5 tar -xvzf gcc-core-3.4.5.tar.gz cd gcc-3.4.5 ./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 --host=i686-pc-linux-gnu --with-newlib make make install # newlib-1.9.0.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_SRC/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.3.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gdb-5.3.tar.gz rm -rf gdb-5.3 tar -xvzf gdb-5.3.tar.gz cd gdb-5.3 ./configure --prefix=/usr/local --target=m68k-coff make make install # binutils-2.16.1.tar.gz cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/binutils-2.16.1.tar.gz rm -rf binutils-2.16.1 tar -xvzf binutils-2.16.1.tar.gz cd binutils-2.16.1 ./configure --prefix=/usr/local --target=m68k-coff --with-headers=../newlib-1.9.0/newlib/libc/include --with-newlib make make install # gcc-3.4.5.tar.gz with newlib # これは未チェック cd /tmp wget -S --passive-ftp $DOWNLOAD_URL_GNU_SRC/gcc-core-3.4.5.tar.gz rm -rf gcc-3.4.5 tar -xvzf gcc-core-3.4.5.tar.gz cd gcc-3.4.5 ./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 --host=i686-pc-linux-gnu make make install
68000 開発環境 RTEMS
68000 開発環境として RTEMS をインストールする. これは、RPM ファイルを ダウンロードし、 「rpm -i <パッケージファイル名>」でインストールするという手順になる.
- 参考 サイト
- RTEMS Web ページ https://www.rtems.com/index.php
- ダウンロード先: ftp://ftp.rtems.com/pub/rtems/linux/redhat/7.3/i386/rpms/rtems-4.6
- ftp://ftp.rtems.com/pub/rtems/snapshots/c_tools/source/
- http://www.rtems.com/onlinedocs/releases/rtemsdocs-4.6.2/share/rtems/html/started/index.html
上記サイトより以下のファイルをダウンロードして、インストールすることに なる.
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
手順
インストールの手順は、次のようになる.
- 次のページを用いる
https://www.rtems.com/index.php
(検索条件)
- RTEMS Version: 4.6.2
- Target CPU Family: m68k, cpu32, coldfire
- Development Host: GNU/Linux x86
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
- インストール (rpm -i を使用)
/opt にインストールされるので、/opt を避けたいなら 「ln -s /usr/local /opt」を前もって実行しておく。これも、次のようなシェルス クリプトを作って実行させることにした。 これは、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
CPU シミュレータ bsvc をインストールする. ソースファイルをダウンロード、コンパイルし、checkinstall を使ってインストールする.
- 参考 サイト
- ftp://ftp.redlinelabs.com/pub/bsvc/
- http://www4.ncsu.edu/~bwmott/www/bsvc/distributions/bsvc-2.1-src.tar.gz
- bsvc-2.1-src.tar.gz
インストール上の注意点
RedHat 9 では、bsvc のソースファイルは、そのままではコンパイル できません。変更が3箇所あります.
- 「(void*)」 を外す (1箇所)
/usr/local/bsvc/src/Tools/xtermpipe/xtermpipe.cxx - 「extern "C" { int kill(pid_t pid, int sig); };」を入れる (2箇所)
/usr/local/bsvc/src/sim68000/devices/M68681.cxx, /usr/local/bsvc/src/sim68360/devices/M68681.cxx
インストール手順
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 package のインストール 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のインストール先を変更する. # cp Makefile.Linux Makefile は未チェック cp Makefile.Linux Makefile 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
次にインストールを実行する. このスクリプトはlib以下を/usr/local/lib に,bin以下を/usr/local/binにコピーします.
cd m68k-5.0 ./install.sh
次に /usr/loca/bin/m68k-emu ファイルを開き, 「exec /usr/local/bin/wish -f /usr/local/bin/UI/bsvc.tk」 と表記されている行は、インストールした tk のバージョンにあわせて、適切 に設定して下さい
例えば、「exec /usr/local/bin/wish8.4 -f /usr/local/bin/UI/bsvc.tk」の ように変更して下さい。
xterm(kterm)のウィンドウを開きなおしてm68k-as,m68k-emuが実行できることを確認します.
お断り
この Web ページは,68000アセンブラ基礎実験,ソフトウェア実験で使用するツール を,自宅のパソコンに整備する方法を説明するために作製しました.
この Web ページに関する質問について
金子邦彦研究室構成員以外の方からの質問に関して,個別にお答えするこ とはできませんのでご了承ください