2009年08月12日


広告


Ubuntu 9.04 に PSP開発環境である psptoolchain をインストールする

まずはPSPの開発環境を構築してみましょう。インストールするOSはUbuntu 9.04。
Linuxに関する細かいことは、別サイト「Linux入門はじめますた」で解説していきたい。

まず以下のサイトにたどり着きました。
http://www7.atwiki.jp/pspprogram/

ふむふむ、subversionでsvn://svn.pspdev.org/psp/trunk/psptoolchainを落としてきて、psptoolchain/toolchain.shを実行すればokのようです。

では、ざっとsubversionのrepositoryをWeb経由で眺めてみましょう。
以下のアドレスにアクセスしてみます。
http://svn.pspdev.org/

[psp]->[trunk]->[psptoolchain]の順にたどっていきます。
2009/08/12現在のrevisionは2469。

お、psptoolchain/readme-ubuntu.txtというドキュメントがありますね。

## Install the required packages.
sudo apt-get install build-essential autoconf automake bison flex \
libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev \
libmpfr-dev subversion gcc-4.2

## Set up the environment.
gedit ~/.bashrc

## Add these lines to the end of the file.
export PSPDEV="/usr/local/pspdev"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"

## Load the environment changes.
source ~/.bashrc

## Build and install the toolchain + sdk.
sudo ./toolchain-sudo.sh

これを見ながらインストール作業を行えばよさそうです。

まずは、作業ディレクトリを作り、そのディレクトリに移動します。


hissorii@ubuntu-vb:~$ mkdir tmp; cd tmp
hissorii@ubuntu-vb:~/tmp$

次にtoolchainのリポジトリを取得します。

hissorii@ubuntu-vb:~/tmp$ svn co svn://svn.pspdev.org/psp/trunk/psptoolchain
プログラム 'svn' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt-get install subversion
bash: svn: command not found
hissorii@ubuntu-vb:~/tmp$

あー、そうですか、ご親切にどうも。ということで指示に従いsubversionのパッケージを入れます。

hissorii@ubuntu-vb:~/tmp$ sudo apt-get install subversion
[sudo] password for hissorii:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic
これらを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
libapr1 libaprutil1 libmysqlclient15off libneon27-gnutls libpq5 libsvn1
mysql-common
提案パッケージ:
subversion-tools db4.6-util patch
以下のパッケージが新たにインストールされます:
libapr1 libaprutil1 libmysqlclient15off libneon27-gnutls libpq5 libsvn1
mysql-common subversion
アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 0 個。
3572kB のアーカイブを取得する必要があります。
この操作後に追加で 11.8MB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com jaunty-updates/main libapr1 1.2.12-5ubuntu0.1 [109kB]
取得:2 http://jp.archive.ubuntu.com jaunty-updates/main mysql-common 5.1.30really5.0.75-0ubuntu10.2 [62.9kB]
(以下略)

svnコマンドが使えるようになったので、再度checkoutを試みます。checkoutが終わったら、psptoolchainディレクトリに移動してみます。

hissorii@ubuntu-vb:~/tmp$ svn co svn://svn.pspdev.org/psp/trunk/psptoolchain
A psptoolchain/toolchain-sudo.sh
A psptoolchain/depends
A psptoolchain/depends/check-gcc.sh
A psptoolchain/depends/check-texinfo.sh
A psptoolchain/depends/check-make.sh
A psptoolchain/depends/check-autoconf.sh
A psptoolchain/depends/check-flex.sh
A psptoolchain/depends/check-patch.sh
A psptoolchain/depends/check-subversion.sh
A psptoolchain/depends/check-pspdev.sh
A psptoolchain/depends/check-ncurses.sh
A psptoolchain/depends/check-gmp.sh
A psptoolchain/depends/check-readline.sh
A psptoolchain/depends/check-mpfr.sh
A psptoolchain/depends/check-automake.sh
A psptoolchain/depends/check-wget.sh
A psptoolchain/depends/check-bison.sh
A psptoolchain/patches
A psptoolchain/patches/newlib-1.16.0-PSP.patch
A psptoolchain/patches/gdb-6.8-PSP.patch
A psptoolchain/patches/insight-6.4-PSP.patch
A psptoolchain/patches/binutils-2.16.1-PSP.patch
A psptoolchain/patches/gcc-4.3.2-PSP.patch
A psptoolchain/scripts
A psptoolchain/scripts/003-pspsdk-stage1.sh
A psptoolchain/scripts/007-gdb-6.8.sh
A psptoolchain/scripts/001-binutils-2.16.1.sh
A psptoolchain/scripts/006-pspsdk-stage2.sh
A psptoolchain/scripts/002-gcc-4.3.2-stage1.sh
A psptoolchain/scripts/008-insight-6.4.sh
A psptoolchain/scripts/009-psplinkusb.sh
A psptoolchain/scripts/004-newlib-1.16.0.sh
A psptoolchain/scripts/005-gcc-4.3.2-stage2.sh
A psptoolchain/toolchain.sh
A psptoolchain/readme-ubuntu.txt
A psptoolchain/readme.txt
U psptoolchain
リビジョン 2469 をチェックアウトしました。
hissorii@ubuntu-vb:~/tmp$ cd psptoolchain
hissorii@ubuntu-vb:~/tmp/psptoolchain$

