メッセージ。 - diary
2008-01-23
# ARM用クロスコンパイル環境の構築
いやー。クロスコンパイル環境の構築、けっこう大変だった。
ネットとかに情報が少なくて、ちょっとした間違いで進まないところがたくさんあったので、試行錯誤してうまくいったパスをメモしてみる。
参考になったリンク
クロスコンパイル/kuro-box
http://www.ki.nu/software/cross-compile/kuro-box.html
ARM gcc バッドノウハウ集: EABI と legacy ABI
http://jr0bak.homelinux.net/~imai/linux/arm_gcc_badknowhow/arm_gcc_badknowhow-8.html
ネットとかに情報が少なくて、ちょっとした間違いで進まないところがたくさんあったので、試行錯誤してうまくいったパスをメモしてみる。
- 基本的に、http://www.mit.msn.to/zaurus/gcc3.html を参考に作業を進める。ドキュメンテーションがしっかりしていて分かりやすいから。
- linux-headers-arm-sa1100-2.4.6-3.i386.rpmとglibc-arm-2.2.2-0.i386.rpmをインストールするところは同じ。上記のファイルをダウンロードした後、debianの場合はalien *.rpmとしてrpmをdebに変換し、dpkg -i *.debとする。
- 次に、インストール先を/usr/local以下に変更する。sudo mv /opt/Embedix/tools/arm-linux /usr/local/arm/実行。
- binutilsのコンパイルは書いてあるとおりでオーケー。ただし、rootユーザーになってコマンドを実行する必要があるっぽい。make installだけsudoで実行しようとすると失敗したような気がする。これはgccのコンパイル工程だっけか。
- 上記ドキュメントとは違って今回はTitchy用なので、Linux 2.6.20をコンパイルする。
- GCCのコンパイル工程もほとんど同じだけど、注意点が4つ。
- 注意点1:コンパイル時の追加パスについて。上記ドキュメントでは「export PATH=/usr/local/arm:$PATH」と書かれているけど、ここは「export PATH=/usr/local/arm/bin:$PATH」が正しいはず。あとbinutilsと同じようにroot権限でコマンドを実行する必要がある。
- 注意点2:環境変数を2つ設定する。「export ARCH=arm; export CROSS_COMPILE=arm-linux-」
- 注意点3:Linux 2.6.20をARM用にコンパイルするには、GCC 4系統を使用する必要がある。というか、正確にいうとARMはABI(Application Binary Interface)を切り替えられるようになっていて、EABIを使うかLegacy ABIを使うかでGCC 4必須かどうかが変わってくる。Titchyの場合はEABIを使っているようだったので、今回はGCC 4をインストールした。
- 注意点4:手元の環境では、実際にgcc 4をmakeしようとすると、「sigthread.h:36: error: storage class specified for parameter `type name'」などといったエラーメッセージが出た。pthreads関連のヘッダファイルの内容に不整合があるっぽい。ということで、ヘッダファイル2個所を変更した。/usr/local/arm/arm-linux/include/bits/sigthread.hと/usr/local/arm/arm-linux/include/pthread.h。変更内容は下記参考になったリンクの「クロスコンパイル/kuro-box」を参照。
参考になったリンク
クロスコンパイル/kuro-box
http://www.ki.nu/software/cross-compile/kuro-box.html
ARM gcc バッドノウハウ集: EABI と legacy ABI
http://jr0bak.homelinux.net/~imai/linux/arm_gcc_badknowhow/arm_gcc_badknowhow-8.html
2008-01-22
# 「プログラミングGauche」出版記念 第2回gauche.night
gauche.night:プレスリリース
http://practical-scheme.net/wiliki/wiliki.cgi?gauche.night%3a%e3%83%97%e3%83%ac%e3%82%b9%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9
すばらしい! 今度こそ、ぜひぜひぜひぜひ、参加したいです。
http://practical-scheme.net/wiliki/wiliki.cgi?gauche.night%3a%e3%83%97%e3%83%ac%e3%82%b9%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9
すばらしい! 今度こそ、ぜひぜひぜひぜひ、参加したいです。
# Zaurus SL-C3000系のマイクロドライブを換装
Zaurus SL-C3000のOSを入れ替えちゃえ!と思い立って、どうせなら内蔵のマイクロドライブをCF(コンパクトフラッシュ)に換装したくなった。最近CFが安いみたいで16GBが1万7千円ぐらいだから。それで先週末に秋葉原に行ってCFを買ってきて、さっそくZaurusの箱を開けて換装してみた。けっこうドキドキしながら作業したけど、一応作業は成功。フレキシブルケールのコネクタを一部破損して涙目になったけど、致命傷ではなかったみたい(結果論からいえば、マイクロドライブを交換するのにフレキシブルケーブルは外す必要がなかったし、小さすぎて自分には外すことができそうになかった)。あと、銅箔をハンダごてで溶かして外すところが1個所あって、そこをミスしてしまったので銅箔が一部切断されてしまっている。ただ、銅箔が切断された状態でZaurusは一応起動して各デバイスを認識もしている模様。あとでハンダ付けして詳しく動作確認すること。>自分。
それで今は、一応ハードウェア的には換装が成功してるっぽいのだけどOSがCFを認識しなくって、Titchyの再インストールができていない状態。CFの16GBをLinuxカーネルが認識しないのだけど、これはide-cs.cの中にmanfidが直接書き込まれていて、最近のデバイスに追従していないため。Titchyをインストールするには、たぶんide-cs.cにパッチをあててカーネルをコンパイルしなおす必要がある。で、いまはクロスコンパイル環境を整えているところ。
いろいろ参考になったリンク
SL-C3000分解
http://www.ayati.com/kobako/c3bara.htm
Linuxザウルス開発メモ/ハードウェア/C3000HDD換装 - Walrus, Visit.
http://digit.que.ne.jp/visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%B3%AB%C8%AF%A5%E1%A5%E2%2F%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2%2FC3000HDD%B4%B9%C1%F5
Titchy On Internal 16gb Cf Microdrive Replacement (3200) - OESF Forums
http://www.oesf.org/forum/index.php?showtopic=24944
Sharp PDA SL シリーズのページ
http://www.h5.dion.ne.jp/~rimemoon/zaurus/memo_010.htm
クロスコンパイラとして GCC 3.X を使用する
http://www.mit.msn.to/zaurus/gcc3.html
たたかうデジタリアン - XScale なコードを吐くコンパイラを手に入れる
http://www.t12.jp/~ryuta/rwiki/rw-cgi.rb?cmd=view;name=XScale+%A4%CA%A5%B3%A1%BC%A5%C9%A4%F2%C5%C7%A4%AF%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9%A4%F2%BC%EA%A4%CB%C6%FE%A4%EC%A4%EB
それで今は、一応ハードウェア的には換装が成功してるっぽいのだけどOSがCFを認識しなくって、Titchyの再インストールができていない状態。CFの16GBをLinuxカーネルが認識しないのだけど、これはide-cs.cの中にmanfidが直接書き込まれていて、最近のデバイスに追従していないため。Titchyをインストールするには、たぶんide-cs.cにパッチをあててカーネルをコンパイルしなおす必要がある。で、いまはクロスコンパイル環境を整えているところ。
いろいろ参考になったリンク
SL-C3000分解
http://www.ayati.com/kobako/c3bara.htm
Linuxザウルス開発メモ/ハードウェア/C3000HDD換装 - Walrus, Visit.
http://digit.que.ne.jp/visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%B3%AB%C8%AF%A5%E1%A5%E2%2F%A5%CF%A1%BC%A5%C9%A5%A6%A5%A7%A5%A2%2FC3000HDD%B4%B9%C1%F5
Titchy On Internal 16gb Cf Microdrive Replacement (3200) - OESF Forums
http://www.oesf.org/forum/index.php?showtopic=24944
Sharp PDA SL シリーズのページ
http://www.h5.dion.ne.jp/~rimemoon/zaurus/memo_010.htm
クロスコンパイラとして GCC 3.X を使用する
http://www.mit.msn.to/zaurus/gcc3.html
たたかうデジタリアン - XScale なコードを吐くコンパイラを手に入れる
http://www.t12.jp/~ryuta/rwiki/rw-cgi.rb?cmd=view;name=XScale+%A4%CA%A5%B3%A1%BC%A5%C9%A4%F2%C5%C7%A4%AF%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9%A4%F2%BC%EA%A4%CB%C6%FE%A4%EC%A4%EB
2008-01-18
# Zaurus SL-C3000系にインストールできるDebian GNU/Linux
ここ数日、Zaurus SL-C3000系にインストールできるDebian GNU/Linux「Titchy」のインストールを試みています。インストールプロセスはまだ不安定で、何回か試行錯誤が必要なようだけど、ネイティブDebian GNU/LinuxがZaurusに入れられるのはすごく魅力的。まだ実用環境を作ることができていないのだけど、いまのところ分かっていることをメモ。
- CFタイプのAIR-ADGEカード(AX420N)が使えない。Unknown symbol serial8250_unregister_portと出るので、serial_csのinsmodで失敗しているっぽい。要調査
- CFタイプの有線LANカードが使える(Buffaloの10Mbpsのやつ。LPC-CF-CLT。使えるというか、インストールに必要)
- SDカードにインストーラファイルを入れなければいけない(CFに入れるとダメ)
- ZaurusのUSBポートを使って母艦と「ネットワーク接続」ができる。実用に足るレベルで(追記:Linuxの母艦につなぐといいんだけど、Windowsの母艦につなぐとNG。ドライバを認識できないと出る)。「ストレージ接続」はまだダメみたい
- インストールプロセスの途中で、locale関係の不具合が発生する場合がある。これを避けるため、englishでインストールすると良い
- インストール時だけ、rootのパスワードはアルファベットのみにしたほうがよい。キーマップが変で記号の入力が難しいため
- 英語で面倒だけど本家のページ(http://wiki.neilandtheresa.co.uk/Titchy_Linux)はちゃんと読むべき。必要な情報が書いてある。
- Xを起動すると初回はマウスポインタをキャリプレーションする。ただ、自分はこのキャリブレーションに2回失敗して、キャリブレーションをやりなおしたいのだけどどうすれば良いか分からず困った。キャリブレーションをやり直すには、/etc/ts.confを一度削除すればよい。(Touch Screen conf)
- 右クリックはシフトキーを押しながら画面をタップ
- 一般ユーザーではstartxできない。要追加調査
とりあえずここまで。
- CFタイプのAIR-ADGEカード(AX420N)が使えない。Unknown symbol serial8250_unregister_portと出るので、serial_csのinsmodで失敗しているっぽい。要調査
- CFタイプの有線LANカードが使える(Buffaloの10Mbpsのやつ。LPC-CF-CLT。使えるというか、インストールに必要)
- SDカードにインストーラファイルを入れなければいけない(CFに入れるとダメ)
- ZaurusのUSBポートを使って母艦と「ネットワーク接続」ができる。実用に足るレベルで(追記:Linuxの母艦につなぐといいんだけど、Windowsの母艦につなぐとNG。ドライバを認識できないと出る)。「ストレージ接続」はまだダメみたい
- インストールプロセスの途中で、locale関係の不具合が発生する場合がある。これを避けるため、englishでインストールすると良い
- インストール時だけ、rootのパスワードはアルファベットのみにしたほうがよい。キーマップが変で記号の入力が難しいため
- 英語で面倒だけど本家のページ(http://wiki.neilandtheresa.co.uk/Titchy_Linux)はちゃんと読むべき。必要な情報が書いてある。
- Xを起動すると初回はマウスポインタをキャリプレーションする。ただ、自分はこのキャリブレーションに2回失敗して、キャリブレーションをやりなおしたいのだけどどうすれば良いか分からず困った。キャリブレーションをやり直すには、/etc/ts.confを一度削除すればよい。(Touch Screen conf)
- 右クリックはシフトキーを押しながら画面をタップ
- 一般ユーザーではstartxできない。要追加調査
とりあえずここまで。
# 明言だw すばらしい。
はてなブックマーク - hamasta's bookmark 〜はてなの付加価値の本丸はブックマーク〜 / 2008年01月15日
http://b.hatena.ne.jp/hamasta/20080115#bookmark-7089320
http://b.hatena.ne.jp/hamasta/20080115#bookmark-7089320
ブックマーク、言及、それは自分の参照カウンタが1増えること、参照カウンタがゼロにならなければ、自分というオブジェクトは存在し続けることができる。自分が自分を好きならば、参照カウンタはゼロにならないよ!
2008-01-10
# momoka.cgiを仕様変更したい
momoka.cgiを仕様変更したいとずっと思っているのだけど、いまいち踏ん切りがつかない。去年は「dmf」というユーザー登録型のシステムなんかを作ってみたけど、心理的コストが大きくて乗り換えに失敗した。どうしようなぁ。
ところで(てくるで)、momoka.cgiの特徴の1つは、データがS式の形で保存されていることだ。通常のWebインターフェースで日々の更新やコメント投稿などができる以外に、裏口としてS式を直接編集する機能が、(管理者に対して)提供されている。
なぜこうなっているかというと、一言でいうならスパム対策のためにこうなっている。スパムコメントなどが投稿されたときに、そういった投稿自体が存在しなかったかのごとく、データをメタに編集する仕組みが必要だと考えたので、上記の仕様を採用した。
言うなればS式編集は、管理者がなんでもできるバックドア。で、実際にスパムが多い(少なくともゼロではない)現状において、この機能は大変重宝したといってよいだろう。とりあえずここまで。
ところで(てくるで)、momoka.cgiの特徴の1つは、データがS式の形で保存されていることだ。通常のWebインターフェースで日々の更新やコメント投稿などができる以外に、裏口としてS式を直接編集する機能が、(管理者に対して)提供されている。
なぜこうなっているかというと、一言でいうならスパム対策のためにこうなっている。スパムコメントなどが投稿されたときに、そういった投稿自体が存在しなかったかのごとく、データをメタに編集する仕組みが必要だと考えたので、上記の仕様を採用した。
言うなればS式編集は、管理者がなんでもできるバックドア。で、実際にスパムが多い(少なくともゼロではない)現状において、この機能は大変重宝したといってよいだろう。とりあえずここまで。
# 古代ローマと民主主義
年始に古代ローマを扱ったドキュメンタリのテレビ番組を見たんだけど、あれは面白かったなぁ。塩野七生さん監修のやつ。
あれを見て思ったのは、なんと古い昔から、幾世代にも渡って民主主義を手作りしてきたのかということ。番組中何人もの偉人が紹介されていたけど、そこに紹介されなかった人や、名前しか出てこなかった人の時代にも、幾星霜の人々が民主主義の文化を育んでいることを思って感慨深いものを感じた。
そしてそう感じることで一方、古代ローマ以外の文化圏に、民主主義を安易に導入することに合理性はあるのか?と訝しくもなった。民主主義は、古代ローマという千年の帝国をもってしてローマとその周辺地域に哲学的レベルで政治文化という花を根付かせた。それをよそに植え替えることは、けっこう難しいんじゃなかろうか。またそれが正しいことなのかも分からない。
あれを見て思ったのは、なんと古い昔から、幾世代にも渡って民主主義を手作りしてきたのかということ。番組中何人もの偉人が紹介されていたけど、そこに紹介されなかった人や、名前しか出てこなかった人の時代にも、幾星霜の人々が民主主義の文化を育んでいることを思って感慨深いものを感じた。
そしてそう感じることで一方、古代ローマ以外の文化圏に、民主主義を安易に導入することに合理性はあるのか?と訝しくもなった。民主主義は、古代ローマという千年の帝国をもってしてローマとその周辺地域に哲学的レベルで政治文化という花を根付かせた。それをよそに植え替えることは、けっこう難しいんじゃなかろうか。またそれが正しいことなのかも分からない。
2007-12-31
# 大阪すごいなぁ
帰省して大阪の街を歩いているのだけど、
大阪すごいなぁ東京や横浜とずいぶん違うなぁと感じた。
たとえば今日、ビックカメラに行こうと難波のあたりを歩いていたのだけど、
サンマルクの系列?の普通のカレー屋さんがあって、まぁ小綺麗な普通の
カレー屋さんなわけ。「お、こんなカレー屋さんいいなぁ」
(横浜はカレー屋さんが少ないので)なんて思って前を通りすぎようとしたら、
びっこを引いた男の人(30歳代ぐらいの人)が歩いてきて、
そのカレー屋さんに入った。なんかねぇ。その光景が新鮮で。
まず東京や横浜だと、びっこを引いた男の人ってほとんど見ない気がする。
難波と言ったら、大阪の中心に近い場所で十分な都会なわけなんだよね。
そういう綺麗な場所で、びっこを引いた30歳代ぐらいの男の人ってのが
普通の綺麗なお店に入るというのは、不思議な感じ。
たとえば東京で、キモオタが普通の店に入ることって、けっこう憚られる
感じがするのだけど、大阪ではそもそも、街全体に「はばかられる感じ」が
少ないのかなぁと思った。
よく見てみると、街を歩いている人たちの風体に生活感が感じられて、
小綺麗な格好をしている人というのは、決して多数派ではない。
でも別に、そういった小綺麗でない格好がはばかられるわけではなくて、
普通に街の中に溶け込んでる。
そういうような感じは、東京や横浜ではあまりないような気がする。
あと、その後で家の近所まで帰ってきてすき家に入ったのだけど、
そこでもちょっと変わった光景を目にした。
それも40歳ぐらいかなぁ、くたびれた感じのおばさんがお客として来ていて、
店員に対してなんかゴニョゴニョ話してる。店員さんはその人の言葉がよく
分からないようで、手振りを交えながら「オーケー」とか言っていた。
「外人さんなのかなぁ」と思っていたら、
そのおばさんはしつこくゴニョゴニョゴニョゴニョ店員さんに声をかける。
大晦日でバイトの手が足りないのだろう。そのときお店には1人しか店員さんが
いなくて、お客がなんにんか待っているので、その人につきっきりになるわけには
いかない。
なのにそのおばさんは、ゴニョゴニョゴニョゴニョ話しかける。
店員さんもほかのお客さんも、「この人はどんな人で、何を言おうとしているのか」と
いぶかしがっていた。それでそのゴニョゴニョ言っているのを聞くともなしに
聞いてみると、どうもそのおばさんは日本人だけど耳が聞こえないらしい。
耳が聞こえないけど、つたないながらも言葉を話すことができるおばさん。
抑揚や切れ目のない言葉に耳を傾けてみると、持ち帰りで○○を、いま店内で
××を食べたい、などと言ってるみたい。しかもサラダも付けてくれとか、
自分が先に来たのになかなか食事が出てこないとか、そういうことを
言っているらしいことが分かった。
店員さんも偉くって、若いのにじっと相手の顔を見て手振りを見て、
戸惑いながらも何を言おうとしているのか理解し、また店員として
お客さんの要求にきちんと答えようとしていた。
なにしろ店員さんが1人しかいないので(途中で2人に増えたけど)、
そこにいるお客さんたちはみな、ちょっと困った場所に来たなぁという顔をしたり、
でもまぁそういうもんだという顔をしたりしながら、食事が出てくるのを待っていた。
ぼくもそういう顔をしながら、牛丼を待って、店内の備え付けをじっと見たりして
時間を過ごしていたのだけど。
正直なところ、そんなおばさんなんて、厄介なことこのうえないわけだよね。
だから普通はかかわりあいになりたくなんてないし、実際東京や横浜にいたら、
かかわりあいにならなくって済む。東京や横浜ではどうしてかかわりあいに
ならなくって済むかというと、それはやっぱり、そういう人を家から出さない人がいて
本人も家から出ないようにしているという現実がある
ということなんじゃないかと思う。
東京や横浜では、そんな風に耳が聞こえないおばさんが、一人でお店に買い物に
来るなんてことはほとんどないんじゃないかな。(下町ではあるかもしれない)
ぼくは行動範囲が狭いので、偏った見方をしているかもしれないけど、
大阪の街をちょっと歩いてみて、一日でそういう出来事に2つも遭遇したので、
驚きのような感じを受けたのでした。
大阪すごいなぁ東京や横浜とずいぶん違うなぁと感じた。
たとえば今日、ビックカメラに行こうと難波のあたりを歩いていたのだけど、
サンマルクの系列?の普通のカレー屋さんがあって、まぁ小綺麗な普通の
カレー屋さんなわけ。「お、こんなカレー屋さんいいなぁ」
(横浜はカレー屋さんが少ないので)なんて思って前を通りすぎようとしたら、
びっこを引いた男の人(30歳代ぐらいの人)が歩いてきて、
そのカレー屋さんに入った。なんかねぇ。その光景が新鮮で。
まず東京や横浜だと、びっこを引いた男の人ってほとんど見ない気がする。
難波と言ったら、大阪の中心に近い場所で十分な都会なわけなんだよね。
そういう綺麗な場所で、びっこを引いた30歳代ぐらいの男の人ってのが
普通の綺麗なお店に入るというのは、不思議な感じ。
たとえば東京で、キモオタが普通の店に入ることって、けっこう憚られる
感じがするのだけど、大阪ではそもそも、街全体に「はばかられる感じ」が
少ないのかなぁと思った。
よく見てみると、街を歩いている人たちの風体に生活感が感じられて、
小綺麗な格好をしている人というのは、決して多数派ではない。
でも別に、そういった小綺麗でない格好がはばかられるわけではなくて、
普通に街の中に溶け込んでる。
そういうような感じは、東京や横浜ではあまりないような気がする。
あと、その後で家の近所まで帰ってきてすき家に入ったのだけど、
そこでもちょっと変わった光景を目にした。
それも40歳ぐらいかなぁ、くたびれた感じのおばさんがお客として来ていて、
店員に対してなんかゴニョゴニョ話してる。店員さんはその人の言葉がよく
分からないようで、手振りを交えながら「オーケー」とか言っていた。
「外人さんなのかなぁ」と思っていたら、
そのおばさんはしつこくゴニョゴニョゴニョゴニョ店員さんに声をかける。
大晦日でバイトの手が足りないのだろう。そのときお店には1人しか店員さんが
いなくて、お客がなんにんか待っているので、その人につきっきりになるわけには
いかない。
なのにそのおばさんは、ゴニョゴニョゴニョゴニョ話しかける。
店員さんもほかのお客さんも、「この人はどんな人で、何を言おうとしているのか」と
いぶかしがっていた。それでそのゴニョゴニョ言っているのを聞くともなしに
聞いてみると、どうもそのおばさんは日本人だけど耳が聞こえないらしい。
耳が聞こえないけど、つたないながらも言葉を話すことができるおばさん。
抑揚や切れ目のない言葉に耳を傾けてみると、持ち帰りで○○を、いま店内で
××を食べたい、などと言ってるみたい。しかもサラダも付けてくれとか、
自分が先に来たのになかなか食事が出てこないとか、そういうことを
言っているらしいことが分かった。
店員さんも偉くって、若いのにじっと相手の顔を見て手振りを見て、
戸惑いながらも何を言おうとしているのか理解し、また店員として
お客さんの要求にきちんと答えようとしていた。
なにしろ店員さんが1人しかいないので(途中で2人に増えたけど)、
そこにいるお客さんたちはみな、ちょっと困った場所に来たなぁという顔をしたり、
でもまぁそういうもんだという顔をしたりしながら、食事が出てくるのを待っていた。
ぼくもそういう顔をしながら、牛丼を待って、店内の備え付けをじっと見たりして
時間を過ごしていたのだけど。
正直なところ、そんなおばさんなんて、厄介なことこのうえないわけだよね。
だから普通はかかわりあいになりたくなんてないし、実際東京や横浜にいたら、
かかわりあいにならなくって済む。東京や横浜ではどうしてかかわりあいに
ならなくって済むかというと、それはやっぱり、そういう人を家から出さない人がいて
本人も家から出ないようにしているという現実がある
ということなんじゃないかと思う。
東京や横浜では、そんな風に耳が聞こえないおばさんが、一人でお店に買い物に
来るなんてことはほとんどないんじゃないかな。(下町ではあるかもしれない)
ぼくは行動範囲が狭いので、偏った見方をしているかもしれないけど、
大阪の街をちょっと歩いてみて、一日でそういう出来事に2つも遭遇したので、
驚きのような感じを受けたのでした。