-->

2011-06-30

クロスコンパイル

http://www.gentoo.org/proj/en/base/embedded/cross-development.xml

参考URLの内容でコンパイルできた。大体下記のような作業を行った。
crossdevをインストールする。distcc用の作業を1回以上行っていると必要なファイルが作成されているかもしれない。
/usr/powerpc-unknown-linux-gnu/etc/make.profileにリンクを貼る。
/usr/powerpc-unknown-linux-gnu/etc/portage/make.conf の CFLAGS に "-mcpu=603e -Os" を追加。
xmergeのスクリプトファイルをコピーして実行する。

sl, lv などを -B などでコンパイルして -K などでインストールする。
バージョンを指定しないとテスト版を作成している場合あり。(make.conf の ACCEPT_KEYWORDS="ppc ~ppc")
### 作成サーバー。
$ sudo sh ~/bin/xemerge --oneshot -avt -B net-misc/telnet-bsd
### インストールサーバー。
$ sudo emerge --oneshot -avt -K net-misc/telnet-bsd

/usr/portage/packagesはnfsなどでファイルを読める状態にする。もしくはファイルをコピーする。
$ mount|grep /usr/portage/packages
192.168.0.100:/usr/powerpc-unknown-linux-gnu/packages on /usr/portage/packages type nfs4 (rw,addr=192.168.0.100,clientaddr=192.168.0.150)

一部無理だった。
eix (cross comple error)
munin (/usr/lib => /usr/lib64)

作れないのがあるようなので、依存パッケージやバージョンも含めて手動で作成であれば使えそう。
作成できないだけなら良いが、間違った状態で作成に成功する場合があるので試しに使うだけにする。
なにか設定がさらに必要かもしれない。

0 件のコメント: