SH4用のパッケージを作ってみよう

クロス開発環境を構築して,そこでパッケージを作ってもいいし,LANDISKのSH4の非力さを考えるとそちらのほうが最終的には早いんだろうけど,せっかくgccがあるんだし,低騒音・低消費電力・24H稼動の強みを活かして,LANDISK自身に夜なべでパッケージをbuildしてもらうことにした.電源を入れて翌日には24Hこき使われるなんて,うちのLANDISKってば不幸.

まずは下準備.apt-getでソースパッケージを取得できるように/etc/apt/sources.listを編集する.バイナリパッケージ用のDODESのサイトを含め,こんな感じ.

deb http://debian.dodes.org/debian sid main non-free contrib
deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian sid main contrib non-free
deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian-jp sid-jp main contrib non-free

deb-srcの行の"sid"はお好みに合わせてstableでもtestingでもお好きなように.

あとは,apt-get updateでパッケージDBを更新したあと,

  1. apt-get source hogehoge で,hogehogeのソースパッケージを取ってくる.
  2. hogehoge-X.Y というディレクトリ(X,Yは適当な数字)ができるので,そこに移動.
  3. おもむろにdpkg-buildpackage -rfakerootと入力してパッケージをビルド.(rootの場合は -rfakeroot は不要.こわいけど)
  4. これだけで,運がよければ親ディレクトリにhogehogeのパッケージができているので,それを dpkg -i でインストール.

このとき,GNU screenを用いて上記の手順を実施すれば,時間がかかるビルドの途中で端末の接続を切ったり繋ぎ戻したりが自在にできてとても便利.screenの使い方はてきとーにぐぐれば見つかります.

ただし,昨日書いたように chroot 環境の /dev/pts に devpts fs を mount しておかないと,screen が起動できないので注意のこと.