とういことで、checkoutは完了しました。

あとは、readme-ubuntu.txtの指示に従ってみます。

まず、必要なパッケージのインストールから。subversion既に入れたけどまぁ気にしない。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ sudo apt-get install build-essential autoconf automake bison flex libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev libmpfr-dev subversion gcc-4.2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、libreadline-dev の代わりに libreadline5-dev を選択します
subversion はすでに最新バージョンです。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic
これらを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
autotools-dev cpp-4.2 dpkg-dev g++ g++-4.3 gcc-4.2-base libgmpxx4ldbl
libreadline5-dev libstdc++6-4.3-dev m4 patch
提案パッケージ:
autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc libtool
gettext bison-doc gcc-4.2-locales debian-keyring g++-multilib
g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg gcc-4.2-multilib
libmudflap0-4.2-dev gcc-4.2-doc libgcc1-dbg libgomp1-dbg libmudflap0-dbg
libgmp3-doc libstdc++6-4.3-doc diff-doc texinfo-doc-nonfree texlive-base
texlive-generic-recommended texlive-latex-base
推奨パッケージ:
libstdc++-dev
以下のパッケージが新たにインストールされます:
autoconf automake autotools-dev bison build-essential cpp-4.2 dpkg-dev flex
g++ g++-4.3 gcc-4.2 gcc-4.2-base libgmp3-dev libgmpxx4ldbl libmpfr-dev
libncurses5-dev libreadline5-dev libstdc++6-4.3-dev libusb-dev m4 patch
texinfo
アップグレード: 0 個、新規インストール: 22 個、削除: 0 個、保留: 0 個。
14.5MB のアーカイブを取得する必要があります。
この操作後に追加で 47.4MB のディスク容量が消費されます。
続行しますか [Y/n]? y
(以下略)

次に~/.bashrcに環境変数の設定をする。readme-ubuntu.txtではgeditというエディタを使っていますが、何でもよいですので、~/.bashrcの最下行に以下の3行を追加します。

export PSPDEV="/usr/local/pspdev"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"

私は普通にviを使いましたが、viを使ったことがない人は必ずはまると思うのでgedit ~/.bashrcでよいと思います。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ vi ~/.bashrc

念のため~/.bashrcの最下行を確認。大丈夫そうです。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ tail -8 ~/.bashrc
. /etc/bash_completion
fi

##### for psptoolchain
export PSPDEV="/usr/local/pspdev"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"

hissorii@ubuntu-vb:~/tmp/psptoolchain$

次に、~/.bashrcをbashに再読み込みさせます。
このコマンドはこれ以降bashを起動するたびに自動的に読み込まれますので、今回のみでよいです。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ source ~/.bashrc

大丈夫だと思いますが、念のため環境変数が正しく設定されたか確認しておきます。
PATHに関しては、もともとの環境によって変わる可能性があります。PATHの最後に/usr/local/pspdev/bin:/usr/local/pspdev/psp/sdk/binがあれば大丈夫です。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ echo $PSPDEV, $PSPSDK, $PATH
/usr/local/pspdev, /usr/local/pspdev/psp/sdk, /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/pspdev/bin:/usr/local/pspdev/psp/sdk/bin
hissorii@ubuntu-vb:~/tmp/psptoolchain$

では、toolchainスクリプトを実行しましょう。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ sudo ./toolchain-sudo.sh

ここからごりごりとソース取得、パッチあて、コンパイルと行うのでかなり時間がかかります。

で、しばらく放置しておいたら終わっていました。
おおよそ1時間弱で終わったようです。

作業ディレクトリと実際に作成された/usr/local/pspdevのサイズは

hissorii@ubuntu-vb:~/tmp/psptoolchain$ du -hs .
966M .
hissorii@ubuntu-vb:~/tmp/psptoolchain$ du -hs /usr/local/pspdev/
170M /usr/local/pspdev/
hissorii@ubuntu-vb:~/tmp/psptoolchain$

となり、それぞれ1GB弱、170MBとなりました。作業ディレクトリの方はとりあえず使わないので削除して構いません。
作業ディレクトリ中にもroot権限で作成されたファイルがあるようで、一般ユーザ権限では全て消せないので、sudoをつけてください。くれぐれも変なところを削除しないように注意してください。

hissorii@ubuntu-vb:~/tmp/psptoolchain$ cd ..
hissorii@ubuntu-vb:~/tmp$ pwd
/home/hissorii/tmp
hissorii@ubuntu-vb:~/tmp$ sudo rm -rf psptoolchain/
hissorii@ubuntu-vb:~/tmp$

ふぅ、とりあえずおしまい。
次回は実際にサンプルをmakeして動作テストをしてみたいと思います。


posted by ひっそりぃ at 2009/08/12 23:21 | Comment(1) | TrackBack(0) | 開発環境 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
sudo: ./toolchain-sudo.sh: command not found
と出てしまうのですが、どうすればよろしいでしょうか?
教えていただけたら幸いでございます。
Posted by 初心者 at 2011年01月07日 11:16
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。